-
Notifications
You must be signed in to change notification settings - Fork 20
Utilize RTK GNSS mobile stations with ROS
RYUSEI OTSUKA edited this page Oct 23, 2021
·
6 revisions
- GNSS受信モジュールのUblox ZED-F9Pを使ってRTK測位を行う方法をまとめたページです.
- このページはUblox ZED-F9P RTK-GNSS 移動局を ROS で使用を参考にしています.
- GALLERIA GCR2070RGF-QC
- Ubuntu 18.04
- RTKLIB 2.4.3 b33
- ROS melodic
- Ublox ZED-F9P (GNSS受信モジュール)
- Ntripサーバ (www.rtk2go.com)
- Ublox ROS package
1.RTKLIBの導入
- Githubから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
注意
git clone -b rtklib_2.4.3 https://github.com/tomojitakasu/RTKLIB.git
はそのままコピペするとうまく行かないことがあるので、GithubのURL部分は一度RTKLIBに飛んでリンクをコピーすること.
- Ntripサーバから基準局情報を取得する
cd str2str/gcc
./str2str -in ntrip://rtk2go.com:2101/[基準局のMountPoint] -out serial://ttyACM0:115200
- 基準局のMountPointは善意の基準局掲示板等のMt.Ptを参照
- 接続先、ボーレートは要確認のこと
2.ublox ROS packageの導入
- Githubからublox ROS packageをダウンロードし,ビルド
cd <catkin_ws>/src
git clone https://github.com/KumarRobotics/ublox.git
cd ../
catkin_make
- ublox ROS package のパラメータファイルの作成 ublox/ublox_gps/config/[適当な名前].yaml でパラメータファイルを作成する.
# Configuration Settings for ZED-F9P device
debug: 1 # Range 0-4 (0 means no debug statements will print)
device: /dev/ttyACM0 # ZED-F9P rover serial port
frame_id: gps
config_on_startup: false # use chip config
uart1:
baudrate: 112500 # serial port baudrate
in: 32
out: 3
# Enable u-blox message publishers
publish:
all: false
nav:
all: true
relposned: true
posllh: true
posecef: true
- ublox ROS package の起動
roslaunch ublox_gps ublox_device.launch node_name:=ublox param_file_name:=[作成したyamlファイルの名前]
注意
param_file_nameには.yaml
をつけない
3.実行後について 1.2の実行後、ROS Topicを確認する
$ rostopic echo /ublox/fix
---
header:
seq: 250
stamp:
secs: 1597544202
nsecs: 13159
frame_id: "gps"
status:
status: 2
service: 1
latitude: XX.6383066
longitude: XXX.0486526
altitude: 46.18
position_covariance: [0.002209, 0.0, 0.0, 0.0, 0.002209, 0.0, 0.0, 0.0, 0.0047610000000000005]
position_covariance_type: 2
---
Status:Statusの値が2になっているとRTK測位による解析Fix解が得られています.