Satellite navigation is a system of satellites that provide autonomous geospatial positioning with global coverage. It allows electronic receivers to determine their location (longitude, latitude, and altitude) with high precision using time signals transmitted from satellites.
The Global Positioning System (GPS) is a prominent example of a satellite navigation system. It is a constellation of about 24 active satellites orbiting the Earth, maintained by the U.S. Department of Defense.
Triangulation: The fundamental principle behind GPS is triangulation. By knowing its distance from several satellites, a GPS receiver can determine its location through a process known as trilateration. A GPS receiver needs signals from at least four satellites to calculate its position: three for coordinates (latitude, longitude, and altitude), and one for time correction.
Distance Measurement: Each GPS satellite broadcasts signals carrying time-stamped information. The GPS receiver compares the time a signal was transmitted by a satellite with the time it was received. The time difference tells the receiver how long it took the signal to travel, which can then be converted into a distance measurement since the signal's speed (speed of light) is known.
Clock Synchronisation: Precise timing is crucial for GPS. While the satellites carry atomic clocks for high precision, the clock in a GPS receiver isn't as precise. This discrepancy can introduce errors in calculating distances. To correct this, signals from at least four satellites are needed. The fourth measurement allows the receiver to correct its internal clock and reduce timing errors.
Orbiting Satellites: GPS satellites orbit the Earth in a way that ensures at least four satellites are visible from any point on the Earth's surface at any given time. This arrangement ensures that a receiver can always make a location fix.
Signal Information: The signals from the GPS satellites carry information about the satellite's location, the precise time the signal was transmitted, and the general health of the system.
The accuracy of GPS can be affected by various factors, including signal blockage (like buildings or trees), atmospheric conditions, and clock inaccuracies. Improvements in GPS technology and techniques like Differential GPS (DGPS) have been developed to mitigate these issues.
There are other satellite navigation systems in operation as well, such as the European Union's Galileo, Russia's GLONASS, and China's BeiDou. These operate on principles similar to the GPS system.
SECTION 2 | SIMULTANEOUS LOCALISATION AND MAPPING (SLAM)
SLAM (Simultaneous Localisation and Mapping) is a complex process and can be divided into several key principles: Initialisation: The first step in SLAM is the initialisation of the map and the initial pose (position and orientation) of the robot. This stage can be challenging in some situations, such as when starting in an unknown environment. Landmark Extraction: As the robot navigates, it uses its sensors (like cameras, LIDAR, or ultrasonic sensors) to identify distinct features or landmarks in the environment. These can include corners, edges, or specific objects. Data Association or Correspondence: This stage involves matching the observed landmarks with the existing ones in the map. This process allows the robot to recognise previously visited areas. State Estimation: Using sensor data and the known motion model of the robot, the system estimates the robot's current pose (position and orientation) and the positions of landmarks. This typically involves probabilistic methods, as there is always some uncertainty in the measurements. Map Update: The map is updated with the new information. This can involve adding new landmarks to the map or updating the positions of existing ones. Loop Closure Detection: When the robot revisits a location it has seen before, this is a loop closure. Detecting loop closures allows the system to correct accumulated errors in the estimated trajectory and map. This can significantly improve the consistency and accuracy of the map. Optimisation or Map Refinement: Over time, errors can accumulate in the map due to various factors, such as sensor noise or drift. Optimisation algorithms, like graph-based optimisations or bundle adjustment, are used to minimise these errors and improve the accuracy of the map and the trajectory.
SLAM, or Simultaneous Localisation and Mapping, is an essential technology for autonomous systems like BotPro's rescue robot. It addresses two critical challenges:
1: Localisation: Determining the robot's position within an environment. 2: Mapping: Constructing or updating a map of the environment.
In the context of the BotPro case study; Accurate Mapping of the Area,SLAM allows the rescue robot to create a map of its environment in real-time as it navigates through it. This is particularly important in situations where the robot has to operate inside buildings damaged by disasters, as the layout of these structures could be significantly different from any existing floor plans.
In such scenarios, using sensors like LIDAR, cameras, or IMUs, the robot can identify distinct features or landmarks within its surroundings and use these to build an incremental map of the area.
Navigation in a Dynamic and Unknown Environment by simultaneously localising itself and mapping the environment, the robot can understand where it is within the area it has already explored. This understanding aids navigation and allows the robot to plan optimal paths to its target locations, even when these environments are unknown and dynamic. For instance, in the damaged factories in the case study, SLAM would enable the robot to manoeuvre around debris, avoid collapsed areas, and find routes to survivors more efficiently.
Dealing with GPS-Denied or Degraded Environments, SLAM does not rely on GPS signals for navigation, making it ideal for indoor environments or locations where the GPS signal is weak or unavailable, such as inside factories or buildings. This ability to operate without GPS is crucial for the rescue robot in the case study, which struggled with navigation due to insufficient GPS signal strength.
During its operation, the robot might experience situations where tracking is lost due to rapid movements or sensor limitations. In such cases, relocalisation helps the robot find its position in the previously mapped area. Loop closure detection is another aspect of SLAM that can benefit the rescue robot. If the robot returns to a previously visited location, it can use this information to correct accumulated errors in its map and pose estimate, resulting in a more accurate and consistent map.
Incorporating SLAM into BotPro's rescue robot could significantly improve its ability to navigate and operate in complex, unknown environments, thereby enhancing its overall performance in rescue missions.
SECTION 4 | BUNDLE ADJUSTMENT
Bundle Adjustment is a key optimisation technique commonly used in computer vision and photogrammetry, including SLAM (Simultaneous Localisation and Mapping) applications. It refines a visual reconstruction to produce jointly optimal 3D structure and viewing parameters (camera pose and possibly intrinsic parameters as well).
To further understand the principles of Bundle Adjustment In the context of the BotPro case study, it can be broken down into 4 parts; Error minimisation, Consistency mapping, Improved mapping and Loop closure
Error Minimisation is carried out as the rescue robot moves through the factory, it continuously observes features in its environment and estimates its own position (pose) and the position of these features in 3D space. However, these estimates are not perfect due to factors such as sensor noise, occlusions, or limited field of view. Over time, small errors in these estimates can accumulate, leading to significant drifts in both the robot's estimated trajectory and the structure of the generated map.
Bundle Adjustment is a process that aims to minimise these errors by adjusting the robot's trajectory and the 3D positions of the features in a way that the overall error is minimised. This process involves solving a large optimisation problem that adjusts the 3D point locations and camera parameters to minimise the re-projection error; the difference between the observed position of points in images and the projected position of points from 3D to 2D.
By employing Bundle Adjustment, the rescue robot can maintain a more accurate and consistent map of the environment. This consistency is particularly crucial in cases where the robot has to navigate in challenging, dynamic, and unknown environments such as the damaged factories in the case study.
Improved Navigation is achieved with a more accurate map and a better estimate of its own location (pose), the robot can navigate more reliably and efficiently, making it more capable of reaching survivors and performing necessary tasks in rescue operations. Improved mapping can be achieved with higher quality sensors and sensor fusion involves combining data from multiple types of sensors.
Bundle Adjustment also plays a significant role during loop closure events, when the robot returns to a previously visited location. It can adjust the entire trajectory to ensure consistency, which is important for minimising drift and maintaining an accurate map over long distances and durations.
In the context of BotPro's rescue robot, Bundle Adjustment can be a powerful tool to maintain an accurate and reliable map of the environment, improving the overall performance of the robot in navigation and rescue operations.
SECTION 4 | SENSOR FUSION MODEL
Sensor Fusion and Bundle Adjustment are two distinct concepts that play important roles in autonomous systems like the BotPro rescue robot. While both are involved in improving the robot's understanding of its environment and its place within it, they operate differently and serve different purposes.
Sensor Fusion is the process of combining data from multiple sensors to improve the system's understanding of the environment. In the context of the BotPro rescue robot, sensor fusion might involve using data from cameras, LIDAR, IMUs (Inertial Measurement Units), and potentially other sensors.
The main advantage of sensor fusion is that each type of sensor has its strengths and weaknesses, and by combining them, the system can obtain more accurate and robust information about the environment.
For instance, a camera can provide rich visual information, but it may struggle in low-light conditions or fail to accurately gauge distances. On the other hand, LIDAR can accurately measure distances and is not affected by lighting conditions but provides less detailed information about the environment. An IMU can provide high-frequency data about the robot's movements, but it's prone to accumulative errors over time (drift).
By fusing these data, the robot can build a more comprehensive understanding of its environment, improving its ability to map the area and navigate successfully. For example, data from the camera and LIDAR can be combined to create a detailed 3D map, while data from the IMU can be used to track the robot's movements in between the individual sensor readings.
While sensor fusion is about combining data from different sensors, Bundle Adjustment is a mathematical optimization process that is used to refine the estimates of the robot's trajectory (poses) and the 3D positions of the observed landmarks (features), based on the visual information (usually from a camera).
In the context of the BotPro rescue robot, Bundle Adjustment would involve taking the visual observations of features in the environment, along with the initial estimates of the robot's poses and the 3D feature positions, and adjusting these estimates to minimize the reprojection error – the difference between the observed positions of features in the image and the projected positions of 3D points onto the image plane.
This process doesn't involve any fusion of different sensor data; instead, it refines the existing data to make the map more accurate and consistent. It's usually performed as a part of the SLAM process after the robot has gathered initial data about the environment and its location.
Sensor Fusion and Bundle Adjustment are both important for the BotPro rescue robot, but they serve different purposes. Sensor Fusion is about combining different sensor data to get a more complete picture of the environment, while Bundle Adjustment is about refining the visual observations to create a more accurate map and trajectory. Both are essential for improving the robot's mapping capabilities and its ability to navigate in challenging environments.
SECTION 5 | ROBOT DRIFT
Robot drift refers to the accumulation of small errors over time that cause the robot's estimated position and orientation (its pose) to diverge from its actual pose, many of the above technologies are designed to minimise robot drift. This is a common challenge in navigation and mapping tasks, especially in long-duration operations or in environments where GPS or other external positioning signals are unreliable or unavailable.
Here's are some ways robot drift could come into play in the BotPro case study:
Inertial Measurement Unit (IMU) Drift: An IMU, which measures acceleration and angular velocity, is often used to estimate changes in the robot's pose. However, the measurements from an IMU are noisy, and when these measurements are integrated over time to estimate position and orientation, the noise can accumulate, causing the estimated pose to drift away from the true pose. This effect can be particularly pronounced when the robot is operating for a long time without reliable external position updates, such as when it's inside a factory where the GPS signal is weak or non-existent.
Odometry Drift: Odometry, which estimates the robot's pose based on wheel rotations or visual features, is also subject to drift. For example, if the robot's wheels slip or if the visual features are incorrectly matched, the estimated pose can start to diverge from the true pose.
Mapping Errors: Errors in the robot's map of the environment can also lead to drift. For instance, if the robot incorrectly matches a feature in its camera view to a feature in its map (perhaps because the features look similar or because of sensor noise), it could believe that it's in a different place than it actually is.
To combat drift, systems like BotPro's rescue robot often employ techniques like loop closure detection and bundle adjustment. Loop closure detection involves recognising when the robot returns to a previously visited location, which can provide a "reality check" and an opportunity to correct accumulated drift. Bundle adjustment is an optimisation process that adjusts the robot's trajectory and the positions of landmarks in its map to minimise the overall error, thus reducing the impact of drift.
In the BotPro case study, addressing the challenge of robot drift is essential for improving the robot's ability to accurately map its environment and navigate to survivors in challenging, GPS-denied environments like the inside of a damaged factory.