ublox_dgnss
ublox_dgnss copied to clipboard
Portable RTK Base Station Setup
I am trying to configure the base and rover stations having exactly this setup: https://docs.holybro.com/gps-and-rtk-system/f9p-h-rtk-series/portable-rtk-base-station-setup
For Base RTK UBLOX U-Center app:
PRT: UART1, 57600 baud, RCTM3 out, UBX in…press send button in lower left
TMODE3: Survey-in, 60seconds, 2 meters…press send
MSG: RTCM3.3 - 1005, UART1 in/out, 1sec…press send
RTCM3.3 - 1074, UART1 in/out, 1sec…press send
RTCM3.3 - 1084, UART1 in/out, 1sec…press send
RTCM3.3 - 1094, UART1 in/out, 1sec…press send
RTCM3.3 - 1124, UART1 in/out, 1sec…press send
RTCM3.3 - 1230, UART1 in/out, 5sec…press send
CFG: Save current configuration to FLASH…press send
For the Base:
params_base= [
{'DEVICE_SERIAL_STRING': "esab"},
{'FRAME_ID': "base"},
# config measurement interval to 200 ms (ie 5 Hz) and nav update rate to once per measurement
{'CFG_RATE_MEAS': 0xc8},
{'CFG_RATE_NAV': 0x1},
# disable all messages on UART2
{'CFG_UART2INPROT_NMEA': False},
{'CFG_UART2INPROT_RTCM3X': False},
{'CFG_UART2INPROT_UBX': False},
{'CFG_UART2OUTPROT_NMEA': False},
{'CFG_UART2OUTPROT_RTCM3X': False},
{'CFG_UART2OUTPROT_UBX': False},
# set UART1 baud rate to 57600
{'CFG-UART1-BAUDRATE': 0xE100},
# send RTCM messages only (to rover) on UART1
{'CFG_UART1INPROT_NMEA': False},
{'CFG_UART1INPROT_RTCM3X': False},
{'CFG_UART1INPROT_UBX': False},
{'CFG_UART1OUTPROT_NMEA': False},
{'CFG_UART1OUTPROT_RTCM3X': True},
{'CFG_UART1OUTPROT_UBX': False},
# RTCM and UBX messages as required on USB
{'CFG_USBINPROT_NMEA': False},
{'CFG_USBINPROT_RTCM3X': True},
{'CFG_USBINPROT_UBX': True},
{'CFG_USBOUTPROT_NMEA': False},
{'CFG_USBOUTPROT_RTCM3X': False},
{'CFG_USBOUTPROT_UBX': True},
# output RTCM messages required for moving base+rover mode on UART2
{'CFG-MSGOUT-RTCM_3X_TYPE4072_0_UART1': 0x1},
{'CFG-MSGOUT-RTCM_3X_TYPE1074_UART1': 0x1},
{'CFG-MSGOUT-RTCM_3X_TYPE1084_UART1': 0x1},
{'CFG-MSGOUT-RTCM_3X_TYPE1124_UART1': 0x1},
{'CFG-MSGOUT-RTCM_3X_TYPE1230_UART1': 0x1},
# messages required for navsatfix calcs by ROS node
{'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_COV_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_STATUS_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_PVT_USB': 0x1},
]
For the Rover UBLOX U-Center app,:
PRT: UART2, 57600Kbaud, RCTM3 in, UBX out…press send
CFG: Save current configuration to FLASH…press send
For the Rover:
params_rover = [
{'DEVICE_SERIAL_STRING': "revor"},
{'FRAME_ID': "rover"},
# config measurement interval to 200 ms (ie 5 Hz) and nav update rate to once per measurement
{'CFG_RATE_MEAS': 0xc8},
{'CFG_RATE_NAV': 0x1},
# disable all messages on UART1
{'CFG_UART1INPROT_NMEA': False},
{'CFG_UART1INPROT_RTCM3X': False},
{'CFG_UART1INPROT_UBX': False},
{'CFG_UART1OUTPROT_NMEA': False},
{'CFG_UART1OUTPROT_RTCM3X': False},
{'CFG_UART1OUTPROT_UBX': False},
# set UART2 baud rate to 57600
{'CFG-UART2-BAUDRATE': 0xE100},
# receive RTCM messages only (from base) on UART2
{'CFG_UART2INPROT_NMEA': False},
{'CFG_UART2INPROT_RTCM3X': True},
{'CFG_UART2INPROT_UBX': False},
{'CFG_UART2OUTPROT_NMEA': False},
{'CFG_UART2OUTPROT_RTCM3X': False},
{'CFG_UART2OUTPROT_UBX': False},
# send/receive UBX messages only on USB
{'CFG_USBINPROT_NMEA': False},
{'CFG_USBINPROT_RTCM3X': False},
{'CFG_USBINPROT_UBX': True},
{'CFG_USBOUTPROT_NMEA': False},
{'CFG_USBOUTPROT_RTCM3X': False},
{'CFG_USBOUTPROT_UBX': True},
# messages required for navsatfix calcs by ROS node
{'CFG_MSGOUT_UBX_NAV_HPPOSLLH_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_COV_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_STATUS_USB': 0x1},
{'CFG_MSGOUT_UBX_NAV_PVT_USB': 0x1},
# output relative position messages
{'CFG_MSGOUT_UBX_NAV_RELPOSNED_USB': 0x1},
]
However, I can not see the base and rover communicating. Is there a way to debug?
From Base ros2 topic echo /base/ubx_nav_status
:
header:
stamp:
sec: 1708617982
nanosec: 466416165
frame_id: base
itow: 403600400
gps_fix:
fix_type: 3
gps_fix_ok: true
diff_soln: false
wkn_set: true
tow_set: true
diff_corr: false
carr_soln_valid: true
map_matching:
status: 0
psm:
state: 0
spoof_det:
state: 2
carr_soln:
status: 0
ttff: 12622
msss: 4355423
From Rover ros2 topic echo /rover/ubx_nav_status
:
header:
stamp:
sec: 1708617868
nanosec: 285342624
frame_id: rover
itow: 403486200
gps_fix:
fix_type: 3
gps_fix_ok: true
diff_soln: false
wkn_set: true
tow_set: true
diff_corr: false
carr_soln_valid: true
map_matching:
status: 0
psm:
state: 0
spoof_det:
state: 2
carr_soln:
status: 0
ttff: 4549
msss: 4392950