概要
ROSネットワーク上でGPSデータを取り扱うことを考えた場合、軽く調べると"NAVIO"系統を利用した記事が多くある
実際、割と手軽に環境を構築でき、IMUなどのセンサも一通りそろっており、ドキュメントも充実しているため使い始めるまでは非常に簡単だった
しかし、GPSデータだけ、IMUだけほしいのに、メインのPCとは別にNAVIOを立てるというのは面倒だったので、とりあえずUSB接続可能なGPSデバイスを使えるようにしようと考えた
基本方針
使用するデバイス等は以下の通り
- センサ:UBLOX NEO-M8T TIME & RAW RECEIVER BOARD WITH SMA (RTK READY)
- アンテナ:Tallysman Wireless Inc. 33-2710-00-5000
- 搭載センサ:NEO-M8T
センサ類はNAVIO2の搭載センサを基準に選定した
環境等
- Ubuntu 16.04
- ROS kinetic
- GPS用ライブラリ:https://github.com/KumarRobotics/ublox
選定理由としては、READMEが充実しているとか、変なパッケージに依存していないとか、一番最初に目に入ったとか
※動作確認が主目的のため、メッセージの形式などは二の次
※おすすめあったら教えてください
導入手順
-
ワークスペース名/src/
で$ git clone https://github.com/KumarRobotics/ublox
$ catkin_make
-
$ roslaunch ublox_gps ublox_gps.launch
4. ランタイムエラー:権限が必要 -
$ sudo chmod 666 /dev/ttyACM0
で権限を付与
6. デバイスの場所は必要に応じて読み替えてください - 上記launchファイル内のデバイス指定を
/dev/ttyACM0
に変更 - 再度launchファイルを実行
9.$ rostopic list
から発行されていることを確認
10.$ rostopic echo /gps/fix
から中身を確認
結果
$ rostopic echo -n 1 /gps/fix
header:
seq: 242
stamp:
secs: 1377993660
nsecs: 500000000
frame_id: gps
status:
status: -1
service: 3
latitude: 0.0
longitude: 0.0
altitude: 0.0
position_covariance: [18446744065119.617, 0.0, 0.0, 0.0, 18446744065119.617, 0.0, 0.0, 0.0, 14062500960000.016]
position_covariance_type: 2
---
※鉄筋コンクリートの屋内のため、緯度経度が出ていません。ちゃんと見たいならアンテナは屋外に出してください