RTK-GNSS Fix解のROSデータ(sensor_msgs/NavSatFix)をRvizでGoogle Map上リアルタイム表示したいと思います。
使用環境
- Ubuntu 18.04
- ROS Melodic
使用パッケージ
RTK-GNSS Fix解 sensor_msgs/NavSatFix
をRvizでリアルタイム表示するプラグインです。
gps_rviz_pluginnのインストール
- gps_rviz_pluginからソースをダウンロードしてビルド
cd <catkin_ws>/src
git clone https://github.com/hakuturu583/gps_rviz_plugin.git
cd ../
catkin_make
Google Static Map API keyの取得
- Google Developers Consoleでプロジェクトを選択
既存プロジェクトがない場合、新規作成します。
- API キー を生成
[APIとサービス]→[認証情報]→[認証情報を生成]→[API キー]より、API キーを生成します。
- API キーの制限を設定
API キー のIPアドレス等の制限を設定します。
- OAuth 同意画面でAPI キーを選択して同意
[APIとサービス]→[OAuth 同意画面]より、生成したAPI キーをーを選択して同意します。
- 請求先アカウントを有効に設定
[Google APIs]→[お支払い]より、請求先アカウントを設定して有効にします。
- Google APIsを有効に設定
[APIとサービス]→[ライブラリ]より、[Maps Static API]と[Geocoding API]を有効に設定します。
Google Static Map API keyをパラメータファイルに設定
gps_rviz_plugin/config/google_static_map_api_key.yamlに取得したGoogle Static Map API keyを設定します。
overlay_gps_display:
google_static_map_api_key: YOUR_GOOGLE_STATIC_MAP_API_KEY
gps_rviz_pluginnの起動
gps_rviz_plugin/launch/gps_rviz_plugin.launchでrosbag playをコメントアウトします。
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<rosparam command="load" file="$(find gps_rviz_plugin)/config/google_static_map_api_key.yaml"/>
<node name="rviz" pkg="rviz" type="rviz" args="-d $(find gps_rviz_plugin)/config/gps_rviz_plugin.rviz" output="screen" respawn="true">
</node>
<node name="nmea_topic_driver" pkg="gps_rviz_plugin" type="nmea_topic_driver.py" args="" output="screen" respawn="true">
</node>
<!-- <node name="rosbag" pkg="rosbag" type="play" args="$(find gps_rviz_plugin)/data/2017-10-28-16-02-02.bag" output="screen" respawn="true">
</node>-->
<node pkg="tf2_ros" type="static_transform_publisher" name="camera_tf_broadcaster" args="0 0 0 0 0 0 map gps" />
</launch>
gps_rviz_plugin.launchを起動
roslaunch gps_rviz_plugin gps_rviz_plugin.launch
rvizでgps_rviz_pluginのOverlayGpsDisplayを追加してTopicにfixを設定します。