-
Notifications
You must be signed in to change notification settings - Fork 34
RTK GPS Holybro M8P
※1: U-center is used as a server, not a configurator. The key of RTK GPS system is RTCM which is packet from RTK calculation from base station. NTRIP system is to transfer RTCM from base station server to client.
※2: ROS receives the RTCM from NTRIP system to convert to ROS topic, and finally transfer to ROVER GPS. Note that, the ROS topic for RTCM /rtk_gps/rtcm
has no robot name prefix; on the other hand, the published topics from rover gps (e.g. rtk_gps/rel_pos
, rtk_gps/fix
) have the robot name prefix ~
(e.g., /hydrus
).
※: This is a special case that ROS master is in Base Station Laptop2. Because ROS topic for RTCM /rtk_gps/rtcm
has no robot name prefix, if each rover
has a NTRIP client (ROS node) to run, then there were multiple /rtk_gps/rtcm
published in the whole ROS system simultaneously. So, we need to only establish one NTRIP client in the whole system. This is the reason we run one NTRIP client in Base Station Laptop2.
-
~/rtk_gps/rel_pos
: position of rover GPS antena related to the base station antena with XYZ (North-West-UP) world frame. -
~/rtk_gps/fix
: latitude and longitude of rover GPS antena with high accuracy -
~/rtk_gps/fix_velocity
: velocity of rover GPS antena with high accuracy with NED (North-East) world frame. -
~/rtk_gps/navpvt
: raw message ofUBX::NAV_PVT
. Useful information is satellite number.
- NTRIP Client Node: https://github.com/tongtybj/ublox/tree/holybro_rtk_m8p/ntrip_ros
- Ublox GPS Node: https://github.com/tongtybj/ublox/tree/holybro_rtk_m8p/ublox_gps
- U-Center is necessary to not only change configuration, but also publish RTCM from connected base station GPS module.
- Select proper port from the left-top "connector" icon and also the baudrate (115200) from neighboring "signal" icon. When the connection is established, the "connector" icon will turn to be green.
Select Reciever/NTRIP Server/Caster
from top tabs, then fill the server configuration as following images. After click OK
, you can see NTRIP server: xxx.xxx.xxx.xxx:2101
at the bottom bar of u-center.
After connecting the USB cable more than 300s and the position accuracy (3D Acc) is less than 4 m, you can confirm the fix mode is TIME
in the right top window as shown in the follow images. then the base station is ready to publish RTCM messages for RTK. You can also confirm the change of base station GPS by View/Message Packets/UBX/NAV/PVT
as following images.
Note: this is only required for the first time to configure a new module with factory settings.
-
Download the configuration file Holybro_M8P_BaseStation.txt
-
Click
Tools/Receiver Configuration
: -
Load the configuration file and click
Transfer file -> GNSS
(TODO: please rename the configuration file)
Please refer to this site to know which configuration should be modified, but do not set the same value. Please confirm the value in our provided configuration file.
Note: this is only required for the first time to configure a new module with factory settings.
-
Download the configuration file Holybro_M8P_Rover.txt
-
Click
Tools/Receiver Configuration
: -
Load the configuration file and click
Transfer file -> GNSS
(TODO: please rename the configuration file)
The factory settings allow to publish NMEA protocol message, which should be blocked in both USB and UART1 port. Besides, we have to entirely stop UART1 output. Otherwise, you will see an error message from ublox gps: Inf: TX buffer alloc
, which indicate the overflow in ublox chip tx buffer.
TODO: add more parameters to https://github.com/tongtybj/ublox/blob/holybro_rtk_m8p/ublox_gps/config/holybro_m8p.yaml to address above issues, and test with factory settings module.
See here.