Virtual Radar Simulations for Interior Sensing Master’s thesis in Information and Communication Technology SURYA NAGA MARUTHI RAMYA MALLIPUDI VENKATA SATYA DEPARTMENT OF ELECTRICAL ENGINEERING CHALMERS UNIVERSITY OF TECHNOLOGY Gothenburg, Sweden 2024 www.chalmers.se www.chalmers.se Master’s thesis 2024 Virtual Radar Simulations for Interior Sensing A Master of Science thesis in the Information and Communication Technology Master’s Programme SURYA NAGA MARUTHI RAMYA MALLIPUDI VENKATA SATYA Department of Electrical Engineering Chalmers University of Technology Gothenburg, Sweden 2024 Virtual Radar Simulations for Interior Sensing A Master of Science thesis in the Information and Communication Technology Mas- ter’s Programme (MPICT) SURYA NAGA MARUTHI RAMYA MALLIPUDI VENKATA SATYA © SURYA NAGA MARUTHI RAMYA MALLIPUDI VENKATA SATYA, 2024. Supervisor: Filip Johansson, Volvo Cars Examiner: Prof Vessen Vassilev, Department of Microtechnology and Nanoscience Master’s Thesis 2024 Department of Electrical Engineering Chalmers University of Technology SE-412 96 Gothenburg iv Virtual Radar Simulationd for Interior Sensing SURYA NAGA MARUTHI RAMYA MALLIPUDI VENKATA SATYA Department of Electrical Engineering Chalmers University of Technology Abstract This master’s thesis investigates the validation of radar simulation data for in-cabin sensing applications, utilizing AVxcelerate by Ansys to replicate and test real radar scenarios virtually. The research primarily focuses on comparing virtual radar read- ings from the simulation environment with real radar measurements gathered in a lab setting, aiming to ensure accuracy and consistency in radar data for future in-cabin safety applications. In this study, a controlled environment was established to min- imize discrepancies between simulated and real-world conditions, with experiments conducted on a single target in two scenarios: stationary and controlled motion. Data from both settings were analyzed to assess the reliability of the simulation for representing real-world radar behavior. The findings contribute foundational in- sights for advancing radar-based occupant monitoring systems, supporting features like driver drowsiness detection and child presence alerts in automotive interiors. Keywords: Radar Simulation Software, Real Radar Sensor, Real Radar Data, Lab Environment, Simulation Environment, Virtual Radar Data, Data Comparison. v Acknowledgements First and foremost, I would like to express my heartfelt gratitude to my manager, Erik Liedholm, for providing me with the invaluable opportunity to work in a field I am deeply passionate about and for enabling me to collaborate with an amazing team. I am especially thankful to my supervisor, Filip Johansson at Volvo Cars, whose expert advice, unwavering support, and guidance were instrumental in the successful completion of this thesis. I am also deeply grateful to my examiner, Prof. Vessen Vassilev, for his timely support, constructive feedback, and encouragement, which were crucial to my progress. Their guidance and insights have been essential to my progress. I would also like to extend special thanks to Stefan Axelsson from Volvo’s Manu- facturing Technology Development team for granting access to the industrial robot, a key component of this thesis, and for his guidance in operating it. My sincere appreciation and gratitude go to Sara Tell from Volvo’s Radar team, whose exper- tise and unwavering support, combined with Prof. Vessen’s expert advice on radar systems, greatly aided me in navigating the radar aspects of this project. I am deeply thankful to Kaustubh Deshmukh from Enabling and Exploration Labs at Volvo and Ranjan Manohar from Chalmers for their assistance with CAD work. Special thanks also go to my brother, Pramod Mallipudi from RWTH Aachen; Arun Maslekar from ABB, Västerås; Abishek Swaminathan from Chalmers; Anand Ja- gadeesh from Volvo for their valuable insights and advice. My heartfelt appreciation extends to the entire Internal Perception team at Volvo Cars for their encouragement, support, and camaraderie, which created an inspir- ing and enjoyable work environment. Every team activity—from lunches to fika to after-work gatherings—made this journey truly memorable. I would also like to express my gratitude to Vinayak Killedar and Mohammed Saif from Ansys for their invaluable support in using Ansys AVx. Additionally, I am grateful to the team at Enabling and Exploration labs at Volvo Cars, Prof. Per Nyqvist, Frederick Rexton, Ravindu Piyapema, Rob Vissers from the Microtechnology and Nanoscience group, as well as Zhaorui Zang from the Antenna Research group at Chalmers for their timely guidance and assistance. Finally, I owe my deepest thanks to my parents and friends, whose unwavering support and encouragement have been the foundation of my success. Surya Naga Maruthi Ramya Mallipudi Venkata Satya, Gothenburg, November 2024 vii List of Acronyms Below is the list of acronyms that have been used throughout this thesis listed in alphabetical order: ACC Adaptive Cruise Control ADC Analog to Digital Converter ADAS Advanced Driver Assistance Systems AEB Automatic Emergency Braking AVx AVxcelerate by Ansys BSD Blind Spot Detection CPI Coherent Processing Interval CW Continuous Wave FCW Forward Collision Warning FMCW Frequency Modulated Continuous Wave Radar IFFT Inverse Fast Fourier Transform LCA Lane Change Assist LiDAR Light Detection and Ranging LRR Long Range Radar MRR Medium Range Radar PDC Park Distance Control PRF Pulse Repetition Frequency PRI Pulse Repetition Interval RADAR Radio Detection and Ranging RCS Radar Cross Section RF Radio Frequency SNR Signal to Noise Ratio SRR Short Range Radar TCP Tool Center Point UHF Ultra High Frequency ULRR Ultra Long Range Radar ix Nomenclature Below is the nomenclature of parameters and variables that have been used in this thesis. Parameters γ Reflectivity σ Radar Cross Section c Speed of Light ϕ Phase ∆ϕ Phase shift τ Pulse Width Pr Received power Pt Transmit power fb Beat frequency fr Range dependent frequency shift fd Doppler frequency shift η Efficiency D Directivity N Noise Power Variables ϵ Relative permittivity f Frequency B Bandwidth v Radial Velocity λ Wavelength xi Gt Gain at transmitter Gr Gain at receiver A Amplitude t Time xii Contents List of Acronyms ix Nomenclature xi List of Figures xv List of Tables xvii 1 Introduction 1 1.1 Automotive Radar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 Aim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2 Theory 3 2.1 RADAR Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 RADAR Classification by detection range . . . . . . . . . . . . . . . . 5 2.3 RADAR Classification by Waveform . . . . . . . . . . . . . . . . . . 8 2.4 Key Radar Principles . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.5 Acconeer A111 Radar Sensor . . . . . . . . . . . . . . . . . . . . . . . 19 2.6 ABB CRB 15000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6.1 Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.7 Wizard Easy Programming . . . . . . . . . . . . . . . . . . . . . . . . 22 2.8 ABB Robotstudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3 Method 27 3.1 Real Radar Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.1.1 Case 1- Stationary Target . . . . . . . . . . . . . . . . . . . . 27 3.1.2 Case 2- Target in Motion . . . . . . . . . . . . . . . . . . . . . 30 3.2 Simulated Radar Data . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2.1 Case 1- Stationary Target . . . . . . . . . . . . . . . . . . . . 36 3.2.2 Case 2- Target in Motion . . . . . . . . . . . . . . . . . . . . . 40 3.2.2.1 Getting ABB CRB 15000 ready for simulation . . . . 41 4 Results 49 4.1 Results from Case 1- Stationary Target . . . . . . . . . . . . . . . . . 49 4.2 Results from Case 2- Target in Motion . . . . . . . . . . . . . . . . . 51 4.2.1 Results using Sparse format . . . . . . . . . . . . . . . . . . . 51 xiii Contents 4.2.2 Results using Envelope format . . . . . . . . . . . . . . . . . . 54 4.2.2.1 Method 1 . . . . . . . . . . . . . . . . . . . . . . . . 54 4.2.2.2 Method 2 . . . . . . . . . . . . . . . . . . . . . . . . 58 5 Conclusion and Future Work 65 5.1 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 Evaluation and Findings . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.3 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Bibliography 69 xiv List of Figures 2.1 Elements of a Basic Radar System [5] . . . . . . . . . . . . . . . . . . 5 2.2 Classification of Radars . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 A111 Radar chipset [4] . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4 A111 functional block diagram [3] . . . . . . . . . . . . . . . . . . . . 20 2.5 ABB CRB 15000 Cobot [8] . . . . . . . . . . . . . . . . . . . . . . . . 22 2.6 Wizard Easy Programming on a controller . . . . . . . . . . . . . . . 24 2.7 Wizard Easy Program Snippet- Multilingual . . . . . . . . . . . . . . 24 3.1 Static Corner Reflector in a Make-shift Anechoic Chamber . . . . . . 29 3.2 Corner Reflector of dimensions 10 cm × 10 cm × 10 cm . . . . . . . 29 3.3 Corner Reflector placed at approximately 23.5 cms from the Radar . 29 3.4 The Corner Reflector and the A111 Radar Sensor . . . . . . . . . . . 30 3.5 Setup for physical measurements for target in motion . . . . . . . . . 31 3.6 Signal Analyzer window from ABB Robotstudio . . . . . . . . . . . . 34 3.7 Corner reflector’s motion in Envelope format . . . . . . . . . . . . . . 35 3.8 Sparse service format [1] . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.9 Corner’s reflector’s motion in Sparse format . . . . . . . . . . . . . . 36 3.10 A111 Sensor parameters in AVx Sensor Labs . . . . . . . . . . . . . . 38 3.11 A111 Sensor parameters in AVx Sensor Labs . . . . . . . . . . . . . . 38 3.12 Sensor Layout for static corner reflector in AVx Sensor Labs . . . . . 39 3.13 Stationary corner reflector in AVx Asset Prep Environment . . . . . . 39 3.14 Static corner reflector as seen by the A111 radar in the simulation . . 40 3.15 Simulation output for stationary reflector . . . . . . . . . . . . . . . . 40 3.16 Joint states of CRB15000 captured by Signal Analyzer . . . . . . . . 41 3.17 ABB CRB 15000 in Blender . . . . . . . . . . . . . . . . . . . . . . . 42 3.18 Local joint angles in a robot arm [11] . . . . . . . . . . . . . . . . . . 43 3.19 A111 sensor’s view in a simulation frame . . . . . . . . . . . . . . . . 45 3.20 Simulation scene from AVx . . . . . . . . . . . . . . . . . . . . . . . . 46 3.21 Blender flowchart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 4.1 Radar Range plot from Real Radar Data . . . . . . . . . . . . . . . . 49 4.2 Radar Range plot from Simulated Data . . . . . . . . . . . . . . . . . 50 4.3 Radar Range plots from Simulated Data and Measurements for Sta- tionary corner reflector . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.4 Sparse result from physical measurements . . . . . . . . . . . . . . . 54 4.5 Sparse result from AVx simulation . . . . . . . . . . . . . . . . . . . . 54 4.6 AVx Simulation Raw output for target in motion . . . . . . . . . . . 55 xv List of Figures 4.7 First frame from the real motion . . . . . . . . . . . . . . . . . . . . . 56 4.8 First frame from the simulated motion . . . . . . . . . . . . . . . . . 56 4.9 Inverse Fourier Transform plot for Pulse 1 in Frame 1 of Simulation . 57 4.10 Frame versus Range plot- Simulation . . . . . . . . . . . . . . . . . . 58 4.11 Frame versus Range plot- Real motion . . . . . . . . . . . . . . . . . 59 4.12 Sensor Metadata Information from real motion recording . . . . . . . 60 4.13 Sensor layout for target in motion with adjusted radar position . . . . 62 4.14 Frame versus Range plot- Simulation . . . . . . . . . . . . . . . . . . 63 4.15 Range versus Frame plots- Simulation v/s Real motion . . . . . . . . 64 xvi List of Tables 2.1 System parameters of the radar sensor [4]. . . . . . . . . . . . . . . . 19 3.1 Axes mapping from Blender to AVx . . . . . . . . . . . . . . . . . . . 42 xvii List of Tables xviii 1 Introduction With the growth of advanced driver-assistance systems (ADAS) and autonomous vehicles, radar technology has become essential in the automotive sector. Tradi- tionally, radar and LiDAR sensors have focused on imaging, sensing, tracking, and identifying obstacles around the vehicle during navigation. However, a promising new application is using radar sensors inside the vehicle to enhance passenger safety and comfort. Interior radar sensing could detect the presence of passengers, alert to the presence of a child left in the vehicle, or monitor the driver’s alertness to prevent drowsiness. These innovative uses expand radar’s role from external safety monitoring to ensuring a safer, more responsive in-cabin environment. 1.1 Automotive Radar Radar, short for Radio Detection and Ranging, was originally developed for mili- tary applications, where it remains extensively used. Today, radar technology has expanded into various civilian applications, including air traffic control, weather monitoring, environmental sensing, ship and aircraft navigation, industrial speed measurement, space surveillance, and planetary observation. In the automotive in- dustry, radar plays a crucial role in both exterior and interior sensing, supporting advanced driver-assistance systems (ADAS), autonomous navigation, and in-cabin monitoring. Initially, automotive radar operated in the 24 GHz range, but it has since shifted to the 77 GHz band, enabling high-precision functions like Blind Spot Detection (BSD), Lane Change Assist (LCA), and Adaptive Cruise Control (ACC). In addi- tion to these external sensing capabilities, radar is now being applied to monitor the vehicle’s interior, detecting occupants and alerting for potential hazards, such as a child left unattended or a drowsy driver. This novel application of radar for in-cabin sensing enhances passenger safety and driver awareness. Together with LiDAR and cameras, radar forms an essential part of a vehicle’s sensor suite, offering robust performance in poor weather and low-light conditions, where other sensors may be limited. Furthermore, radar is a cost-effective solution compared to LiDAR and high-resolution cameras, making it a versatile and valuable technology for comprehensive vehicle safety, both inside and out. 1 1. Introduction 1.2 Aim The objective of this Master’s thesis is to validate simulated radar data for in-cabin sensing applications, forming a foundational basis for future occupant monitoring developments, such as driver drowsiness detection, seat belt status monitoring, and passenger presence detection. Using AVxcelerate by Ansys, this research will simu- late a virtual lab environment to capture radar readings, which will be systematically compared to real radar data collected under equivalent lab conditions. By aligning simulated and real-world data, this study aims to enhance the accuracy and relia- bility of virtual testing environments, facilitating further advancements in occupant monitoring systems for improved vehicle safety. 1.3 Scope The scope of this thesis focuses on evaluating the accuracy of AVxcelerate by Ansys (AVx) as a radar simulation tool, using real radar measurements as a benchmark. To minimize discrepancies, both simulation and real-world lab measurements were conducted in closely matched environments. This study is limited to the use of a single target with restricted motion, selected to establish a controlled baseline. Two scenarios were examined: one with a stationary target and a second, more complex scenario where the target moves in a controlled manner. The findings from both scenarios are analyzed to assess how closely the simulation results match real-world data under these initial conditions. 2 2 Theory This chapter presents the theoretical foundations of the thesis, beginning with an overview of radar fundamentals, the core element of this project. It discusses radar components and their functions, essential concepts related to radar measurements, various types of radar sensors, and the specific radar type employed in this research. A brief section provides available details on the radar chipset used in the project. The chapter also introduces ABB RobotStudio and the robot, which serve as addi- tional key components in the overall project setup. 2.1 RADAR Basics Radar is an acronym for radio detection and ranging. The first successful attempt at producing radio waves was done at a frequency of 200MHz which as per today’s classification of frequencies, falls in the Ultra High Frequency(UHF) band which is very close to the lower edge of the Microwave band(300MHz - 300GHz). Radar which dates back to the 1900s was first used to detect the presence of ships in 1903 by Hullsmeyer who obtained a patent for his idea the following year. Fast forward by a couple of decades, Pulsed Radar systems were used during World War II by all parties to detect enemy ships and aircrafts. Radar is an active sensor that has both a transmitter and a Receiver. It’s powerful penetration capabilities make it very suitable for long distance ranging and detec- tion. In recent times, however, Radar has also found its use in short-range detection in applications like autonomous driving, robotics, industrial automation, and even smart devices. Fundamentally Radars can measure the following: • Direction of an object: This can be done by gauging the direction in which the antenna is pointed. • Distance or Range of an object: This can be estimated by measuring the time of flight of the of the signal to and from the target. • Speed of an object: This can be estimated by measuring the Doppler shift of the echo from the target. 3 2. Theory • Dimension of the object: This can be estimated by calculating the Radar Cross section (RCS) of the target by measuring the received power. A Typical RADAR System would have the following components as also seen in Figure 2.1: • Transmitter: This unit produces signals/pulses that are coupled by the transmitting antenna into space. The waves are then reflected or scatttered back to the Radar sys- tem by objects in free space. The receiving antenna receives this reflected energy and send it to the receiver circuit of the system. • Antenna: Antenna is required for the transmission of Electromagnetic waves from the Transmitter and to receive electromagnetic energy from the target. • Receiver: This unit amplifies the received electromagnetic energy from the target. Also, some form of correlation needs to be done between the transmitted and re- ceived signals in order to make sure that they can be compared properly. • Duplexer/ Transmit-Receive switch(TR Switch): In most Radar Systems, a single antenna is used for both Transmission and reception. The antenna switches between transmitting and receiving modes by using a duplexer or a TR Switch that makes sure that there is no mutual interference when the radar transmitter and receiver share the same antenna. • Signal Processor: To obtain details about targets the radar has spotted, the signal processor ex- amines the signals it has received. It carries out operations including tracking, target identification, Doppler processing and pulse compression. • Display Unit: The display unit shows the Radar output in a human readable format.It in- cludes Radar screens, maps and graphical user interface to visualize the de- tected targets. With the basics of radar covered, the focus now shifts to exploring the types of radar sensors available and their classifications. 4 2. Theory Figure 2.1: Elements of a Basic Radar System [5] 2.2 RADAR Classification by detection range • Short Range Radar: – Detection Range: It is very small, ranging from a few centimeters upto 30-50 metres. – Operating Frequency: The usual frequency range is from 24GHz upto 77GHz with higher frequency ranges offering better precision. – Key Features: ∗ Short Range Radar has a wide field of view (FoV) for detecting nearby objects from different angles. ∗ It provides high spatial resolution for detecting small or closely spaced objects. ∗ It covers short distances and is more focused on proximity detection. – Applications: ∗ SRR is used in close object detection applications like industrial au- tomation and Advanced Driver Assistance Systems (ADAS). ∗ It is also used Automatic parking and Park distance control(PDC) when parking or maneuvering in tight spaces. ∗ SRR can be used for Blind Spot Detection which is especially im- 5 2. Theory portant during lane change where the Radar continuously monitors the vehicle’s blindspot and alerts the driver if there is any vehicle or object in an adjacent lane. ∗ Some other applications include collision avoidance in Autonomous robots operating in tight spaces, safe Human Robot interaction which includes stopping or slowing down the robot when in close proximity with humans to prevent injury. • Medium Range Radar: – Detection Range: It is slightly more than that of SRR, ranging be- tween 50 meters to 150 meters. – Operating Frequency: It is the same as that of SRR (24GHz to 77GHz). MRR sensors have good spatial resolution and a moderate field of view. – Key Features: ∗ MRR covers moderate distances and is optimized for tracking objects that are not too close but also not too far. ∗ It has a narrower field of view compared to SRR, as it focuses on mid-range targets. ∗ Resolution is moderate compared to both SRR and long-range sys- tems, providing a balance between precision and distance. – Applications: ∗ MRR sensors are very important in Advanced Driver Assistance Sys- tems and autonomous driving. They are used in conjunction with short range and long range radar sensors. ∗ MRR is very useful in Adaptive Cruise Control(ACC). This sensor detects vehicles and objects at moderate distances and helps main- tain a safe distance. ∗ These sensors are also quite useful in Forward Collision Warning (FCW) and Automatic Emergency Braking (AEB) for mid range distances. ∗ Apart from automotive applications, MRR is also used in robot au- tomation for collision avoidance in heavy machinery by detecting objects at medium ranges. 6 2. Theory ∗ MRR is also quite useful in enhancing a robot’s perception of its environment, allowing it to make decisions based on the location of objects at medium distances. • Long Range and Ultra Long Range Radar: – Detection Range: The sensors can detect ranges from 150 metres to several hundreds of kilometers. – Operating frequency: LRR sensors operate at 77GHz for automotive applications and at lower frequency bands like S band ( 1-2 GHz), C band (2-4 GHz) and L band (4-8 GHz) for aerospace applications. – Key Features: ∗ LRR systems focus on distant objects and have a narrow field of view for long-range detection. ∗ These radars generally provide lower resolution compared to SRR and MRR because they prioritize long-distance detection. ∗ They are more expensive and complex, often requiring more power and sophisticated hardware. – Applications: ∗ LRR is used for adaptive cruise control to maintain a safe following distance between two vehicles by detecting their speed and position at long distances. ∗ It is also used in collision avoidance and autonomous emergency brak- ing by detecting potential obstacles ahead at long ranges, enabling timely responses. ∗ Apart from automotive applications, LRR and ULRR are used in defense applications like target tracking, surveillance and reconnais- sance missions. They are also used in ship navigation. 7 2. Theory 2.3 RADAR Classification by Waveform Figure 2.2 shows a flowchart showing the classification of Radar Systems. Continuous Wave Radar: Radar systems that continually and uninterruptedly emit Radio frequency (RF) waves are known as continuous wave (CW) radar systems. CW radar generates a continuous signal, in contrast to pulsed radar systems, which send brief bursts of RF energy followed by listening intervals. This type of Radar systems can be further classified as follows: • Frequency Modulated Continuous Wave Radar (FMCW): This kind of Radar continuously generates a signal whose frequency changes linearly with time. It measures both range and velocity by frequency modula- tion. FMCW Radar calculates the distance to a target by analyzing the beat frequency. Velocity is measured using Doppler shift, similar to CW Doppler radar. It is extensively utilised in navigation, altimetry, and distance measur- ing applications. In FMCW Radar, velocity is measured by analyzing the Doppler shift su- perimposed on the range-dependent frequency shift. The transmitted signal is modulated (e.g., linear chirp), enabling simultaneous range and velocity measurements. The total beat frequency fb in FMCW radar is given by: fb = fr + fd, (2.1) where: – fb: Total beat frequency, – fr: Range-dependent frequency shift, proportional to the time delay, – fd: Doppler frequency shift, proportional to the velocity. The Doppler shift fd is extracted from the total beat frequency by separating the contributions of range (fr) and velocity (fd) using signal processing tech- niques. Velocity calculation by an FMCW Radar: 1. The radar transmits a frequency-modulated signal, typically a linear chirp. 2. The received signal contains a time delay (related to range) and a Doppler shift (related to velocity). 3. The beat frequency fb is analyzed to extract fr and fd. 8 2. Theory 4. The Doppler shift fd is used to calculate velocity: v = fdλ 2 . (2.2) Key Features: – Measures both range and velocity simultaneously. – Requires more complex signal processing compared to CW Doppler radar. – Suitable for dynamic environments. • Continuous Wave Doppler Radar: A continuous radio frequency signal is sent and received constantly in a CW Doppler radar. The Doppler shift in frequency caused by the motion of tar- gets within the radar beam is detected and analyzed for velocity estimation.No modulation is involved as it transmits a continuous wave of fixed frequency. Velocity measurement using Doppler shift: The velocity of a target can be measured using the Doppler effect, which causes a frequency shift in the radar signal when there is relative motion be- tween the radar and the target. The frequency of the received signal increases if the target moves toward the radar and decreases if it moves away. The Doppler shift fd is directly proportional to the relative velocity v of the target along the radar’s line of sight. It is given by: fd = 2v λ (2.3) where: – fd: Doppler frequency shift (in Hz), – v: Radial velocity of the target (in m/s), – λ: Wavelength of the transmitted signal (in meters). Velocity calculation by a CW Doppler Radar: 1. The radar transmits a continuous wave of constant frequency. 2. The frequency of the reflected wave is compared to the transmitted fre- quency. 3. The Doppler shift fd is calculated as the difference between the trans- mitted and received frequencies. 4. Using the formula for fd in Equation 2.3, the velocity v can be deter- mined. 9 2. Theory Key Features: – Directly measures the radial velocity. – No range information is obtained. – Simple and computationally efficient. Pulsed Radar: A pulsed radar works by sending brief radio frequency (RF) energy bursts, or pulses, and then listens for reflections in the surroundings that the radar receiver picks up. Because pulsed radar systems can offer precise range measure- ments, high resolution, and interference mitigation, they are widely employed in many different applications. This is how a typical Pulsed Radar works, • Transmitting Pulses: The radar system emits short bursts of electromag- netic energy, known as pulses, into the surrounding environment. The length of these pulses is usually quite brief, ranging from microseconds to milliseconds. • Listening Period: Following a pulse transmission, the radar system enters a listening mode and listens for echoes returned from nearby objects. The radar system’s maximum range determines how long the listening period is; this gives the broadcast pulse enough time to reach its maximum range and back. • Receiving Echoes: The transmitted pulses from objects in the surrounding environment are picked up by the radar receiver as echoes or reflections. The distance to the target is determined using the speed of light and the time interval between the pulse’s transmission and the echo it receives. • Signal Processing: Following the reception of the echoes, information about the targets, including their size, velocity, and occasionally direction, is extracted using signal pro- cessing techniques. Target tracking algorithms, Doppler processing, and pulse compression are a few examples of these methods. Pulsed Radars can be of 2 types, • Coherent Pulsed Radars: In coherent pulsed radar systems, the transmitted pulses maintain a fixed phase relationship with each other and with the received signals. • Non Coherent Pulsed Radars: Phase coherence between the transmit and received signals is not necessary for the detection of non-coherent pulsed radar. Given this, these Radars are 10 2. Theory used in applications where precise measurements of target range and velocity are not required. Figure 2.2: Classification of Radars Now that the types of radar sensors and their operation have been discussed, the focus shifts to understanding some key radar principles. 2.4 Key Radar Principles Reflectivity: The object’s reflectivity(γ), Radar Cross Section (RCS) (σ), and distance from the antenna all affect how much energy is returned to the antenna. When the relative permittivity of two mediums that the signal is travelling through differs, a reflection happens. Reflectivity (γ) is given by, γ = (√ ϵ1 − √ ϵ2√ ϵ1 + √ ϵ2 )2 (2.4) where, (ϵ1) and (ϵ2) are the relative permittivity at a certain frequency at the bound- ary of reflection. Radar Cross Section (RCS): The Radar Cross Section (RCS), denoted by σ, is a measure of how detectable an object is by radar. It quantifies the amount of electromagnetic energy that a target reflects back to the radar relative to an idealized target. RCS is critical in radar systems as it determines the strength of the radar return signal from a given target. The RCS of a target is defined as: σ = Power reflected back to radar per unit solid angle Power density of the incident wave at the target (2.5) 11 2. Theory The unit of RCS is square meters (m2), representing an equivalent area that reflects energy back toward the radar. Factors affecting RCS: • Size: Larger objects generally have a higher RCS since they can reflect more electromagnetic energy. • Shape: The geometry of the target significantly impacts how it scatters radar waves. Flat surfaces oriented toward the radar reflect more energy (e.g., a metallic plate).Curved or irregular surfaces scatter energy in multiple direc- tions, reducing RCS. • Material Properties:Conductive materials (e.g., metal) have a higher RCS because they reflect more electromagnetic energy while Non-conductive or ab- sorbing materials (e.g., composites or stealth coatings) reduce RCS. • Orientation: The angle between the radar beam and the target affects RCS. At certain angles, the RCS may peak (specular reflection), while at others, it may drop significantly. • Frequency/Wavelength: The RCS varies with radar frequency or wave- length.Smaller wavelengths can resolve finer features on a target, potentially increasing RCS if these features reflect energy well. In the radar range equation, σ represents how effectively the target reflects radar energy back toward the source. For a given transmitted power and range, the strength of the received signal depends directly on σ, Pr ∝ σ (2.6) where Pr is the received power, and σ is the radar cross section. A larger RCS means more energy is reflected back to the radar, resulting in a stronger return signal. Doppler Effect: The echo’s frequency shifts when the target moves. The Doppler shift is this fre- quency shift. If the Target is moving towards the Radar there will be an increase in the frequency of the received signal while if the target is moving away from the radar, there will be a decrease in the frequency of the received signal. • Doppler Effect in continuous wave radar: In continuous-wave radar, the Doppler effect is observed directly as a frequency 12 2. Theory shift. Let the transmitted continuous wave be represented as: st(t) = A cos(2πft) (2.7) where: – A is the amplitude, – f is the frequency of the transmitted signal, – t is time. If the target is moving with a radial velocity v, the frequency of the received signal will shift by fd, where: fd = 2vf c (2.8) where c is the speed of light. The received signal sr(t) can be represented as: sr(t) = A cos(2π(f + fd)t) = A cos (2πft + 2πfdt) (2.9) The radial velocity v of the target can be derived from the Doppler shift fd as follows: v = fdc 2f (2.10) • Doppler effect in Pulse Radar: In pulsed radar, the Doppler effect is observed as a phase shift between successive pulses. The transmitted signal can be represented as a pulse train: st(t) = A N−1∑ n=0 p(t − nTp) cos(2πft) (2.11) where: – p(t) represents the pulse envelope (shape), – Tp is the pulse repetition interval (PRI), – N is the number of pulses in the pulse train. For a target moving with velocity v, each pulse n experiences a round-trip distance change of 2vTp, causing a phase shift ∆ϕ between successive pulses given by: ∆ϕ = 4πvfTp c (2.12) The phase shift ∆ϕ between successive pulses results in an effective Doppler frequency fd, which can be expressed as: fd = ∆ϕ 2πTp = 2vf c (2.13) 13 2. Theory Each returned pulse experiences an accumulated phase shift, resulting in the received pulse sequence: sr(nTp) = A cos (2πfnTp + n∆ϕ) (2.14) The target’s radial velocity v can be calculated as: v = fdc 2f (2.15) Therefore, while the Doppler effect in continuous-wave radar is observed di- rectly as a frequency shift, in pulsed radar it is observed as a phase shift between pulses, which corresponds to the same Doppler frequency. Range Resolution: This is the radar’s ability to distinguish between two closely spaced objects along the same line of sight. High range resolution is desirable to ensure a powerful Radar system. Range Resolution can be calculated as follows, • Based on Pulse Width (τ): Pulse width is the duration of the radar pulse, typically measured in microseconds. Since the pulse travels at the speed of light c, the shorter the pulse, the smaller the distance between two objects that the radar can distinguish. Range Resolution = c · τ 2 (2.16) • Based on Radar Bandwidth (B): In modern radar systems, particularly those using pulse compression or frequency modulated continuous wave (FMCW) techniques, the bandwidth of the radar signal is used to determine range res- olution. A larger bandwidth provides better range resolution, as the system can differ- entiate between returns from objects at different distances more precisely. Range Resolution = c 2B (2.17) Pulse Repetition Frequency (PRF): Pulse Repetition Frequency (PRF) refers to the number of pulses that a radar system transmits per second. It is a funda- mental parameter in pulsed radar systems, determining how often the radar sends out a pulse to detect targets. PRF is typically measured in Hertz (Hz), where 1 Hz equals one pulse per second. The following are some key concepts related to PRF. • Pulse Repetition Interval (PRI): The Pulse Repetition Interval (PRI) is the time between the start of one pulse and the start of the next. It is the 14 2. Theory inverse of PRF. PRI = 1 PRF (2.18) • Range Ambiguity: The PRF affects the radar’s maximum unambigu- ous range, which is the farthest distance a target can be accurately detected without ambiguity. If the next pulse is sent out before the previous pulse’s echo returns, the radar might mistake the returning echo for one coming from a closer target. Maximum unambiguous range (Rmax) is calculated as follows, Rmax = c 2 · PRF (2.19) High PRF results in shorter unambiguous range but better Doppler resolu- tion, while low PRF allows for detection of targets at longer ranges but limits velocity measurement accuracy. • Trade-off Between Range and Velocity Measurement: PRF also influ- ences the radar’s ability to measure the velocity of moving targets using the Doppler effect. Higher PRF improves the radar’s ability to measure target velocity accurately, especially for fast-moving objects. However, it introduces range ambiguity, meaning targets at different ranges might appear indistin- guishable. This means that radar systems often have to balance between range and ve- locity measurement by choosing an appropriate PRF: – Low PRF: Better for long-range detection, but not as good for velocity measurement due to Doppler ambiguity. – High PRF: Better for measuring velocity and tracking fast-moving tar- gets, but introduces range ambiguity. • Staggered PRF: To overcome the limitations of both low and high PRFs, radars often use staggered PRF, where the PRF is varied from pulse to pulse. This helps to reduce both range and velocity ambiguities, improving overall performance. Antenna Gain: Antenna Gain is a measure of how well an antenna converts input power into radio waves in a specified direction (for transmitting) or how effectively it receives radio waves from a specific direction (for receiving). It is expressed as the ratio of the power radiated by an antenna in a given direction to the power radiated by an ideal isotropic antenna (a theoretical antenna that radiates power uniformly 15 2. Theory in all directions) at the same distance. Antenna gain G is generally expressed in decibels (dB) and can be calculated as: G = 10 log10 ( Pr Pi ) (2.20) Where: • Pr is the power radiated in the direction of interest. • Pi is the power radiated by an isotropic antenna. Alternatively, gain can also be expressed in terms of directivity D and efficiency η as: G = D · η (2.21) • Directivity: Directivity is a measure of how focused the radiation pattern of an antenna is in a particular direction compared to an isotropic antenna (which radiates equally in all directions). Directivity describes the ability of an antenna to direct the power it radiates in a particular direction. It is di- mensionless and typically greater than 1 for directional antennas. Directivity reflects how well the antenna focuses energy in the desired direction but does not account for energy losses. • Efficiency: Efficiency is the ratio of the power radiated by the antenna to the total input power supplied to the antenna. It accounts for power losses due to factors like resistive heating, material imperfections, and impedance mismatches in the antenna structure. Mathematically, efficiency is given by: η = Pradiated Pinput (2.22) Where: – Pradiated is the power radiated by the antenna. – Pinput is the total input power supplied to the antenna. – Efficiency ranges from 0 to 1 (or from 0% to 100%) ∗ η =1 (or 100%) means the antenna is perfectly efficient and radiates all of the power it receives. ∗ η <1 indicates that some power is lost (e.g., as heat). Radar Range Equation: The radar equation is a fundamental formula that ex- presses the relationship between the power transmitted by a radar system, the dis- tance to a target, the characteristics of the target, and the power received by the 16 2. Theory radar. It helps in understanding how different factors influence the performance of radar in detecting objects. The gain of an antenna G is a measure of how effectively it directs radio frequency energy compared to an isotropic radiator. It is defined as the ratio of the power density Sd radiated in the maximum direction to the power density Siso radiated by an isotropic antenna, for the same input power: G = Sd Siso (2.23) For an isotropic antenna, the power density at a distance R is: Siso = Pt 4πR2 (2.24) where, Pt is the transmitted power.This comes from the fact that the power spreads spherically, and the surface area of a sphere is 4πr2. For a directional antenna with gain G, the power density Sd in the direction of maximum radiation becomes: Sd = GPt 4πR2 . (2.25) The effective aperture Ae of an antenna relates to the ability of the antenna to cap- ture power from an incoming electromagnetic wave. If the wave has power density S, the total power Pr captured by the antenna is: Pr = S · Ae (2.26) Substituting Sd into the equation, the power received by the antenna is: Pr = GPt 4πR2 · Ae (2.27) Now consider a radar system. The target reflects some portion of the incident power. This reflected power depends on the Radar Cross Section (RCS) σ, which is a measure of how much power the target scatters back toward the radar. The power density at the target is: Sreturn = ( PtGt 4πR2 ) σ 4πR2 . (2.28) The radar antenna collects the reflected power based on its effective aperture, Ae. The received power Pr is: Pr = Sreturn · Ae (2.29) Substituting Sreturn into this equation: 17 2. Theory Pr = ( PtGt 4πR2 σ 4πR2 ) Ae (2.30) Simplifying: Pr = PtGtσAe (4π)2R4 (2.31) Signal to Noise Ratio (SNR): Signal-to-Noise Ratio (SNR) is a key parame- ter in radar systems that quantifies the level of the desired signal relative to the background noise. It is crucial for assessing the performance of radar systems, as it directly affects the ability to detect, identify, and track targets. A higher SNR indicates a clearer and more discernible signal, leading to better target detection and classification. SNR is defined as the ratio of the power of the desired received signal to the power of the background noise. Mathematically, it is expressed as: SNR = Pr N (2.32) Where: • Pr: Power of the Received signal. • N : Noise Power. The noise power at the radar receiver is given by: N = kTsBn (2.33) where, • k: Boltzmann’s constant (1.38 × 10−23 J/K), • Ts: System noise temperature (in Kelvin), • Bn: Receiver noise bandwidth (in Hz). Using the radar range equation for Pr and noise power N = kTsBn: SNR = PtGtGrσλ2 (4π)3R4 kTsBn (2.34) Simplifying: SNR = PtGtGrσλ2 (4π)3R4kTsBn (2.35) Factors affecting SNR: 18 2. Theory • Transmitted Power (Pt): Increasing the power of the transmitted signal directly increases Pr thus improving the SNR. • Antenna Gain: The gain of the transmitting and receiving antennas affects the effective power received from the target, impacting the SNR. • Range to the Target (R): As the range increases, the power of the signal decreases due to the inverse square law, which reduces the SNR. • Radar Cross Section (σ): The RCS of the target affects how much signal is reflected back to the radar. Larger RCS values lead to stronger return signals, enhancing SNR. • Noise Figure: The inherent noise of the radar system and its components (like amplifiers) adds to the background noise level affecting SNR. • Environmental Conditions: Atmospheric conditions, such as precipitation, can introduce additional noise and attenuation, impacting SNR. Now that the key concepts of radar sensors have been covered, the focus shifts to the radar sensor used in this thesis. 2.5 Acconeer A111 Radar Sensor It is a Pulsed Coherent Radar by Acconeer that operates at 60GHz that has been optimized for High precision and Ultra Low power with Antenna in Package(AiP) and Integrated Baseband. The following are some of the specifications available in Acconeer A111 datasheet that are relevant to this thesis. Table 2.1 provides system parameters sourced from [4]. Table 2.1: System parameters of the radar sensor [4]. Parameter Value Minimum Range 2m with absolute accuracy in mm, relative accuracy in µm Antenna Type Folded Dipole Operating Frequency Range 57GHz - 64GHz TX HPBW- E plane Typical value= 53◦ TX HPBW- H plane Typical value= 65◦ EIRP 10dB Bitrate of the system 16bps 19 2. Theory Figure 2.3 and Figure 2.4 show the Radar chipset and its functional block diagram respectively. Figure 2.3: A111 Radar chipset [4] Figure 2.4: A111 functional block diagram [3] 20 2. Theory The discussion now shifts to the theory behind the next essential element of this thesis: the robot and ABB RobotStudio, the interface used to program it. 2.6 ABB CRB 15000 The CRB 15000 robot also known as the ABB GoFa, is a collaborative robot (cobot) designed by ABB. 2.6.1 Key Features Collaborative Robot: The CRB 15000 is designed to work safely alongside human workers without needing physical barriers. It is equipped with sensors and safety features to detect humans and avoid collisions. Payload and Reach: It is a flexible, agile 6-axis articulated robot that can carry payloads upto 15 kilo- grams. The robot arm is designed to have a reach ranging from 0.95 metres to 1.51 metres making it quite flexible for use in the manufacturing industry. Safety Features: It has built-in safety-certified technology, allowing it to stop motion when it detects a collision or other hazardous situations. Also, its Power and force limiting (PFL) functions ensure the robot operates safely around humans, with low risk of injury during unintended contact. Ease of use: Designed for ease of programming and use, the GoFa can be programmed through ABB’s Wizard Easy Programming. This drag-and-drop interface simplifies automa- tion for users with little or no coding experience. It also supports ABB RobotStudio, an advanced software suite that allows for simulation and virtual commissioning. The Cobot also facilitates ’Lead Through programming’ where users can move the robot physically to teach it positions and movements. It is a highly versatile robot which is very easy to use with various applications like automated material handling, Intricate assemble tasks, machine tending for loading and unloading machines and packaging. This Cobot is also known to deliver high levels of precision and repeatability for tasks that demand consistency. Another good feature of this Cobot is that it is easily compatible with a number of end ef- fectors making it very versatile. Figure 2.5 shows the Cobot used. 21 2. Theory Figure 2.5: ABB CRB 15000 Cobot [8] 2.7 Wizard Easy Programming ABB’s Wizard Easy Programming is a user-friendly, graphical programming inter- face that makes programming robots easier, especially for people without extensive programming knowledge or robotics expertise. It is often used with ABB’s collabo- rative robots, such the CRB 1100 (YuMi) and the CRB 15000 GoFa. This was used to program the robot in this thesis. The following are some of Wizard Easy Programming’s key features. Drag-and-Drop Interface: • No coding required: Wizard Easy Programming uses a graphical, block- based system where users can create robot programs by simply dragging and dropping predefined function blocks. These blocks represent standard robot actions such as move commands, grasping objects, and conditional logic (e.g., "if-else" statements). • Predefined Function Blocks: The interface comes with a set of ready-made blocks that allow users to program the robot’s actions quickly. These include: 22 2. Theory – Move: Commands for moving the robot to specific positions. – Wait: For activating end-of-arm tools like grippers. – Grasp: To introduce time delays. – Logic: Such as loops, conditions, and wait-for-signal commands. Intuitive User Experience: • Ease of use: The interface is designed to be easy for operators with little to no prior programming knowledge. Users can see how their robot’s actions will flow without needing to understand complex coding syntax. • Real-time feedback: The user interface provides real-time feedback, showing where the robot is in its programmed sequence and allowing for adjustments spontaneously. Built-In Safety: The Wizard system integrates safety features, which allow opera- tors to ensure that the robot works safely around humans without complicated setup procedures. These safety functions can be automatically triggered by the program depending on the robot’s movements and tasks. Lead-Through Programming Support: Wizard Easy Programming often works alongside lead-through programming (also called hand-guiding), where users can manually guide the robot arm through the desired motion, and the robot will record these movements. This can make creating more complex motions straightforward for those without robotics expertise. Simulation and Testing: Programs created with Wizard Easy Programming can be simulated in ABB’s RobotStudio software before they are executed in the physi- cal environment. This helps users test and verify the robot’s movements, preventing mistakes or inefficiencies in the workflow. Expandable and Customizable: Although Wizard Easy Programming is de- signed to be simple, it can also be expanded to accommodate more advanced pro- gramming needs. If users require more complex control, they can switch to RAPID, ABB’s more advanced robot programming language, for fine-tuning. Multilingual Support: Wizard Easy Programming is available in multiple lan- guages, further supporting ease of use for operators worldwide. 23 2. Theory Figure 2.6: Wizard Easy Programming on a controller Figure 2.7: Wizard Easy Program Snippet- Multilingual 2.8 ABB Robotstudio ABB RobotStudio is ABB’s advanced software platform designed for robot simula- tion, programming, and virtual commissioning. The following are some of its key features. Offline Programming: • RobotStudio allows users to program ABB robots without disrupting produc- tion. Offline programming means that the robot does not need to be taken out of its production environment to write, test, or modify its programs. • It uses ABB’s RAPID programming language, the standard programming lan- guage for ABB robots. Virtual Commissioning: RobotStudio enables users to virtually commission robotic cells and systems. This means you can fully simulate and test the behavior of the robot, its interactions with other machines, sensors, and the environment, ensuring 24 2. Theory that everything works as expected before the physical robot is even installed. This reduces downtime during installation and helps avoid costly mistakes, as most issues can be identified and resolved virtually. Motion Simulation: • RobotStudio offers tools for simulating the motion of robots, including precise kinematics and dynamics calculations, to ensure robots will operate safely and efficiently in a production line. • The software supports simulation of robot arms, grippers, tools, and conveyor belts, allowing users to fine-tune path planning and motion execution. Real-Time Connection to Physical Robots: RobotStudio can connect in real- time to physical ABB robots via an Ethernet link, allowing users to control and monitor the actual robot’s movements in the same virtual environment. This means that real-world robot performance can be tested and debugged remotely. This ca- pability is useful for making small adjustments or troubleshooting without being physically present on-site. Wizard Easy Programming Integration: For simpler applications, ABB’s Wiz- ard Easy Programming can be integrated into RobotStudio, providing an intuitive drag-and-drop interface for programming tasks. This makes it easier for non-experts to set up basic robotic actions within the platform. 25 2. Theory 26 3 Method The whole project was carried out in two parts. Since the aim of this thesis is to validate the results from AVxcelerate (AVx) as a radar simulation tool, real radar measurements were recorded as a benchmark. This chapter describes the measurement scenarios and methods that are identical to both the simulation and real radar measurements. 3.1 Real Radar Data 3.1.1 Case 1- Stationary Target The first set of range measurements were taken with a static corner reflector of di- mensions (10 cm × 10 cm × 10 cm) as target. The idea behind this simple case was to ensure that the entire setup was error-free and had no calibration errors with respect to the range of the target. Description of the Setup: Figures 3.1, 3.3 and 3.4 depict the setup in which the measurements were taken. A make shift ’Anechoic Chamber’ was built using High frequency Absorbers to avoid multipath reflections. The corner reflector was placed such that its centre is at a distance of approximately 23.5 centimetres from the Radar sensor as shown in the images below. The A111 Radar sensor was powered up using a Raspberry Pi Mod- ule. The measurements were taken in two different formats of the A111 Exploration tool which have been explained in detail in Section 3.1.2. Tetrahedral Corner Reflector as Target: A Tetrahedral corner reflector of di- mensions (10 cm × 10 cm × 10 cm) was used as the sole target in this thesis. A tetrahedral corner reflector is a type of passive radar reflector composed of three mutually perpendicular flat surfaces that form a shape resembling one corner of a cube, also called a trihedral corner reflector. When radar waves strike the reflector, the three flat surfaces cause the waves to bounce multiple times and return directly back toward the radar source, even if the waves hit the reflector at different angles. 27 3. Method • Structure and Design: – Three Perpendicular Surfaces: The tetrahedral (or trihedral) corner reflector consists of three orthogonal surfaces that meet at a right angle, forming a corner. – Geometrical Symmetry: The reflector’s geometric configuration en- sures that any radar signal incident on it is reflected multiple times between the three surfaces, and these reflections converge back in the direction of the incoming signal. • Reason for use as target: – High Radar Cross Section: A corner reflector, reflects incoming radar signals directly back toward the radar source. This is because each flat surface redirects the signal along the path it came from. The result is a much larger radar cross section (RCS) compared to other objects of similar physical size. – Consistent and Predictable Reflection: A corner reflector provides a stable, consistent reflection regardless of the angle of incidence of the radar waves. When radar signals hit the surfaces of the corner reflector, they are reflected multiple times before returning to the source. This predictable reflection pattern allows radar systems to be accurately cal- ibrated or evaluated, ensuring repeatable results. – Ideal for Radar Calibration: Corner reflectors have a known radar cross section (RCS) that is easy to calculate based on their geometry. This makes them extremely useful for radar calibration purposes. Once the radar is calibrated with the corner reflector, measurements of other objects can be compared against the known reflection from the corner reflector. 28 3. Method Figure 3.1: Static Corner Reflector in a Make-shift Anechoic Chamber Figure 3.2: Corner Reflector of dimensions 10 cm × 10 cm × 10 cm Figure 3.3: Corner Reflector placed at approximately 23.5 cms from the Radar 29 3. Method Figure 3.4: The Corner Reflector and the A111 Radar Sensor 3.1.2 Case 2- Target in Motion With the radar free from calibration errors, the next step involved recording range measurements for a moving target. Description of the setup: Figure 3.5 illustrates the experimental setup. To enable precise movement of the target relative to the stationary radar, a linear actuator was utilized. The corner reflector was mounted on the end effector of an ABB CRB 15000 robot, allowing for controlled positioning. Additionally, the A111 radar sensor, as depicted in the figures, was securely mounted on a custom wooden rig. Motion of the Corner Reflector: A simple 3D motion was implemented in which the corner reflector traced the perimeter of a cuboid. This motion generated signif- icant variations in the range measurements of the target, as it involved changes in coordinates along all three axes (x, y, and z), thereby adding value to the purpose of the experiment. To achieve this motion, the ABB CRB 15000 robot arm was programmed. A code was developed using ABB’s Wizard Easy Programming logic to specify the coordi- nates of the end effector, which holds the corner reflector, as well as the joint states of the six joints that define the robot’s six degrees of freedom. The following is the code used. 30 3. Method Figure 3.5: Setup for physical measurements for target in motion Listing 3.1: ABB Wizard Easy Programming Code 1 MODULE Wizard 2 3 PERS robtarget Location1 :=[[617.941 , -170.798 , 480.778] , [0.00671051 , -0.996749 , 0.0802682 , 0.00160228] , [-1, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 4 5 PERS robtarget Location2 :=[[637.665 , 66.3496 , 480.745] , [0.00628522 , -0.994329 , -0.10612 , 0.00285076] , [0, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 6 7 PERS robtarget Location3 :=[[628.165 , 167.308 , 480.703] , [5.15033e -8, 0.994355 , 0.106105 , -3.318e-7], [0, 0, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 8 9 PERS robtarget Location5 :=[[602.851 , 159.841 , 561.111] , [0.00000325706 , -1, 0.000857853 , -0.0000609413] , [0, -1, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 10 11 PERS robtarget Location6 :=[[602.826 , -160.077 , 561.13] , [6.69989e -7, 1, -0.000778003 , 0.000085936] , [-1, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 12 13 PERS robtarget Location7 :=[[602.854 , 159.808 , 720.791] , 31 3. Method [0.00000557019 , 1, -0.000877797 , 0.0000303285] , [0, -1, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 14 15 PERS robtarget Location8 :=[[602.804 , -160.036 , 720.99] , [0.00000470055 , 1, -0.000754484 , 0.000109071] , [-1, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 16 17 PERS robtarget Location9 :=[[442.385 , 159.856 , 561.122] , [0.00000784572 , -1, 0.000809498 , -0.0000719538] , [0, -1, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 18 19 PERS robtarget Location11 :=[[442.35 , 159.84 , 722.221] , [0.0000116611 , -1, 0.000817439 , -0.0000805542] , [0, -1, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 20 21 PERS robtarget Location12 :=[[442.177 , -160.096 , 561.139] , [8.39672e -8, -1, 0.000822284 , -0.0000863503] , [-1, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 22 23 PERS robtarget Location14 :=[[442.179 , -160.101 , 721.012] , [0.00000812866 , -1, 0.000820569 , -0.0000674387] , [-1, 0, -3, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 24 25 PERS robtarget Location15 :=[[762.696802616119 , 0.015378134776256 , 561.082601547241] , [9.01022815469332e-7, -0.999999701976776 , 0.000778551737312227 , -0.0000320407598337624] , [0, 0, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 26 27 PERS robtarget Location50 :=[[602.829 , 0.0541112 , 561.093] , [0.00000117862 , -1, 0.000751413 , -0.0000502279] , [0, 0, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 28 29 PERS robtarget Location100 :=[[549.734 , -0.0327211 , 718.431] , [1.43636e-10, 1, -0.000796161 , -1.94989e-7], [-1, 0, -2, 0], [9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000 , 9000000000]]; 30 31 PROC main () 32 33 MoveL Location50 , v50 , fine , tool0\WObj := wobj0; 34 35 MoveL Location5 , v50 , fine , tool0\WObj := wobj0; 36 37 MoveL Location7 , v50 , fine , tool0\WObj := wobj0; 38 39 MoveL Location8 , v50 , fine , tool0\WObj := wobj0; 40 41 MoveL Location6 , v50 , fine , tool0\WObj := wobj0; 32 3. Method 42 43 MoveL Location50 , v50 , fine , tool0\WObj := wobj0; 44 45 MoveL Location9 , v50 , fine , tool0\WObj := wobj0; 46 47 MoveL Location11 , v50 , fine , tool0\WObj := wobj0; 48 49 MoveL Location12 , v50 , fine , tool0\WObj := wobj0; 50 51 MoveL Location14 , v50 , fine , tool0\WObj := wobj0; 52 53 MoveL Location50 , v50 , fine , tool0\WObj := wobj0; 54 55 MoveL Location15 , v50 , fine , tool0\WObj := wobj0; 56 57 MoveL Location50 , v50 , fine , tool0\WObj := wobj0; 58 59 Stop; 60 61 ENDPROC 62 63 ENDMODULE In this code, all the positions of the robot are defined in the ’Module Wizard’ block. The position definition includes the X,Y,Z coordinates of the tool center point (TCP) of the robot in millimeters, followed by the quarternion representation of the TCP, the configuration of the robot’s arm to avoid elbow flips and wrist singularities and finally external axes configurations. The robot uses external axes such as positioners or tracks to enable more complex movements. High values for these axes indicate that they are not required for this simple motion. The ’MoveL’ commands in the main function are executed sequentially. Therefore the order must be perfect to produce the desired motion. Joint States of the Robot: To replicate the motion in the simulation, the sim- plest method was to record the robot’s joint states at regular intervals throughout the entire movement. This was achieved using the ’Signal Analyzer’ feature in ABB Robotstudio, which allows for virtual operation of the robot and enables the motion to be simulated. The Signal Analyzer tool provides real-time signal monitoring dur- ing both simulations and actual robot movements. Since the six joints of the robot are part of the ’Custom Signal Selection’ in Signal Analyzer, they were specifically selected to capture the joint positions (angles) at intervals of 0.024 seconds during the simulation. Figure 3.6 shows the Signal Analyzer window. J1 through J6 indi- cate each of the 6 joints in the CRB 15000. Acconeer Exploration Tool and Radar measurements With the motion of the corner reflector sorted, the next important step was setting up the radar for mea- surements. A111 radar sensor has Acconeer Exploration Tool which is the interface for sensor configuration, real time data visualization and measurement recording. Figure 3.7, shows the interface. The A111 sensor’ s IP address is used in the interface to link it with the physical sensor. The Range interval for measurements is defined 33 3. Method Figure 3.6: Signal Analyzer window from ABB Robotstudio in the ’Range interval [m]’ option. There are several other settings like ’Profile’ which defines the length of the radar pulse. In this case, since a shorter pulse was required, the ’Profile’ parameter was set accordingly. There is a ’Gain’ parameter as well which defines the receiver gain. This exploration tool offers multiple formats to record measurements. Two such formats used are: • Envelope: The Envelope Service provides a filtered amplitude representation of the radar reflections. This is useful for detecting objects, measuring dis- tances, and monitoring changes in the environment. The service strips away the complex details of the raw radar data, focusing on the amplitude of the signal that corresponds to the reflection of objects in the sensor’s field of view. The sensor output is therefore amplitude values at different distances. In Fig- ure 3.7, the Amplitude versus depth plot shows the signal for 1 frame of the corner reflector’s motion. 34 3. Method Figure 3.7: Corner reflector’s motion in Envelope format • Sparse: Sparse Service works best for low power systems. The signals are sampled in 6cm intervals and is therefore only used in cases where the target is moving. The Sparse Service is optimized to respond to changes in ampli- tude or distance that indicate movement. This means it is designed to trigger detection events based on the temporal changes in the radar reflections rather than relying on static signals that provide more stable (but potentially insuf- ficient) information. The output is a number of sweeps Ns per data frame sampled one after the other. Each sweep has data points sampled at every 6cm interval with each sweep interval Ts as shown in figure 3.8. Figure 3.9 shows the measurements of motion collected in the sparse format. 35 3. Method Figure 3.8: Sparse service format [1] Figure 3.9: Corner’s reflector’s motion in Sparse format 3.2 Simulated Radar Data 3.2.1 Case 1- Stationary Target A simulation was conducted in Ansys AVx, replicating conditions similar to those observed in real radar measurements. In order to to successfully carry out the sim- 36 3. Method ulation, a number of steps had to be carried out. A pre-existing 3D model of the physical corner reflector, used for real-world radar measurements, was imported into AVx. To ensure precise spatial alignment, the model’s coordinates were first adjusted using Blender. Once configured, the model was successfully imported from Blender into the AVx virtual environment. The next key component integrated into the simulation was the A111 radar sensor, previously configured in Sensor Modeler by AVx Sensor Labs. Figures 3.10 and 3.11 display the sensor parameters within the AVx Sensor Labs interface. As shown, the center frequency is set to 60.5 GHz, aligning with the transmission frequency of the real radar system. During each coherent processing interval (CPI), the radar trans- mits 64 pulses, with each pulse containing 256 samples. The transmission power is specified at 1 W and the pulse interval is set to 0.0769 µs. • Coherent Processing Interval: Refers to the duration over which the radar processes a series of consecutive pulses to extract target information while maintaining phase coherence. During this interval, the radar system assumes that the target’s motion (e.g., velocity) and the environment remain relatively constant. – During the CPI, the radar transmits a sequence of short pulses. Each pulse is emitted at a specific interval known as the Pulse Repetition In- terval (PRI). – These pulses are coherent, meaning they maintain a fixed phase relation- ship with one another, which is essential for Doppler processing. – After transmitting each pulse, the radar switches to the receiving mode to collect echoes from targets. – The time between transmitting a pulse and receiving its echo corresponds to the distance of the target (range). This is based on the time-of-flight of the radar signal. – The radar preserves phase information for the echoes received during the CPI. This allows the system to measure the Doppler shift, which provides information about the radial velocity of the target. – Since all pulses within a CPI are processed together, the radar assumes that the environment and target motion remain constant during this in- terval. 37 3. Method Figure 3.10: A111 Sensor parameters in AVx Sensor Labs Figure 3.11: A111 Sensor parameters in AVx Sensor Labs In the following step, a sensor layout was configured in the AVx Sensor Layout Configurator to include only the A111 radar sensor, as it is the sole sensor used in the simulation. Figure 3.12 displays the sensor layout window in AVx. As shown, the Translation and Orientation parameters are set to zero, positioning the corner reflector at the origin of the AVx coordinate system. This file was then saved to be used in the program to run the simulation. With the sensor file prepared, the next step involved creating an AVx project, into which the 3D model of the corner reflector was imported as a geometry. This model was subsequently exported as an asset for use in the program to facilitate the sim- ulation. Figure 3.13 illustrates the AVx virtual environment window. A Python script that integrates all components of the simulation environment was executed to conduct the simulation. The number of frames for the simulation was set to 625, matching the number of frames generated by the actual radar measure- ments. The results of the simulation are presented as follows. Figure 3.14 illustrates the view of the static corner reflector as perceived by the A111 radar sensor through- 38 3. Method Figure 3.12: Sensor Layout for static corner reflector in AVx Sensor Labs Figure 3.13: Stationary corner reflector in AVx Asset Prep Environment out the simulation. Since the corner reflector is static, this view remains consistent across all frames. Figure 3.15 displays the output values from one frame of the sim- ulation. A total of 625 frames were produced, with each frame containing 64 pulses, each represented by 256 samples. The values shown in Figure 3.15 correspond to the frequency domain representation of the received signal power where every 256 rows of the output file correspond to the received power of a pulse. 39 3. Method Figure 3.14: Static corner reflector as seen by the A111 radar in the simulation Figure 3.15: Simulation output for stationary reflector 3.2.2 Case 2- Target in Motion To simulate the ’Target in Motion’ condition, the steps taken for the stationary tar- get were replicated, along with a few additional procedures. The following outlines the process undertaken. An integrated 3D model of the ABB CRB 15000 robot and the corner reflector (used in the previous test case) was imported into AVx, along with a wooden rig, as 40 3. Method shown in Figure 3.20, which holds the A111 sensor and a flat surface or floor for the entire setup. Surface properties were meticulously added to replicate the dielectric characteristics of the actual materials used in the measurements. Given that this scenario involved the robot, the simulation was more complex than in the case of the stationary corner reflector. The following points outline the additional steps taken to manage the robot before running the simulation. 3.2.2.1 Getting ABB CRB 15000 ready for simulation As mentioned previously, the joint states of the robot were captured throughout its motion using the Signal Analyzer feature in ABB RobotStudio. These joint states were then exported as an Excel file from ABB RobotStudio. Figure 3.16 displays a screenshot of the file. The joints J1 through J6 correspond to the six degrees of freedom of the robot arm, and the recorded values represent angles in degrees relative to the robot’s base, sampled at intervals of 0.024 seconds. Figure 3.16: Joint states of CRB15000 captured by Signal Analyzer In Figure 3.7, the sensor configuration used in the physical measurements is shown. The A111 radar sensor operates at an update rate of 20 Hz, corresponding to a frame interval of 0.05 seconds. However, since the data recordings were acquired at intervals of 0.024 seconds, it was necessary to interpolate the joint state data to align with the radar’s 20 Hz update rate. Following the interpolation of the joint states, the next step involved converting the joint angles from degrees to radians. This conversion was implemented using a MATLAB script. The resulting interpolated and converted data was then saved in a JSON file for subsequent processing and analysis. 41 3. Method The next critical step was to transform the joint state values from the interpolated data to align with the AVxcelerate coordinate system. This transformation was performed using Blender to ensure compatibility with the AVx system conventions. ABB Robotstudio and Blender share a similar coordinate system where the Z-axis points upward. In both software environments, the rotation conventions are as fol- lows: yaw around the Z-axis, pitch around the Y-axis, and roll around the X-axis. Specifically, yaw represents rotation around the vertical axis, producing clockwise or counterclockwise turns; pitch refers to rotation around the lateral axis, resulting in an upward or downward tilt; and roll involves rotation around the longitudinal axis, producing a side-to-side tilt. In contrast, AVxcelerate (AVx) employs a Y-up coordinate system. Here, yaw is defined along the Y-axis, roll along the Z-axis, and pitch along the X-axis. Ad- ditionally, in AVx, the sensor is oriented to always face the positive Z direction. Thus, the axis mapping from Blender/ABB RobotStudio to AVx is shown in Table 3.1. Also, Figure 3.17 shows the robot in Blender with the coordinate system trans- formed from Blender’s Z-up coordinate system to AVx’s Y-up coordinate system. Blender AVx X -Z Y -X Z Y Table 3.1: Axes mapping from Blender to AVx Figure 3.17: ABB CRB 15000 in Blender 42 3. Method To understand the conversion, it it essential to understand the following: • Local angles: Local angles describe the rotation of each joint relative to its own coordinate system or to the coordinate system of the parent joint, not relative to the entire scene or world coordinate system. Figure 3.18: Local joint angles in a robot arm [11] In this diagram, the robot is a 3-DOF arm with three revolute joints. Joint 1 forms an angle of θ1 with the x-axis. θ2 represents the angle between Link 1 and Link 2, specifically between the directions from O to A and from A to B. Similarly, θ3 is the angle between Link 2 and Link 3, specifically between the directions from A to B and from B to E. Therefore, the local joint angles are θ1, θ2, and θ3, each denoting the angle of rotation at their respective joints. These angles define the configuration of the arm within its workspace. • Global coordinate system: The global coordinate system is an absolute ref- erence frame used to describe the position and orientation of objects in space. In robotics, this is often a fixed system, such as the world frame, that doesn’t change with the robot’s movements. • Global angles: Global angles define the orientation of the end effector and the different joints of the robot relative to the fixed global coordinate system regardless of its local joint configurations. The global equivalent of the local angles in a robotic arm, like the one shown in Figure 3.18, will be represented with respect to the global coordinate system 43 3. Method or reference frame that is typically fixed at the base of the robot, specifically at Joint 1 (point O). In this coordinate system: – θ1 represents the orientation of Link 1 with respect to the global frame centered at O. – The global orientation of Link 2, which is the angle it makes with the global x-axis, is the sum of the angles θ1 and θ2. This is because θ2 represents the relative angle between Link 1 and Link 2, so it must be added to θ1 to determine the orientation of Link 2 in the global frame. Therefore, the global angle of Link 2 is given by θ1 + θ2. – The global orientation of Link 3, which is the angle it forms with the global x-axis, is the cumulative sum of the angles θ1, θ2, and θ3. Since θ3 represents the relative angle between Link 2 and Link 3, it is added to determine the orientation of Link 3 in the global frame. Thus, the global angle of Link 3 is given by θ1 + θ2 + θ3, which also corresponds to the end-effector angle, θe, with respect to the global frame. In Blender, the initial step involved setting each joint angle of the robot to zero. Subsequently, the coordinate axes at each joint were reoriented to align with a Y-up system, where the Y-axis points upward, the Z-axis points forward, and the X-axis points to the right. This configuration was chosen to synchronize the joint orien- tation with the AVx coordinate system, ensuring consistency across reference frames. After configuring the joint orientations, frame-by-frame local rotations from the provided JSON file were applied to the robot’s joints. These local rotations were then converted to global angles, effectively decoupling each joint’s rotation from the rotations of its parent joints. This approach ensures that each joint’s rotation remains independent, facilitating precise and consistent tracking of each joint’s po- sition throughout the animation sequence. Figure 3.21 shows a flowchart of the algorithm used. With the robot’s joint states aligned to the AVx coordinate system, the next phase involved running the simulation. All 3D geometries were imported into a new AVx project, and appropriate material properties were applied to each geometry to ac- curately represent their physical characteristics. Static objects, including the floor, wooden rig, and radar holder, were all exported as a single static asset to optimize the simulation setup. The robot holding the corner reflector, was imported as a separate asset to allow independent manipulation and tracking. Additionally, two cameras were positioned strategically within the scene to provide optimal viewpoints for observing the sim- ulation. Lighting elements were also added to ensure sufficient scene illumination, enhancing visibility and rendering quality throughout the simulation. 44 3. Method Figure 3.19: A111 sensor’s view in a simulation frame A Python script integrating all elements of the simulation was executed, following a structure similar to the script used in the static corner reflector scenario. This script integrates three key components: the sensor definition file, the motion file, and the sensor parameters file. The sensor definition file specifies the configuration of all sensors in the simulation, including the radar and cameras, along with their precise positions within the AVx project scene. The motion file, in JSON format, contains the converted joint states of the robot exported from Blender with each joint have corresponding yaw, pitch and roll values at every time step of motion, providing frame-by-frame rotational data to animate the robot accurately. Lastly, the sensor parameters file stores pre- defined parameters for each sensor, ensuring consistent sensor behavior throughout the simulation. The number of frames is not explicitly set to a specific value in this case; instead, it is determined by the time step defined in the joint angles JSON file. Figure 3.20 illustrates the AVx scene configuration for this simulation scenario. Running this code initiates the simulation in AVx, generating outputs as shown in Figure 3.15, which displays complex received power values in the frequency domain. 45 3. Method Figure 3.20: Simulation scene from AVx The first 256 rows correspond to frequency samples for the first pulse, with each subsequent pulse also represented by 256 frequency samples. Each frame generated consists of a total of 64 pulses. Figure 3.19 presents the debug camera view, illustrating what the radar ’sees’ during the simulation, captured here for a single frame. 46 3. Method Figure 3.21: Blender flowchart 47 3. Method 48 4 Results The chapter describes the results compiled from both the simulation and the real radar measurements. 4.1 Results from Case 1- Stationary Target The Data from the Real Radar measurements is as shown in the figure below. Figure 4.1: Radar Range plot from Real Radar Data Since the target, a stationary corner reflector, remains fixed, the Range plot shows a single peak corresponding to its position. In the plot, the X-axis represents the range in meters, while the Y-axis displays discrete digital values computed by the Signal Processor in the A111 radar sensor. The peak’s position along the X-axis indicates the corner reflector’s location, measured here at 0.237 meters (or 23.7 cen- timeters), with a corresponding Y-axis value of 8590. 49 4. Results Given the same scenario where the target remains stationary, the simulation data is shown in the figure below. Figure 4.2: Radar Range plot from Simulated Data The Range plot displays range values in meters on the X-axis and received power in watts on the Y-axis. The peak in the plot, representing the position of the corner re- flector, appears at 0.257 meters (25.7 centimeters), which closely matches the value obtained from real radar measurements. Since the range values in both the real and simulated readings are nearly identical, it is reasonable to equate the magnitudes of their corresponding peak values. Magnitude of peak from Real Data = 8590 Magnitude of peak from Simulated Data = 0.00376142 Thus, the scaling factor is calculated as: Scaling factor = 0.00376142 8590 = 0.43737 × 10−6 (4.1) 50 4. Results Figure 4.3: Radar Range plots from Simulated Data and Measurements for Stationary corner reflector 4.2 Results from Case 2- Target in Motion 4.2.1 Results using Sparse format As discussed in Section 3.1.2, the Acconeer Exploration Tool, which serves as Ac- coneer’s sensor configuration and measurement recording interface, offers multiple formats for recording measurements. The initial results presented were based on the Sparse format. Figures 3.8 and 3.9 in Section 3.1.2 illustrate this format. To recap, the signals are sampled at 6 cm intervals, yielding a number of sweeps denoted as Ns. Each sweep consists of data sampled at these 6 cm intervals, with Ts as the time between each sweep or bin. Figure 4.4 presents the bin values derived from the physical measurements. Through research and analysis, it was determined that these values represent the amplitude (or magnitude) of the reflected radar signals received from each range bin. Although Acconeer has not provided specific documentation regarding this, it is reasonable to infer that these values are generated by the radar’s analog-to-digital converter (ADC), which digitizes the analog signals of the radar reflections. Typically, higher amplitude values indicate stronger reflections, which may correspond to objects that are either closer to the radar or possess greater reflectivity. Figure 4.5 displays the bin values obtained after processing the raw output from the AVX simulation. As shown in Figure 4.6, the raw output consists of a range of complex values representing the received power in the frequency domain. The following steps summarize the data processing procedure: The simulation produced multiple .h5 files, with each file representing a distinct frame. 51 4. Results Each frame, or .h5 file, contains multiple rows of complex received power values. Given that the number of frequency samples was set to 256 and the number of pulses in the coherent processing interval (CPI) was set to 64, the total number of rows in each .txt file is 64 × 256 = 16, 384. This means that each batch of 256 rows corresponds to a single pulse. The frequency domain data was converted to the time domain by applying an in- verse fast Fourier transform (IFFT). This time domain representation reflects the instantaneous power received at each time instance. So, the complex values obtained represent the amplitude and phase information of the signal at discrete frequency components. Each complex value can be expressed as: Ck = |Ck|ejϕk (4.2) where |Ck| is the magnitude (amplitude) and ϕk is the phase angle of the frequency component. The IFFT takes these complex frequency-domain samples and reconstructs them into a time-domain signal. Mathematically, the IFFT is defined as: x[n] = 1 N N−1∑ k=0 Ckej 2π N kn (4.3) where: • N is the total number of frequency samples. • x[n] is the time-domain signal at sample n. • Ck are the complex frequency-domain samples. The resulting time-domain signal x[n] represents the instantaneous value of the signal at each time sample n. When analyzing power, the resulting signal can be interpreted as the instantaneous power response of the system, varying over time based on the contributions from all frequency components. At the end of this process, the instantaneous power response for every pulse in every frame was obtained. The next step involved obtaining the range values. To achieve this, the time indices axis from the IFFT plot was multiplied by the range resolution of the radar system. Range R is, R[n] = c · t[n] 2 (4.4) where: • R[n] is the range corresponding to the time sample n, • t[n] is the time associated with the n-th sample of the IFFT output. 52 4. Results This was done for all the pulses in every frame. The next step involved selecting power values for each pulse and frame at 6 cm intervals, adhering to the Sparse format defined by Acconeer. It was observed that all pulses within each frame produced identical power values since it is an ideal system with no noise. Consequently, averaging the power values would yield the same result as selecting the power values from any single pulse. These power values were then stored in ’power bins’ for each frame as shown in Figure 4.5. With the datasets prepared from both the simulation and physical measurements, the next step involved comparing these two sets of data. To facilitate this compari- son, the idea was to use the following relation, Power and Amplitude are related as follows: Pcalculated = k · (A2) (4.5) where: • Pcalculated is the calculated power. • k is the scaling factor that relates amplitude to power. • A is the amplitude of the received signal. The scaling factor k is a constant that must be determined during the calibration process, which was previously addressed in Equation 4.1. This approach was unsuccessful because the ADC values could not be converted into equivalent amplitude values, which are necessary for calculating power using Equation 4.5. Another possibility could have been the use of the following equation, Preceived = ( ADCvalue 2N −1 × Vref )2 R · G2 linear (4.6) where, • Preceived: Received power in watts. • ADCvalue: Raw digital output from the ADC. • Vref: Reference voltage of the ADC (in volts). • N : Resolution of the ADC in bits (16 in this case). • Glinear = 10 G 10 : Gain of the radar system in linear scale, where G is the gain in decibels (dB). 53 4. Results • R: Impedance of the radar receiver (typically in ohms, e.g., 50 Ω). This equation requires detailed knowledge of the A111 hardware, information that is not available in the Acconeer documentation. Figure 4.4: Sparse result from physical measurements Figure 4.5: Sparse result from AVx simulation 4.2.2 Results using Envelope format Since the sparse format could not be used for evaluation, the next best option was the envelope format. As discussed in Section 3.1.2, the envelope format provides a filtered amplitude representation of radar reflections, outputting amplitude values at various distances. To evaluate the results with this format, two different approaches were considered. 4.2.2.1 Method 1 In this approach, the goal was to generate range plots for the first pulse in each frame, as shown in Figure 4.8, and compile these plots into a video. This video would then be compared with a similar compilation created from the plots of phys- ical measurements. The plot generation algorithm closely follows the one used for the sparse format, with only minor adjustments. The process is summarized in the following steps: The same raw output file from the AVx simulation used in the sparse format was processed, producing multiple .txt files, each representing a single frame. The fre- quency domain data in each file was then converted to time domain data by applying 54 4. Results Figure 4.6: AVx Simulation Raw output for target in motion an Inverse Fast Fourier Transform (IFFT). This Inverse Fourier transform generated plots of instantaneous power values for each pulse within every frame as shown in Figure 4.9. Range values for each pulse from the simulation were computed using Equation 4.4, and it was observed that the range vector was consistent across all pulses within a single frame because it is an ideal system with no noise. Therefore, to create the range plots for the video compilation, the range vector from one pulse per frame was used. To ensure consistency with the simulated data, slight modifications were made to the recorded data from the .h5 file generated by the Acconeer Exploration tool. Specifi- cally, the X-axis was scaled to represent range in meters, aligning the recorded data with the simulated data in terms of distance measurements. To facilitate analysis, peaks in each plot were identified and highlighted as shown in Figures 4.7 and 4.8. 55 4. Results Figure 4.7: First frame from the real motion Figure 4.8: First frame from the simulated motion The objective was to analyze the motion patterns in each video and determine whether the peaks aligned across both datasets. Although the Y-axes differ—as shown in Figures 4.7 and 4.8., where the simulation data represents Received Power and the measurement data represents ’Amplitude’ values as defined by Acconeer—the goal was to identify peaks at corresponding ranges and assess whether the scaling 56 4. Results factor from Equation 4.1 remained consistent. This method was set aside due to a considerable difference in frame counts between the simulation and the real data. While it was possible to address this through interpolation or by rerunning the simulation with a modified frame count, playing the video compilations individually revealed differences in range values (as discussed in the next subsection) and, more importantly, in motion patterns. These discrep- ancies indicated that a frame-by-frame comparison would not yield reliable results. Figure 4.9: Inverse Fourier Transform plot for Pulse 1 in Frame 1 of Simulation 57 4. Results 4.2.2.2 Method 2 Analysis of the previous method revealed differences in motion patterns between the simulated and real data. To verify these differences and gain visual insights, range plots were generated for both datasets. This was done by extracting location of the peak values of received power (or amplitude) from each frame. This algorithm is developed based on earlier methods, with the process summarized in the following steps. Starting with the raw output files from the AVx simulation—where each .txt file represents the frequency-domain returns for a single frame—time-domain data was derived by applying an Inverse Fast Fourier Transform (IFFT). The Inverse Fourier Transform yielded instantaneous power values for each pulse within every frame. Range values for the simulation were calculated using Equation 4.4. To ensure con- sistency, the X-axis of the real data was also scaled to represent range in meters, as described in Method 1. Once range values were calculated across all frames for both simulated and real data, peaks in received power were identified. The range values corresponding to the identified peaks were then plotted across all frames for both the simulation and real data, as shown in Figures 4.14 and 4.11. Figure 4.10: Frame versus Range plot- Simulation Figure 4.14 illustrates the simulation results. While there are noticeable differences in appearance and range values between the graphs, the overall patterns remain 58 4. Results Figure 4.11: Frame versus Range plot- Real motion quite similar. A closer look at the simulation plot reveals that the radar moves in discrete steps of 0.0428 meters, which aligns with the standard range resolution of the A111 sensor. Range resolution is defined as the minimum distance between two objects that enables the radar to distinguish them as separate targets. This is directly related to the system’s bandwidth, which, in this case, is 3.5 GHz. The range resolution is calculated as follows: Range Resolution = 3 × 108 m/s 2 × 3.5 × 109 Hz = 3 × 108 7 × 109 m = 0.042857 m (4.7) The radar plot derived from real measurements shows a continuous movement pat- tern, suggesting that the radar is operating with finer steps than its conventional range resolution of 0.0428 meters. This is supported by the sensor configuration data from the Acconeer exploration tool, which indicates a sampling distance of 0.48 mm as highlighted in Figure 4.12—implying that the radar achieves a range resolution on the order of millimeters. Achieving such high range resolution with the system settings shown in Figures 3.10 and 3.11 would typically be unattainable using standard radar processing techniques, where range resolution is directly tied to the bandwidth of the system. Further investigation revealed that the Acconeer A111 radar utilizes a unique signal processing algorithm, enabling its range resolution to not be dependent entirely on the system bandwidth. Although the exact signal processing method used by the radar is not fully clear, it is speculated that the radar utilizes a unique correlation- based technique. By correlating the received signal with delayed versions of the transmitted signal and leveraging phase information, the radar appears able to de- tect even minute changes in distance. This method allows for enhanced resolution and continuity in tracking, which likely explains the radar’s apparent ability to re- solve movement at sub-millimeter accuracy. 59 4. Results Figure 4.12: Sensor Metadata Information from real motion recording Distance from phase can be calculated as follows, For a sinusoidal wave with frequency f , the transmitted radar signal can be repre- sented as: S(t) = A cos(2πft + ϕ0) (4.8) where: • A is the amplitude of the signal, • f is the frequency, • t is time, • ϕ0 is the initial phase of the signal. After transmitting, this signal travels to the target and reflects back, introducing a time delay ∆t in the received signal. This delay causes a phase shift ∆ϕ relative to the transmitted signal. The phase shift ∆ϕ due to a time delay ∆t can be determined based on the rela- tionship between time and phase: • Each full cycle of the wave (one period T ) corresponds to a phase change of 2π radians. • The frequency f of the signal is related to the period by T = 1 f , so the signal’s phase changes by 2π radians every T seconds. 60 4. Results The phase change ∆ϕ corresponding to a time delay ∆t can be expressed as the fraction of the wave’s period that ∆t represents, multiplied by 2π: ∆ϕ = 2π · ∆t T (4.9) Substitute T = 1 f to get: ∆ϕ = 2π · ∆t · f (4.10) which simplifies to: ∆ϕ = 2πf∆t (4.11) This equation shows that the phase shift ∆ϕ is proportional to the frequency f and the time delay ∆t. In radar systems, the time delay ∆t is related to the distance d to the target. Since the radar signal travels at the speed of light c, the round-trip time delay ∆t is: ∆t = 2d c (4.12) Substituting this expression for ∆t into the phase shift equation gives: ∆ϕ = 2πf · 2d c = 4πdf c (4.13) Thus, the phase shift ∆ϕ is directly related to the distance d to the target, the frequency f of the radar signal, and the speed of light c. Therefore, ∆ϕ = 4πdf c (4.14) Achieving such high range resolution without knowing the exact algorithm Acconeer uses was the next challenge. None of the sensor parameters shown in Figures 3.10 and 3.11 could be changed since it would then no longer represent the original sen- sor used in the real measurements. After some study and experimentation, it was noticed that the results from the simulation closely matched the graph from the physical measurements when the length of the raw data was increased. The follow- ing steps summarize the algorithm used. As illustrated in Figure 4.14, the range values in the initial simulation exhibited an offset of approximately 20 cm when compared to real measurements. Upon further investigation, it was determined that this discrepancy was due to a 20 cm positional offset in the radar configuration within the simulation. To address this, the radar’s position was corrected as shown in Figure 4.13, and the simulation was subsequently rerun to align more closely with the real-world measurements. Using the updated raw simulation output, which provided complex received power values in the frequency domain, an inverse Fourier transform was applied to convert the data into the time domain. 61 4. Results Figure 4.13: Sensor layout for target in motion with adjusted radar position During this conversion to time domain, the frequency domain data was first ’Zero Padded’. Zero padding involves adding zeros to the end of a signal in the frequency domain before performing an IFFT. If the original signal has N samples, the data is extended by adding zeros to reach a larger number of samples, say M (where M>N), before applying the IFFT. This padding does not add any new frequency content to the signal—it simply increases the number of points in the time domain after the IFFT. This higher sample count adds more data points between peaks, which makes the resulting curve appear smoother when plotted. More frequency bins are created which makes the peaks appear sharper and allows better estimation of frequencies. This therefore helps with identifying the center of a target’s peak with more preci- sion within the range resolution limit. This method therefore helps in determining a target’s location with greater precision. Range was then calculated for all the pulses by multiplying the resultant time in- dices axis with the new apparent range resolution. The locations of received power peaks for each frame were then plotted, as illus- trated in Figure 4.14. This plot now shows a continuous profile, closely resembling the measurement data depicted in Figure 4.11. The range values align closely between the simulation and the measurements, and the motion trajectory is similarly consistent, though with some observable differences. The observed discrepancy can be attributed to the movement of the joints in AVx. 62 4. Results Figure 4.14: Frame versus Range plot- Simulation As described in the previous section, the robot’s motion is defined by the joint states of its arm throughout its trajectory. During the conversion from the Z-up coordi- nate system to AVx’s Y-up coordinate system, as well as the transformation of local angles to global angles for AVx, it was noted that a certain joint combination did not particularly align as expected with the conversion process. While the simula- tion suggested that the motion of the corner reflector closely matched that in the real world, the differences in motion trajectories, as seen in Figures 4.11 and 4.14, suggest that the misalignment of the joint combination may have contributed to the discrepancies. Given the time-consuming nature of the process, which requires extensive effort and experimentation, it was decided to retain the simulation in its current form. Considering the similarity between the two plots as shown in Figure 4.15, it is rea- sonable to conclude that AVx is accurately simulating the Acconeer A111. 63 4. Results Figure 4.15: Range versus Frame plots- Simulation v/s Real motion 64 5 Conclusion and Future Work 5.1 Conclusion This Master’s thesis presents a thorough approach to evaluating simulation results from Ansys AVxcelerate, aimed at achieving both accuracy and consistency. The thesis systematically explores various alternative methods for evaluating these re- sults, critically examining each in terms of its methodology and identifying their limitations. After a detailed assessment, the approach that produced the most reli- able outcomes was selected as the optimal solution. Since the simulations needed to be benchmarked against predefined standards, special care was taken to ensure that real-time measurements were both accurate and easi