At Stanley Robotics especially in the robosoft team, we are constantly aiming to address three key issues in mobile robotics: Where is the robot, where do we want it to go and how can it get there.
For me, most of my work in recent months has been in finding a solution that responds effectively and sustainably to the first issue.
One of the most important things to know is that localization is a fundamental building block for any intelligent robot. The challenge is in knowing precisely where it is at all times, if it has accurately followed instructions, and if has positioned itself well when interacting with the objects around it: as you may have guessed in our case, it's all about cars.
Localization is essential but in relation to what? Generally speaking, we need a map of the environment in which we're working, and from this we're looking to find out the position and orientation of our robot.
In a small or walled-in environment (typically indoors) there are plenty of markers that allow us to use SLAM type algorithms; a location algorithm that uses sensors that collect information about the environment, such as a scanning laser (LIDAR) or, more rarely, a camera.
By detecting walls or other points of reference, it is possible to determine the position of the robot with a very close precision such as that of the sensor used. In our case and with our sensors, we are able to achieve centimetre accuracy.
However, when we operate in an environment with few markers, where there are a lot of dynamic obstacles that are likely to modify the map (in this case cars), location by SLAM is not enough. To fill these gaps we have introduced a satellite positioning strategy (GNSS). Of course, the accuracy of a conventional GNSS receiver, such as those used in smartphones, cars etc. is 10m and not accurate enough for our application.
We have therefore turned to a technique called Real Time Kinematic, which by using signals from the different constellations of satellites, provides us with centimetre accuracy.
However, for the GNSS localization to be effective, its antennas must have an unobscured view of the sky. In our application, the customer vehicle recovery area consists of covered cabins and when robot approaches to see into the interior, part of the sky is obscured and some satellite signals are no longer tenable.
This is an opportunity for us: laser and GNSS sensors go hand in hand. In the cabins the laser will be the most efficient because it will have many points of reference to negotiate with, and in open ground, the GNSS will have the advantage because the sky will be completely unobscured.
To be able to exploit these two systems, you have to have the laser and the GNSS using the same coordinate system, in other words operating from the same map.
- For the laser system, we have coordinates from a map that we created ourselves from the parking markers.
- For GNSS we have well known geographical coordinates on a world map: latitude, longitude and altitude.
To have the two coordinate systems working as one, several transformations must be made:
- First, we will apply a projection on the GNSS geographic coordinates to obtain plane coordinates, like a paper map.
- Then we must determine the complete transformation, composed of a translation and a rotation between the reference plane given by the laser and that of the GNSS. This makes it possible to determine the position of the GNSS antenna in the same reference frame as the position of the laser.
Lastly, we have to make a conversion to bring the position of the GNSS antenna to the position of the laser. We need to have both a position from the laser and the GNSS at the same place and at the same mark.
Finally, we used a combination of strategies to determine the source of the location to be used: laser and/or GNSS, depending on the position, the number of visible satellites and the number of burrs available to ensure location accuracy throughout the robot's operating area.
In my opinion, this new GPS system will allow us to accelerate the growth of our service and the precision we have acquired will be an additional factor to the industrialization of Stanley Robotics.