8 basic steps from unpacking to autonomous drive/flight

Use our Indoor “GPS” solution if you need a robust and precise indoor positioning system. To achieve accurate indoor tracking, you must follow a step-by-step guide from the Operating Manual and the video guides. That is easy.

But what to do next? How to use the location data in your system? How to use it with your autonomous robot or drone? For tracking forklifts, humans, or the tip of a crane?

Let us give some essential hints and recommendations to save time and energy.

Before you jump in, make sure you are familiar with the step-by-step approach and truly embrace it. Then, you can successfully deploy multi-layer systems like ours.

Basic steps recommended:

  1. Watch the Unpacking video
  2. Follow all other essential materials like Operating Manual, Placement Manual
  3. Avoid Typical mistakes
  4. Achieve basic tracking for the most straightforward configuration. Don’t jump over deployment steps
  5. Attach the mobile beacon to your mobile object only when the basic tracking is good. Push the mobile object around. Monitor tracking
  6. Start using your mobile object in a remote-controlled way and monitor tracking
  7. Connect and integrate with your external system (ROS, PixHawk, Arduino, etc.)
  8. Attempt autonomous flight/drive

1) Watch unpacking video

We have produced many helpful videos on using our indoor positioning system – Indoor “GPS”. The most fundamental ones are about Unpacking Marvelmind Indoor “GPS”. Watch it first to know what to do when you get a parcel from us.

Since we have so many different hardware variants, the video was published quite some time ago, and we progressed far with developing the SW. The details are slightly different. But the whole idea and approach are the same. Check the video. Get the point and follow the Operating Manual‘s step-by-step guide in more detail.

2) Follow the Operating Manual's step-by-step guide

For most common Starter Sets, we just put a step-by-step guide in the Operating Manual explaining in deep detail what to do to get the tracking from the system. It is straightforward.

Thus, we won’t focus on those details in this article. We assume that you have followed them and successfully made the system up and running.

3) What are the next steps?

After you have good tracking in the Dashboard, it is time to think about integrating it into your device. Not earlier.

In general, we very strongly advise sticking to the following strategy:

  • Move to the next stage only when you succeeded in the previous step
  • Don’t jump over. It will likely bring to the loss of time and to a need to return back
  • If you struggle, check the Help page

We explained the approach in the example of setting up an autonomous drone:

The same underlying logic is applicable in the vast majority of other real cases.

Let us explain the logic, recommended approach, and its essential steps.

Step 1: Achieve perfect tracking in the Dashboard

First, you must achieve perfect tracking in the Dashboard.

If you can’t achieve it in your final configuration, for example, 3D with the Paired Beacons in a map with 20 submaps – a pretty complex setup – simplify. Achieve perfect tracking without the Paired Beacons. If it still doesn’t work – reduce the total number of submaps to a single 3D submap. Still doesn’t work? – make it 2D. Reduce the complexity till you get perfect tracking in the most simple configuration. If needed, use the embedded Oscilloscope inside the Dashboard.

After you achieve the perfect tracking in the most straightforward configuration, increase complexity one step at a time. Monitor tracking, If lost – you will know your last action. Return to the previous step where you had success and check there. Maybe, it is lost already. Check what caused the problem. Fix and continue climbing the complexity.

There could be more than one right way

Typically, there is more than one right way to achieve the same result in the end:

a) Make all large maps for basic tracking first, and only then start integrating your system

b) Go through all steps on the most straightforward comparable map, achieve full integration, make an autonomous flight, and after that, increase the complexity of the map to the final one

Both approaches have merits. The choice is yours. What we very much discourage is to attempt to build everything and “plug and pray” – no, that will be a waste of time very-very likely. Save your time. Do it in steps and monitor and confirm the performance on each stage before going to the next one.

Step 2: Physically attach the mobile beacon to your mobile object

At this stage, you physically attach the mobile beacon to your mobile object and try to track it. You may power it from your mobile object’s power if it is available and planned to be used.

What is checked?

– In your robot/drone/forklift’s conditions, the basic tracking is still OK. It could not be OK for multiple reasons: obstructions caused by your mobile object, the noise of your mobile object, interference with radio/telemetry of your mobile object, lousy power supply of your mobile object, etc. There are many unexpected things. Before you continue, you must rule out that the very fact that you connect the mobile beacon to your mobile object kills the tracking

Step 3: Start partially use your mobile object with mobile beacon attached

In the previous stage, your mobile object was static. You attached the mobile beacon and probably, powered it from your mobile object, but it was static.

At this stage, your mobile object is moving. It could be pushing the robot around or moving the drone in hands – not yet an autonomous drive – not even a remotely controlled drive – just basic movement – not static anymore.

What is checked?

The fact of movement does break tracking. There could be whatever reasons: in static, a cover didn’t block, but with a moving object, you close a lid, it blocks the ultrasound path and tracking as a result; or while moving, the mobile beacon falls due to vibration, etc. – there could be many unforeseen things

Step 4: Move the mobile object remotely controlled

It is time to control your mobile object and see the tracking remotely. At this stage, some cases are already complete. For example, basic tracking of people or forklifts is done already – there is nothing remotely controlled. In Step 3, you have checked that everything works, and you can jump over. But for something autonomous (robots, AGVs, drones, boats, etc.), you still need to check that the remote controls don’t interfere with the tracking system.

What is checked?

Well, potentially, multiple things. Usually: telemetry/remote radio control doesn’t interfere, and that full-blown power consumption by the drone’s motors doesn’t produce too much noise on the power supply lines and other interference due to sparks, wind, vibration, or something similar. In Step 3, the mobile object was slow-speed, cautious, etc. Now, you are checking all conditions the mobile object must experience but still remotely controlled – nothing automatic just yet.

Step 4: Move the mobile object remotely controlled

Step 5: Integrate

It is time to integrate with your system whatever you have: Arduino, Raspberry PI, PixHawk, PLC or WMS, etc.

Your primary source of help and information is a Downloads page.

The main document describing interfaces is Hardware interfaces and data exchange protocols with Marvelmind devices.

The same logic is applied here: don’t jump over; get some basic connectivity and proceed in small steps to identify at what stage the mistake is made. Many systems have many small settings; often, a single one can cause a failure, for example, UART speed, UDP address, or an essential parameter in ArduPilot settings.

Relevant links:

Notice that we have different types of beacons and modems, and they have other interfaces and protocols supported. Double-check what exactly you have. Maybe, you are trying to get what is not supported in your hardware:

  • USB
  • Virtual UART over USB
  • UART
  • SPI
  • I2C
  • RS485
  • WiFi
  • CAN
  • UDP

Check the settings: The most typical – the address is not chosen, wrong baud rate, etc.


Step 6: Do autonomous movements

By this moment, you have confirmed and solid tracking. You have integrated your mobile object successfully. It is getting the mobile data that can use it. It is time to do the autonomous movements – drive autonomously, fly autonomously, swim autonomously – whatever the system was intended for. Of course, make it cautiously with all the safety measures with the lowest speed, etc., but it is time.

Scroll to Top