Space exploration has used robotics for centuries to automate monotonous tasks with their robustness, accuracy, and precision. As the development of autonomous vehicles progressed, they can now traverse unpredictable surfaces, conduct scientific tests, and send the data millions of kilometres away to Earth without any human intervention. This has enabled the use of robots in environments too dangerous for any human being to survive. One of the tasks of such robots is to traverse surfaces autonomously. The task seems trivial for regular humans, as it is intuitive to our brains. But in terms of robots, it is a complicated task that requires coordination among multiple systems.
To understand the problem and the complexity behind it, let us consider a simple case of autonomously traversing from point A to point B with no obstacle, no boundary, and no sense of initial direction. The bot must be equipped with an inertial measurement unit (IMU)(A sensor that consists of an accelerometer, magnetometer, and gyroscope and gives us the direction and information about the velocity and acceleration) and a global positioning system (GPS).
There are multiple ways to approach this problem. One method would be to use the triangulation method, which gives the error in the heading of the bot. The bot will then correct the error relying on the onboard compass (magnetometer). In practice, the compass has to be calibrated properly in the given environment for it to turn accurately. This correction can be applied at any point when the bot crosses a certain tolerable error. (To know more on the approach head to “Motion of Unmanned Ground Vehicles”).
Another approach would be to use the properties of a 2D cartesian coordinate system to find the direction of the error. This method is not as precise as the one above but can solve the problem nonetheless. Here, the idea is to keep the frame of reference in such a way that the initial point and the destination lie on the positive X-axis.
To understand the idea, let us consider a vehicle at a certain point (xi,yi) with the destination at (a,b). Now, the bot moves to a current coordinate (x,y).
Assume (xi, yi) to be the origin and the line joining (xi, yi) with (a, b) to be the X-axis such that (a, b) is in the positive X-axis.
In this system, if our current y coordinate is positive w.r.t our X-axis (lies above the X-axis), then the bot has to rotate in the clockwise direction. If the y-coordinate is negative it indicates that the current position is below X-axis, in which case it has to rotate in the anticlockwise direction. Otherwise, the bot is pointing in the right direction. Once the bot moves, the reference axes should always transform to have the initial point as the origin and the destination on the positive X-axis.
This method of traversal is useful in cases where the sensor data is not reliable or in case of an unprecedented failure of IMU. It can move towards the destination even if it runs past it or gets deviated by some randomness on the terrain. This method can further be modified to estimate the magnitude of rotation and linear movement by taking into account the x coordinate of the current position in the w.r.t our X-axis along with the y-coordinate. The algorithm heavily relies on GPS, thus requires a decent positioning system in place for it to work effectively. This method is ineffective indoors as the GPS signals are weak.
We can increase the accuracy of GPS with an accelerometer using sensor fusion techniques like Kalman filter.
Practically, the sensors tend to interfere with the surroundings, causing an error in their readings. This adds on to the challenge. For instance, the magnetometer readings change with the amount of surrounding hard and soft irons. Such errors can be avoided with the sensor properly calibrated. Fortunately, there are elegant solutions available for protecting the sensors from such interferences. Numerous methods have been explored, and in this day and age of technology, we can iterate substantial solutions which can further be utilised.
This approach to autonomous traversal was used by our team for a competition which was supposed to take place in the US.