- Mobile beacons in the Paired Beacons configuration for Location + Direction in IA modem with two external Omni-Microphones can be seen is installed on the robot
- Stationary beacons in 2D tracking are installed on the walls
If you are building a robot or an AGV and have to very quickly decide what to choose as a positioning and navigation system, choose the following:
Robotics is a very broad field. Very wide and deep at the same time. For example:
There will be hundreds of different types of robots around. They may be so different in appearance, they may use so different combinations of technologies that it would be rather difficult to cover them all. We certainly don’t aim at that here.
We have been asked quite many times about our opinion on different subjects of robotics – first of all, regarding precise indoor position for industrial applications, of course, since we have been active in this area for many years – but not only. Thus, we collected some of the most typical questions and answered them on this page.
We are covering just very few areas in which we as Marvelmind Robotics operate:
And the purpose of this note is to give an idea from where to start if you build your own robot or choosing between the available options.
Marvelmind indoor positioning system (Marvelmind IPS) also known as Marvelmind Indoor “GPS” or Marvelmind RTLS is widely used for different types of autonomous robots, autonomous vehicles, AGVs, forklifts for various purposes:
If you don’t have time to study the detail, but need to choose fast and safe, choose Starter Set Super-MP:
– 3D tracking with N+1 redundancy
– 2D tracking with up to 2 submaps
– 2D tracking with up to 3 mobile beacons (robots)
– 2D tracking with Location+Direction
– 1D tracking with up to 4 mobile beacons
Remember, that one mobile beacon per robot gives only location. For location and direction, you need the Paired Beacons – two mobile beacons per robot. See the next variant.
For Location+Direction, you need more than one mobile beacon per robot. Thus, the easiest is to add to the Starter Set Super-MP an additional Super-Beacon.
We call robots, first of all, autonomous mobile robots. Anything is which is directly guided by humans is not a robot. Anything that is not mobile, but has all robotic elements is a robot, but we do not focus on assembly robots. Our robots are:
Thus, when we are referring to robots, we mean autonomous mobile robots even if don’t use the long wording.
From this perspective, an autonomously flying copter is a perfect 3D moving robot. More about drone on our Drones page. But a remotely controlled drone is not a robot. However, the same drone autonomously returning to the base using RTK GPS or visual guidance is a perfect 3D flying robot.
Marvelmind Autonomous Delivery Robot v100.
IA with 15 stationary beacons and 1 modem for Indoor “GPS” coverage. See more: https://youtu.be/TWWg_8JHYzo.
The same Indoor “GPS” map supports on top of the robot shown in the video:
This is the same demo as https://youtu.be/TWWg_8JHYzo, but with additional verbal comments explaining what is what on the video and in the system in general.
Configuration:
Robot’s specs:
Fully autonomous robot is driving by its own relying on:
The robot receives coordinates for the key points to visit from the user (table on the right) and then creates and follows the path by constantly correcting its position against the path. Coordinates are formed automatically in the Dashboard by simple clicking on the map.
Distances between beacons are up to 36 meters. It is possible to cover with precise “GPS” the full campus by installing more beacons every 20-30 meters.
Marvelmind Indoor Navigation System + autonomous robot Marvelmind Hermes demo:
Mobile beacon is attached to the top of the robot. Robot receives its coordinates with ±2cm precision from the Marvelmind IPS and uses them to drive through the track fully autonomously.
There are intentional mild shadows for the Indoor Navigation System (column, padded stools) imitating real-life environment. While in the shadows, the robot relies on its inertial navigation system and odometer.
One of the biggest problem for any autonomous robot is to answer the question: “where am I?”. The question is immediately explodes into subsets of questions:
But everything starts with localization against some reference, for example: (0,0,0) coordinates whatever that could be or against the starting point or similar. Many other questions are derivatives of that master question.
There are several major option:
Against myself is easier in many cases, but it is about obstacle detection and avoidance, rather than moving and navigating in space. Let’s discuss in details about positioning and navigation against external references.
See more about coordinate systems:
SLAM (Simultaneous localization and mapping) is a cool method, but it doesn’t look like it is the most suitable method for real and practical industrial applications: warehouses, assembly plants, intralogistics in general. It is more suitable for research projects and PhDs rather than for pragmatic applications, because:
Thus, in short:
If the robot carries all required for localization onboard, it is inside-out localization. Humans and animals use inside-out localization. Not only and we will talk about it, but they do not normally need a direct and constant information where they in terms of a constant stream of coordinates. They determine it “inside” based on the different clues.
Some people call the process visual odometry. Of course, it works much better along with a regular wheel (feet) based odometry. And this is why it is to some extend easier to make a robot with a navigation system than just a navigation system for any kind of robots. Developers of such “universal positioning systems” would struggle, because the data coming from an odometer could be in virtually any format – analog with different values or digitally coded with unknown format. It could be with absolutely different resolutions and many other parameters could be different.
Thus, most systems inside robots are inherently linked. It shall be clearly understood and taken into account by anyone designing a robot right from the beginning.
It could be theoretically possible to do some sorts of converters. Kind of distantly resembling 50-Ohm high-frequency systems. Receivers, antennas, amplifiers, transmitters, they may have drastically different impedances. But people agreed to have 50-Ohm common impedance. Thus, all units convert their impedance to 50 Ohms and from 50 Ohms to their internal impedance. Yes, it brings losses and complexities and costs, but it turned out to be the most working solution in the radio frequency field. Something similar could be implemented here as well.
It could be done for robots … but it is not done. Yes, there are “universal interfaces” – like USB… hm… why are there so many different types of USB formats then?… 🙂 And why are there are so many other types of interfaces? – well, because of cost implications and other major constrains as complexity, power consumption, size – many indeed.
As a result, a universal interface remains distant and illusive. And the reality is rather messy and unique for each particular type of the robot.
In case of GPS, the coordinates are available in regular latitude and longitude of the Earth. Is some cases, it may be useful, when, for example, the robot is moving and out of the indoor. But for the majority of the real indoor cases, we are really interested in local coordinates only.
Thus, we are choosing them at our convenience. In Marvelmind Indoor “GPS”, usually, the system assigns one of the stationary beacons as (0,0,0) or (o,0). But you can set any point on the map as (0,0):
Moreover, it is possible to do a geo-referencing and assign an external GPS coordinates to the internal (0,0) point. After that, the stream of coordinates from the Marvelmind Indoor “GPS” would be in real GPS coordinates in NMEA0183 format. Or in the internal format: https://marvelmind.com/pics/marvelmind_interfaces.pdf
Unlike outdoor, where magnetometer/compass is available, calculating direction indoor, particularly, in static, is not a trivial task. For example, using our system, your robot can easily have a precise location. But if your robot doesn’t know its current direction – where it is facing – then, it is difficult for the robot to make a decision where to drive.
It is possible to rather quickly calculation the robot’s direction by measuring its current location point, driving 1m or so straightforward – keeping the straight direction using IMU/gyro – then measuring a new location, and by knowing two points and knowing that it was a line – not a curve – to calculate the robot’s current direction. Later, during the driving, employ the same technique all the time.
These older robots are using the approach:
The method is simple, requires only one mobile beacon (tag), but it works only, if you can drive. Very often, you can’t drive and need to localize right on the spot – in static. What to do?
Our recommended way to get direction in static is to use a Paired Beacons configurations.
Here is more about it. In NIA:
Another example: a self-driving autonomous Robot v100 with a base between the mobile beacons ~60cm. In IA:
Similar configuration with external microphones on a single mobile beacon. Though, it was done for VR, it could easily be a robot. The base between the microphone is ~20cm. In IA:
Obviously, there are many alternatives for each solution. For example, motion capture with external cameras. Is it a precise and good solution for both location and direction? – sure! Yes! Is it practical for industrial robotics? – not really:
Thus, we are not touching all possible options here. Only what is relatively relevant and implementable.
As discussed above, SLAM approach promises obstacle detection, mapping and localization at the same time. Sounds like a dream, but the reality is harsher and less friendly.
In real life conditions of poor lighting, a lot of high-dynamic range light sources – bright sun through windows together with very dark shadows of a warehouse, different other sources of light from headlights to all sorts of scanners, the visual-based SLAM solutions can be very easily confused to the point of a complete loss of localization. Additional methods for correction of major mistakes are required when SLAM systems can’t correctly choose between different options. Sensor fusion is the solution.
Additionally, why optimally (technically and economically) solve the task of localization, it is more difficult to optimally solve the task of obstacle detection, simply because the tasks and requirements are different in nature:
But the SLAM approach unnecessarily complicates the task by loading obstacle detection on top of mapping and localization:
All three elements are crucially important for autonomous driving, but they are not required to be the same thing. They are not required to be done with the same methods and by the same sensors.
Pros:
Cons:
Robotic platforms:
Payload or equipment:
One of the important points is to clearly distinguish between the robots and their payloads. It is very much the same as rockets and satellites. Two things are pretty separate and shouldn’t be mixed up. The same story with tractors and tractor mounted equipment.
One of the important points is to clearly distinguish between the robots and their payloads. It is very much the same as rockets and satellites. Two things are pretty separate and shouldn’t be mixed up. The same story with tractors and tractor mounted equipment.
Very often, though, the robots are made fully integrated, i.e. robots and their payloads is merged together tightly. There are pros and cons for the united robotics approach.
Pros:
Cons:
Pros:
Cons:
Robotic platforms:
Payload or equipment:
Making a single robot driving autonomously is not a very easy task. But to make a swarm of robots is even more challenging.
Marvelmind can help with localization of robots in swarms, which is the starting and the most important point, because, if it is solved properly, then many other difficulties of robots swarms simply don’t happen.
See swarm examples and solutions below.
The page will steadily grow in details and subjects based on your questions and our available time. Thus, please, send your questions to info@marvelmind.com and we will be happy to address them in detail here.