Using a UAVCAN GNSS/compass/baro module with ArduPilot

518 views
Skip to first unread message

Holger Steinhaus

unread,
Nov 11, 2014, 3:08:03 AM11/11/14
to drones-...@googlegroups.com
During the last weeks I have played around with some new type of GNSS receiver: http://docs.zubax.com/Zubax_GNSS (many thanks to Pavel Kirienko for supplying the modules!). The module is using GLONASS and GPS for positioning simultaneously, additionally it contains a MS5611 baro and a HMC5883 compass. All sensor values are supplied via UAVCAN connection. 

The module is already supported by drivers contained in the latest master of PX4/Firmware. As a result, the baro and the compass could work out of the box with APM, even if APM is absolutely unaware that they are connected via UAVCAN. To get the GNSS part working, I decided to chose a very similar architectural approach like the one that was chosen for the AP_Compass_PX4 and AP_Baro_PX4 driver: Instead of talking to the hardware directly, the preprocessed location/heading/altitude information is delivered by the low level drivers contained in the PX4 firmware. A very slim proxy driver subscribes on them via PX4 ORB and feeds the high-level information into APM. 

During the last days I made a first test flight using this code. I was very pleased by the performance of the GNSS part. The HDOP is usually around 0.5 in good GPS condtions and slightly below 1.0 in the damp and rainy weather that we had yesterday. The loiter looks amazingly quiet (once again way better than  with the latest UBlox M8N module). The compass is not working perfectly yet, as APM uses some really low-level ioctls on the device (e.g. for compass IDs), which are not supported by the module yet. I am working on this issue and will submit a PR to the PX4/Firmware repo. The baro is not supported with APM yet, as APM is not aware of more than one baro. 

Here are two logs from flights with this module: 
https://www.dropbox.com/s/n5o6qzflghgzcw0/289.BIN?dl=0 (good GPS weather, major compass trouble)
https://www.dropbox.com/s/5gd2s3hyl0hdf70/321.BIN?dl=0 (bad GPS weather, flying with internal compass)

The code used for this flight was submitteded here:  https://github.com/diydrones/ardupilot/pull/1580 . Note: the UAVCAN PX4 module has to be included into the build and APM startup scripts, e.g. by applying my patches from https://github.com/diydrones/ardupilot/pull/1323 .

Regards,
  Holger

Jonathan Challinger

unread,
Nov 11, 2014, 3:13:42 AM11/11/14
to drones-...@googlegroups.com
So, I've seen issues in ublox M8 logs where there was timing jitter on the GPS fixes. This was resulting in very noisy loiter.

I don't know if a fair comparison can be done without resolving that issue. Also, we support dual GPS so maybe a flight should be done with both GPSes on board?

--
You received this message because you are subscribed to the Google Groups "drones-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to drones-discus...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Philip Rowse

unread,
Nov 11, 2014, 3:15:49 AM11/11/14
to drones-...@googlegroups.com
That looks great!  Looking forward to lots of CAN stuff with Pixhawk 2!

Philip Rowse 
Electrical Engineering Department
3DRobotics
Ballarat
Australia



--

Thorsten

unread,
Nov 11, 2014, 3:12:58 PM11/11/14
to drones-...@googlegroups.com
Holger, from your logs the performance of Zubax GNSS is astounding! The NEO M8 is already far better compared to the LEA 6. However, as Jonathan mentioned there seem to be some timing issues (I really have to look into this) and it is pretty sensitive to bluetooth interference. I never saw a HDOP below 1. My M8 is often between 1.1 and 1.3, when the LEA 6 is around 1.6.
I assume this is at least partly due to the better shielding on the Zubax module. Are there any other differences? The specs look pretty much the same compared to the M8.
Slightly OT... Another question: the vibration of your copter are very very low. Can you provide some details about your setup (frame, props, motors, battery)?

@Philip, some details on Pixhawk 2? :-)

Holger Steinhaus

unread,
Nov 12, 2014, 4:21:57 AM11/12/14
to drones-...@googlegroups.com
@Jonathan: using both in parallel is definetely planned for the next test flight. Will be done as soon as the stupid compass trouble is resolved (almost done).

Holger, from your logs the performance of Zubax GNSS is astounding! The NEO M8 is already far better compared to the LEA 6. However, as Jonathan mentioned there seem to be some timing issues (I really have to look into this) and it is pretty sensitive to bluetooth interference.
Ok, very intersting. I do not have bluetooth on board, but I suspected that the GPS quality declined a bit the day when I changed my RC radio to a two-way telemetry type (FASST -> FrSky).
 
I never saw a HDOP below 1. My M8 is often between 1.1 and 1.3, when the LEA 6 is around 1.6.
I assume this is at least partly due to the better shielding on the Zubax module.
Yes, the shielding is very nicely made, and the PCB offers a large ground plane, compared to the usual modules. 


