ROS与传感器教程-Ublox RTK GPS结合RTK2go服务基站使用
ROS与传感器教程-Ublox RTK GPS结合RTK2go服务基站使用
说明:
- 介绍如何测试Ublox RTK GPS
- 具体产品,点击淘宝地址
步骤:
- 参考连线,现成产品RTK GPS的uart1口为ttyUSB0,uart2口为ttyUSB1
- 安装驱动:
- 重用现有工作空间,或新建工作空间:
mkdir -p ~/catkin_ws
cd ~/catkin_ws/src/
git clone -b f9p https://github.com/ncnynl/ublox
cd ..
catkin_make
利用Python脚本来获取RTK2Go服务测试
- 配置RTK2go基站脚本
- 功能是把RTK2go基站的rtcm数据传入给rtkgps
- 其中一些数据需要更改为自己的,打开脚本
roscd ublox_gps/script
vim ./ntripclient_go.py
- 修改如下内容
- gps接受RTCM数据uart2串口的端口,波特率等,其他数据可以根据自身需要变动
- RTK2Go 基站不需要发送GPGGA数据即可自动返回RTCM差分数据
f9p_uart2_port = '/dev/ttyUSB1'
f9p_uart2_baud = 9600
- 如果端口号和波特率有变化,根据实际的填写
- RTKGPS的UART1口usb先接入上位机,启动GPS
- 启动GPS
roslaunch ublox_gps ublox_rtk.launch
- RTKGPS的UART2口usb再接入上位机,启动基站脚本
- 启动RTK2Go基站脚本
roscd ublox_gps/script
python ntripclient_go.py
- 查看话题
$ rostopic list
/diagnostics
/gps/fix
/gps/fix_velocity
/rosout
/rosout_agg
- 查看话题/gps/fix内容
$ rostopic echo /gps/fix
---
header:
seq: 271
stamp:
secs: 1625710168
nsecs: 99423
frame_id: gps
status:
status: 0
service: 1
latitude: xx.0649714
longitude: xxx.0553912
altitude: xx.36
position_covariance: [2.2022559999999998, 0.0, 0.0, 0.0, 2.2022559999999998, 0.0, 0.0, 0.0, 2.455489]
position_covariance_type: 2
latitude
:纬度,北纬为正数,南纬为负数
longitude
:经度,东经为正数,西经为负数
altitude
:海拔高度,单位是米
- 查看话题/gps/navpvt内容
rostopic echo /gps/navpvt
- 效果如下:
fixType: 3
flags: 67
flags2: 234
numSV: 32
lon: 1130553000
lat: 230649881
height: 21146
hMSL: 27410
- 如果是flags等于1 (3D) 是flags大于64, 进入浮点解(3D/float), flags大于124,进入固定解(3D/Fixed)
- 采用RTK2go,目前测试主要是能进入浮点解
利用RTKLIB来获取RTK2Go服务测试
- 安装RTKLib
git clone -b rtklib_2.4.3 https://github.com/tomojitakasu/RTKLIB.git
cd RTKLIB/lib/iers/gcc/
make
cd RTKLIB/app/consapp
make
- 启动str2str
- 选择MountPoint,可以参考
- 假设rtkgps的uart2口是/dev/ttyUSB0
cd str2str/gcc
./str2str -in ntrip://rtk2go.com:2101/aamakinen -out serial://ttyUSB0 :238400
- 效果:
2021/07/06 09:54:51 [CE---] 652335 B 6631 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:54:56 [CE---] 655659 B 6618 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:01 [CE---] 659814 B 6621 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:06 [CE---] 664800 B 6644 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:11 [CE---] 668955 B 6621 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:16 [CE---] 673110 B 3310 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:21 [CE---] 676434 B 6618 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:26 [CE---] 680589 B 6631 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
2021/07/06 09:55:31 [CE---] 685575 B 6644 bps (0) rtk2go.com/aamakinen (1) /dev/ttyUSB0
- 启动GPS
roslaunch ublox_gps ublox_rtk.launch
- 查看话题/gps/fix内容
$ rostopic echo /gps/fix
---
header:
seq: 271
stamp:
secs: 1625710168
nsecs: 99423
frame_id: gps
status:
status: 0
service: 1
latitude: xx.0649714
longitude: xxx.0553912
altitude: xx.36
position_covariance: [2.2022559999999998, 0.0, 0.0, 0.0, 2.2022559999999998, 0.0, 0.0, 0.0, 2.455489]
position_covariance_type: 2
latitude
:纬度,北纬为正数,南纬为负数
longitude
:经度,东经为正数,西经为负数
altitude
:海拔高度,单位是米
- 注意:使用百度或谷歌地图直接查询的经纬度,获取的地图定位因为是经过特殊处理,所以是不准确。
- 请使用Google Earth来验证定位。
使用Google Earth验证位置
- 使用网页版Google Earth,点击进入https://earth.google.com/web/
- 点击页面左边的搜索,写入 “latitude纬度 longitude经度” 以你实际的维度和经度为准
- 点击确认回车进行定位
参考:
- https://github.com/KumarRobotics/ublox
- http://wiki.ros.org/ublox
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号