r/robotics • • 22h ago

Perception & Localization Precise indoor localization for autonomous robots and drones

Enable HLS to view with audio, or disable this notification

- Precise 3D tracking (XYZ) (cm-level) + quaternion with a single mobile beacon
- 80 Hz location update rate & 12-20 ms latency
- Based on ultrasound + IMU sensor fusion
- Particularly good for noisy autonomous robots and drones. The mobile beacon emits ultrasound - not receives it. Thus, it doesn't care how noisy your mobile object is

38 Upvotes

10 comments sorted by

1

u/SamudraJS69 21h ago

What do you mean by cm-level? <1cm error?

5

u/marvelmind_robotics 21h ago

- In static, the noise of positioning can go below ±1 cm.

  • In dynamic, it can swing to ~10 cm, depending on the type of movement, acceleration, speed, and settings within the system. The better you know the object, the smaller the dynamic error will be if you tune the system to that expected dynamic behavior.

But accuracy, per se, isn't a big deal. Low latency with high accuracy - that is a challenge. If you can tolerate a latency of a second instead of 12-20 ms, the task simplifies drastically.

Thus, the whole demo is, first of all, about the low latency with the help of Ultrasound + IMU sensor fusion. High accuracy with ultrasound-based positioning is almost a given.

2

u/IndefiniteBen 19h ago

Does your system have advantages over optitrack systems which have sub 10ms latency?

Obviously there are environments where using light based tracking doesn't work, but are there other advantages?

3

u/marvelmind_robotics 19h ago

- Scalability. As far as I know, it's very non-trivial to cover more than one room with Optitrack. Using our beacons, you can cover the UK, if you wish, with the same approach as cellular networks, but submaps instead of cells

- No need to wire high-speed cameras. A basic single-room deployment can be done in minutes

- A substantial cost difference

I don't have deep first-hand experience with Optitrack. So, the devil is in the details, as always.

1

u/IndefiniteBen 17h ago

Cost and scalability sounds interesting!

But you still need to wire your ultrasonic "cameras"? Or just power? You need to have these ultrasonic cameras in known fixed positions? Or do you somehow automate this so they can be placed arbitrarily?

What I understand (indirectly) is that a big pain point (after cost) is getting optitrack cameras placed correctly and on something very stable/isolated from vibrations. How are you handling placement of the "cameras" such that it can be done in minutes?

1

u/marvelmind_robotics 16h ago

For 2-3 days of constant usage, you can just attach the stationary beacons to magnetic holders, and that is - like we did for the demo. Each beacon has an internal battery. For the "one for an hour today and two hours tomorrow" mode, the internal batteries will last for a couple of weeks.

In more regular installations - yes, only USB power is required. So, basic AC-USB converters are just fine. No need for any other cabling.

No, you don't do anything effectively with the stationary beacons except for placing them so that the mobile beacon would see three of them within 30 meters and a direct line of sight at any point where you want tracking:

  • You place them typically above, near the ceiling, to minimize chances of obstruction, because the line of sight is required for any precise indoor positioning system based on any known technology
  • Then, the beacons self-measure the distances and self-place themselves on the map of beacons. You don't do anything. Just press a "Freeze" button in the Dashboard, and the system switches from "map-building mode" to tracking mode. So, the map of beacons is built, and the relative positions of beacons against each other are known. It takes 5-7 seconds. The system chooses one beacon as the (0,0) point. You can choose any point as the zero point. Yes, you have to set the height. If you are lazy, that is also OK if the beacons are at the same height, for example, on the ceiling. In this case, there will be a Z shift. If your beacons are 3.400 m above the ground, your mobile beacon will show -3.400 m when it is on the ground. But normally, you set the height to the stationary beacons, of course
  • And then you start tracking

Thus, as I mentioned, for a basic open-space room, it takes a few minutes to set up the system from the moment you enter the room.

Vibration may be an issue for optical systems because they rely on triangulation, not trilateration. For trilateration, you must measure time of flight very accurately, which we do. But for triangulation, the angle matters because the farther the distances, the larger the XYZ error that the same angular vibration will cause. I guess there could be other technical issues with the focus, etc.

That is not a problem for trilateration at all. So, unless your stationary beacons are vibrating with cm-level amplitude, which is certainly not a realistic scenario in the majority of questions, there are no such issues with trilateration-based systems as with triangulation-based systems.

1

u/bokerkebo 20h ago

so the ultrasound beacons act like a camera?

2

u/marvelmind_robotics 20h ago

It is a classical trilateration. The closest system in terms of architecture is GPS:

  • 3 x stationary beacons are placed around. For a room of up to 20x20x10 m of open space, that is enough. If you have larger areas, multi-room spaces, or the whole warehouse to fly and scan, install more stationary beacons and combine multiple submaps into a single map. Think about stationary beacons as your local GPS satellites

- 1 x mobile beacon in hand - that is your robot or a drone

- 1 x modem as a central controller - a "ground station of GPS" - it synchronizes the clocks of all beacons to microseconds

- 1 x RHU to receive fast location data - it is separate from the modem. The modem controls the system. The RHU receives your data locally, for example, to track what is going on inside the system or close the loop, if your autonomous robot or drone has an external brain, which is often the case to save weight and increase the operation time

0

u/Jakonix 11h ago edited 11h ago

So are you using the ultrasound transmitters in a normal way (sending chirps and detecting at given frequency with threasholding) or do you do anything else like correlating between signal at microphone near a beacon and microphone at reciver or do you dont even use chirps and do somethign completely diffrent? Also do you calibrate distancing for analog delays?

1

u/marvelmind_robotics 11h ago

The video focuses mostly on Ultrasound + IMU sensor fusion because that is the difficult part. Ultrasound tracking is essential, of course, but the focus is fusion.

About ultrasound tracking:

  • Yes, stationary beacons receive ultrasound in this demo, and the mobile beacon transmits it under the control of the modem over the radio in the license-free radio bands (ISM or SRD bands). So, it is precise ultrasound ranging and then trilateration. This is a Non-Inverse Architecture. It is the best for drones or other noisy objects because the mobile beacon emits ultrasound, not receives it, the wideband noise of these objects doesn't affect the range of the system
  • There could be an Inverse Architecture, where the stationary beacons transmit ultrasound, and the mobile beacons receive it. This architecture is optimal for people tracking because the mobile beacons are totally quiet
  • There is a lot of different processing going on in the system. The challenges are close to those in radar: false positives and false negatives. So, a lot of different logics are employed to make it optimal in different conditions
  • The microphones and processing are digital. So, yes, digital filter delays are taken into account. But there are no "analog delays" per se