Slightly OT... Another question: the vibration of your copter are very very low. Can you provide some details about your setup (frame, props, motors, battery)?
You would never believe my sophisticated strategy of vibration control - i call ist NIL. The Pixhawk PCB (without case) is mounted on the rather rugged aluminium frame (15x15x1 - no other material at hand during build) by using M4 nylon spacers (15mm long). No rubber, no isolation, no flexibility, no vibrations ;-) . Motors are stock Iris motors, using APC 10x4.7 props, roughly statically balanced with a magnetic balancer.

 Holger

Alejandro Lorenzo Gallego

unread,
Nov 12, 2014, 10:58:22 AM11/12/14
to drones-...@googlegroups.com
On Tuesday 11 November 2014 00:08:03 Holger Steinhaus wrote:
> During the last days I made a first test flight using this code. I was very
> pleased by the performance of the GNSS part. The HDOP is usually around 0.5
> in good GPS condtions and slightly below 1.0 in the damp and rainy weather
> that we had yesterday. The loiter looks amazingly quiet (once again way
> better than with the latest UBlox M8N module).

How can that be possible if this module is using the u-blox MAX-M8C for GNSS ?
Better Antenna ?

it really baffles me.

Holger Steinhaus

unread,
Nov 12, 2014, 11:57:28 AM11/12/14
to drones-...@googlegroups.com, alejand...@yahoo.es
As suggested, I did a short flight with both modules connected. The weather was rather poor again, a layer of thick clouds and some mist/fog with cloudbase around 150m and up to 1500m (aviation weather forecast), at least there was no considerable wind and turbulence.

You can find the log of the flight with both GPS here:
https://www.dropbox.com/s/9jp5dg32wzvu9bu/iris-dual-gps-326.BIN?dl=0

A few minutes later I did another flight, but I removed the M8N. The Zubax module was still configured as GPS2:
https://www.dropbox.com/s/qn4h671xp95jg5m/iris-zubax-328.BIN?dl=0

A few notes: The M8N was connected on the primary GPS port, so I configured it as GPS1 and the Zubax GPS as GPS2. Obviously APM also chose the M8N as primary (it was configured as GPS1, while the Zubax was GPS2). One thing was strange: before and during flight, there were lots of GPS warning tones, especially in situations with high bank angles. I guess this is related to the dual-GPS constellation, as I did not get any tones in the flight thereafter with only the Zubax GNSS. The M8N alone has worked well and without any tones for more than 100 flights before. Switching EKF on and off did not change the situation. 

For anybody who doesn't want to download megs of logs, here are some pics. HDOP and sat count are plotted over the whole flight, the latitude picture shows a short period of static PosHold.


How can that be possible if this module is using the u-blox MAX-M8C for GNSS ?
Better Antenna ?
No idea, but I guess it's a combination of antenna, PCB design and choosing the right config for the u-Blox module. 
 
Holger
m8n_zubax_comparison_lat.png
m8n_zubax_comparison.png

Philip Rowse

unread,
Nov 12, 2014, 12:27:34 PM11/12/14
to drones-...@googlegroups.com, alejand...@yahoo.es
@Thorsten :) watch this space :)

Philip Rowse
Electronics Engineering Dept
3DRobotics
Ballarat
Australia

--

Randy Mackay

unread,
Nov 12, 2014, 1:32:50 PM11/12/14
to drones-...@googlegroups.com, alejand...@yahoo.es

     Re the GPS glitches/warnings.  I haven't looked at the logs so I'm guess but the gps-glitch protection currently does not check if the primary GPS has changed so when we switch from one gps to another it could easily cause a glitch and if it goes on too long it could trigger a GPS failsafe (i.e. land or switch to althold).

-Randy

mm mm

unread,
Nov 14, 2014, 8:37:38 AM11/14/14
to drones-...@googlegroups.com
Hello,

since this august i am flying the Zubax GNSS Receiver on my Copter too. The PX4-Native Flight-Stack did work out of the Box with this GNSS Receiver, which is connected over the
CAN-Bus to the Pixhawk. The performance of it is very amazing. Even in the Basement i receive 10+ Satellites. The combination of the new Ublox 8 Engine, a big Patch Antenna and a good
LNA on the PCB with big Groundplane. This Receiver is able to use GPS and GLONASS Satellites at the same time. This is good for Areas, where not enough GPS Satellites can be received.
Compared against my LEA-6H GPS Module, i can say, that the precision in RTL and in Loiter is many times better than using the LEA-6H.

Here you can find two Videos of a Copter, which is using the new GNSS Module.

http://youtu.be/-poeeL5qVpA

http://youtu.be/e3q2h21Qyhw

Cheers,
Marco
Reply all
Reply to author
Forward
0 new messages