Ublox ZED-F9P RTK-GNSS 이동국을 ROS에서 사용
사용환경
사용 패키지
Ntrip 서버로부터 기준국 정보를 취득하여 Ublox ZED-F9P의 이동국에 입력한다.
Ublox ZED-F9P의 RTK-GNSS Fix 해를 시리얼 포트로부터 취득해 ROS Topic
sensor_msgs/NavSatFix
로 발신.1. RTKLIB를 사용하여 ULOX ZED-F9P의 이동국에 기준국 정보를 입력
RTKLIB 2.4.3 b33
git clone -b rtklib_2.4.3 https://github.com/tomojitakasu/RTKLIB.git
cd RTKLIB/lib/iers/gcc/
make
cd RTKLIB/app/consapp
make
참고: RKTLIB GUI 버전의 설치는 RTKLIB 2.4.3 CLI 버전 GUI 버전을 Ubuntu18.04에 설치 참고합니다.
Ublox ZED-F9P는 RTK 측위 연산 엔진을 내장했기 때문에, 기준국 정보를 입력하면 RTK 측위를 실시합니다.
cd str2str/gcc
./str2str -in ntrip://rtk2go.com:2101/[基準局のMountPoint] -out serial://ttyACM0:230400
str2str 실행 로그
stream server start
2020/08/15 12:27:23 [WC---] 0 B 0 bps (0) connecting... (1) /dev/ttyACM0
2020/08/15 12:27:28 [CC---] 3297 B 6527 bps (0) rtk2go.com/[基準局のMountPoint] (1) /dev/ttyACM0
ttyACM0 : PC에 꽂은 이동국 ZED-F9P의 시리얼 포트
230400: u-center에서 이동국 ZED-F9P의 serial baud rate의 설정값
(참고 : RTLLIB GUI 버전의 STSVR-QT에서도 동일한 기능을 수행 할 수 있습니다.)
2. ublox ROS package로 이동국 RTK 연산 결과를 ROS Topic으로 발신
ublox ROS 패키지
cd <catkin_ws>/src
git clone https://github.com/KumarRobotics/ublox.git
cd ../
catkin_make
ublox/ublox_gps/config/zed_f9p_rover.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: 230400 # serial port baudrate
in: 32
out: 3
# Enable u-blox message publishers
publish:
all: false
nav:
all: true
relposned: true
posllh: true
posecef: true
config_on_startup을 true로 설정하면 ROS 패키지의 RTK-GNSS 설정에서 ZED-F9P 칩 설정을 덮어쓰므로 해석 Fix 솔루션을 얻지 못할 수 있습니다.
roslaunch ublox_gps ublox_device.launch node_name:=ublox param_file_name:=zed_f9p_rover
roslaunch 실행 로그
SUMMARY
========
CLEAR PARAMETERS
* /ublox/
PARAMETERS
* /rosdistro: melodic
* /rosversion: 1.14.3
* /ublox/config_on_startup: False
* /ublox/debug: 1
* /ublox/device: /dev/ttyACM0
* /ublox/frame_id: gps
* /ublox/publish/all: False
* /ublox/publish/nav/all: True
* /ublox/publish/nav/posecef: True
* /ublox/publish/nav/posllh: True
* /ublox/publish/nav/relposned: True
* /ublox/uart1/baudrate: 230400
* /ublox/uart1/in: 32
* /ublox/uart1/out: 3
NODES
/
ublox (ublox_gps/ublox_gps)
auto-starting new master
process[master]: started with pid [7994]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to 9536ba60-def3-11ea-b404-60f81dc512a8
process[rosout-1]: started with pid [8005]
started core service [/rosout]
process[ublox-2]: started with pid [8009]
[ INFO] [1597494836.219074203]: U-Blox: Opened serial port /dev/ttyACM0
[DEBUG] [1597494836.219916723]: U-Blox: current_baudrate 230400
[DEBUG] [1597494836.220839605]: EXT CORE 1.00 (61b2dd), HW VER: 00190000
[DEBUG] [1597494836.220867963]: ROM BASE 0x118B2060
[DEBUG] [1597494836.220893785]: FWVER=HPG 1.12
[DEBUG] [1597494836.220917198]: PROTVER=27.11
[DEBUG] [1597494836.220937605]: MOD=ZED-F9P
[DEBUG] [1597494836.220956464]: GPS;GLO;GAL;BDS
[DEBUG] [1597494836.220976395]: QZSS
[ INFO] [1597494836.221016654]: U-Blox Firmware Version: 9
[ INFO] [1597494836.225839094]: U-Blox configured successfully.
[DEBUG] [1597494836.225872645]: Subscribing to U-Blox messages
[DEBUG] [1597494836.237840788]: Configuring INF messages
[ WARN] [1597494837.616917996]: INF: DGNSS long baseline (62 km)
Ros Topic
/ublox/fix
(sensor_msgs/NavSatFix) 로그$ 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는 기준국을 기반으로 해석 Fix 해를 얻습니다.
sensor_msgs/NavSatStatus 정의:
# fix is valid when status >= STATUS_FIX.
int8 STATUS_NO_FIX = -1 # unable to fix position
int8 STATUS_FIX = 0 # unaugmented fix
int8 STATUS_SBAS_FIX = 1 # with satellite-based augmentation
int8 STATUS_GBAS_FIX = 2 # with ground-based augmentation
GoogleMAP에서
/ublox/fix
의 표시 확인은RTK-GNSS의 NavSatFix 데이터를 GoogleMAP에서 실시간으로 표시 를 참고합니다.
Reference
이 문제에 관하여(Ublox ZED-F9P RTK-GNSS 이동국을 ROS에서 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/k-koh/items/8fd8ef6310e4f40fa536텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)