It all started with the fact that we, like many, also made robots - autonomous, mobile, with a bunch of sensors and huge potential. Actually, we still continue to do them. But once again faced with one of the key tasks of the robots - determining their position in space and navigating indoors - we decided to focus on solving this task. That's what came out of it. The video below was shot right at the Skolkovo Robotis 2015 conference. I just installed the stationary beacons on the columns on the first floor of the Hypercube (green points on the map), woke up the beacons, picked up a mobile beacon (blue point) and walked around the floor:
')
And so you can walk with two beacons in their hands:
This is what the beacons themselves look like (both mobile and stationary):
Every day brings some improvements in the firmware and software. At the moment, the maximum distance between the lighthouses is up to 50 meters.
I hasten to note that accuracy is a very subtle and multivalued concept. But from a practical point of view, it makes sense to build on the tasks, which we were guided by. For example, it is important for a robot to know where it is located; where are the obstacles that he has already found; where is the way he can walk. Thus, when the speed of sound in air changes (temperature, pressure, humidity), the measured distance changes both to beacons and to objects. The card is breathing. But the relative distances do not change. This allows the robot, as before, to find obstacles, path, doors and walls.
Why is ultrasound?
Before choosing the scheme used - active ultrasonic beacons with synchronization and exchange by radio and trilateration - we went deep into possible options for determining the position of the robot in space:
Lidar: - Right. Handsomely. Expensive. If not expensive, it is not very convenient. Need to scan. A scan is a mechanic. It is much more difficult and immediately less reliable and even more expensive. But in general, it is a very good sensor if it is suitable for tasks and if you know how to manage it. And do not need beacons. You can immediately go to the unknown. As an option - the simplest distance meters on IR sensors. Or more complex - with permanent lasers or scanning lasers and cameras. Same options. But its limitations are similar to those of lidars.
Ultra-wide band (UWB): - Very cool. Most likely, sooner or later it will work well. Tighten semiconductor technology. Prices will fall. Somehow, the issue with stability, phase noise, limiting the spectral density of the radiated signal at 41.3 dBm / MHz will be solved. But for the time being it’s somehow not very possible to order ready-made components. They are just about somewhere very close, but somehow still escape. But there are many developments and they are promising. We are waiting and heeding.
Bluetooth and WiFi beacons - Potentially very good options for phones and for accuracy up to several meters, because they do not require anything extra, except what is already in the phone. Coupled with inertial systems inside the phones and other additional data, most likely, accuracy of less than a meter is achieved in practice. Every year in Barcelona, MWC shows developments - and every year is very interesting. In order to lead a person in a shopping center to a shelf with goods - very badly. For the robot, perhaps, is not enough. He needs centimeters in order not to knock down the walls and doors. Plus, most often need a preliminary calibration room placement. And, of course, the radio does not require direct visibility - this is a big plus. Well, for robots, at a minimum, you need a phone or its filling ... But in fact, a whole phone can be cheaper.
Odometry - Very good accuracy at short distances, as long as there are no obstacles, as long as good grip on the wheels. One of the main sources of information for robots. But it requires, from time to time, checking the current position on an additional data source, for example, on Indoor “GPS”. Without corrections, the error accumulates very quickly and makes the position calculation impossible. In addition, odometry is good for calculating the position of the robot relative to the starting point of the robot. But it says nothing about the position of the robot in space relative to other objects - walls, corridors, doors.
Inertial systems - Just as with odometry, you can get very good results and very quickly - with a frequency of tens of Hz. But the error accumulates and requires adjustment for some other information sources. Like odometry, inertial systems are good for measuring relative position changes. The initial position must be specified in some other way.
Optical systems - Sweet dream. So far, I have not seen quality work. The potential is huge. But difficult and not reliable. And you just want to reliably.
Special optical systems - There are beautiful special options when the robot determines its position with the help of a vertically looking camera, identifying bright objects, such as lamps, and positioning them as stars. Looks beautiful. Does not require lighthouses. In some cases - it will work fine.
GPS - The good old GPS, unfortunately, does not work when satellites are not visible. And the accuracy is meters. In general, for robots and premises is not very suitable.
Magnetometry - Something very sophisticated. For special and special occasions. And, perhaps more likely, as an additional data source. In addition, it requires pre-calibration of the room and is too susceptible to the influence of its own magnets on the robot, for example, from motors or speakers.
Other - There are many other exquisite options. For example, you can leave an invisible mark - print dots on the floor, spray chemicals - leave marks. It is beautiful. In some cases - convenient, reliable, and accurate. - Movement along the line - well, as if, not quite what we would like. But in special cases it is very simple and reliable. - Complicated options with optical labels pre-installed on walls, ceilings, objects around. Very good and relatively cheap option for positioning on the premises. Requires a preliminary "markup" of the territory. But, if you do it simply and automatically or, even if you allow the robot itself to mark the territory, during the first passages of the territory, it can be a very cheap and accurate option.
In general, there were many possible systems. But taking into account our goals and objectives of the robots, as well as financial constraints, we stopped at the simplest and most inexpensive operating version with ultrasound, which with simple solutions would give centimeter accuracy.
Results and Next Steps
- We made a navigation system based on ultrasonic active beacons, because this approach is working now and solves the problems facing our and many robots. Pilot clients include mobile robots from the United States, a team of Spanish student crews, a French medicine delivery robot in a hospital, and a couple of Russian advertising robots.
- Does this system solve all indoor navigation tasks? No, not all. For example, when the direct visibility of the beacons is difficult or there is active interference in the ultrasound, the system may show suboptimal results. But there are solutions - more frequent installation of beacons and the use of ultrasonic sensors for "clean" ranges.
- In addition, according to the results of Skolkovo, it turned out that "the same, only for a greater distance" need several other types of robots: to park in the parking lot; to beautifully clean the snow and not break other people's cars and walls. So we played a little and expanded the radius of work in ultrasound to 50 meters and we are making a variant of a suitable climatic version.
- The best solution for navigation is to use a bunch of several systems that complement each other. The specific combination depends on the tasks of the robot and the existing constraints (accuracy, size, current consumption, money, and so on).