Hello,
since I was stuck integrating the Marvelmind system on my Ardupilot copter and I had the recources, I decided to give PixHawk + PX4 a try and was able to integrate MM successfully. Please note that I used the uBlox protocol wich has to be purchased extra from Marvelmind.
I wanted to share my setup in case anybody has the same issues:
The system consists of 6 stationary beacons + 2 mobile beacons mounted on the copter with 25 cm distance. 4 of the stationary beacons are mounted on the ceiling and form a horizontal submap for XY tracking. Two of those four are reused to build a vertical submap together with 2 additional stationary beacons that are placed on the floor. This submap is only for Z tracking. The entire covered room is about LxWxH 5x4x2.5 m^3.
I have used PX4 v1.14.3 and MM v7.910. I connected only one of the two hedgehogs (mobile beacons) to the PixHawk 6C GPS1 port. The wiring is essentially like connecting a GPS + Compass module (except the 5V power is omitted, I left out the safety switch).
Resource of this image: https://marvelmind.com/pics/marvelmind_px4_integration.pdf
Part of the configuration that is described in this PDF is deprecated. I set the compass inconsitency check as well as EKF2_HGT_MODE: GPS as described in the file.
In the MM dashboard I have set the two mobile beacons to pairing mode. For the one hedge that I connected to the FC, Interfaces → Streaming output was turned to USB+UART. Please note that I used the uBlox protocol that I had to purchase extra for each of the two mobile beacons.
These settings were confirmed correct by the MM support, who I accounted for the troubleshooting.
Furthermore, I have also included my home coordinates in the modem’s tab under Geofencing.
With this configuration the hedgehog was emulating a GPS + Compass module and PX4 was able to use it for navigation. The stats were showing fixed 10 satelites and the signal was stable enough to keep the quad in a position hold mode within one meter horizontally. Vertically the stability was even better (other sensors, baro etc). Further tests will be carried out in the future once my testing environment is large enough to fly indoor missions.
Afterwards, I wanted to test the MM integration on ArduPilot again. On my other copter with a Matek H743 I freshly installed AP v4.5.4 but was not able to establish a GPS position although connected essentially in the same way and the MM system being configured as confirmed working with the PX4.
Now my questions:
Since the MM mobile beacon is sending out a ublox signal, the PX4 was never aware that it is recieving a signal from a “fake” GPS.
Why is the AP not accepting the ublox signal from MM?
Is Arducopter postprocessing the GPS + Compass signal in a more complex way than PX4 and the MM cannot deliver sufficiently good data to surpass this process or is there another issue?
Was this just my mistake? Did anyone else manage to get AP working with a emulated ublox signal?
Did anyone manage to get a indoor position from MM on Ardupilot in another way?
BR, Felix