Hi,
I am running Emlid Reach M2 on a dual gps ardupilot stack. Here2 CAN gps1 and Reach gps2.
I have followed the suggested install procedure. I get rtk fixed, however, I get PreArm: GPS is not healthy. Also EK2: Changed EK2_GPS_TYPE to 1, which indicates that vertical velocity is not provided.
Log: 15.09.2021 11:39:35 : PreArm: GPS is not healthy
15.09.2021 11:39:28 : EKF2 IMU1 is using GPS
15.09.2021 11:39:28 : EKF2 IMU0 is using GPS
15.09.2021 11:39:05 : PreArm: Need 3D Fix
15.09.2021 11:39:01 : EKF2 IMU1 origin set
15.09.2021 11:39:01 : EKF2 IMU0 origin set
15.09.2021 11:38:59 : GPS 2: detected as NMEA at 57600 baud
15.09.2021 11:38:53 : EKF2 IMU1 tilt alignment complete
15.09.2021 11:38:53 : EKF2 IMU0 tilt alignment complete
15.09.2021 11:38:52 : EKF2 IMU1 initial yaw alignment complete
15.09.2021 11:38:52 : EKF2 IMU0 initial yaw alignment complete 15.09.2021 11:38:51 : EK2: Changed EK2_GPS_TYPE to 1
15.09.2021 11:38:50 : GPS 2: detected as NMEA at 115200 baud
15.09.2021 11:38:50 : GPS 1: specified as UAVCAN
How did you configure the NMEA stream from Reach M2? Can you show the screenshots from ReachView 3? Apart from that, I don’t see any obvious reasons for such an issue. Your configuration looks fine.
I still have not found a solution to this. I see that sometimes, the reach unit switches to “waiting for corrections” for up to a couple of seconds, but this should not affect the prearm.
In the integration documentation it explicitly states not to use this as it is obsolete. I have therefore only tested NMEA.
Spent one full day testing every possible configuration, started looking at the api to ap-source code, nothing worked. I forced armed, but the copter experienced slight toiled bowling and instabilites, pointing towards data transfer issues.
After spending (too much) time on this, I finally got an RTK-fix using ERB with the following settings:
GPS_TYPE2,13
GPS_INJECT_TO,1
SERIAL4_BAUD,57
SERIAL4_PROTOCOL,5
GPS_AUTO_SWITCH,1
The update rate is at 5hz.
NMEA sends quite a lot of information in the packets, so it can be serial rate issues from the Reach to the autopilot.
I still do not know why this is not working with NMEA, I tested higher rates too. A lot of time could have been saved if a warning of this was stated in the documentation. Will ERB be supported? Is there a way I can run this on NMEA?
Note that I am using a canbus GPS as primary (here 2), Another important issue is that reach must run on separate power supply.
I’ve tried this setup myself and didn’t reproduce the same behavior. NMEA stream works. So, let’s see what could be an issue here.
We stated that the ERB format is deprecated since we’ve not made any changes in this protocol for a while. As Reach outputs the industry-standard NMEA format, we can be sure that there will be no issues with compatibility. That’s why we recommend using it instead. However, if ERB works for you, you can use it in your configuration.
Were you testing outside with this configuration? Reach should see the satellites to provide any valuable information in the stream.
Also, does the situation change when you select other options for the GPS_AUTO_SWITCH parameter? What happens if you choose only Reach receiver as a GPS?
Hi,
Thank you for the prompt reply. I did test the exact configuration with NMEA. For now the ERB seems to work, I will report back if anything changes.