Mapvizは地図タイル上に色々表示できるROS2対応ツールです。あらかじめ準備したうえで、定期的にGPS座標(sensor_msgs/NavSatFix型)をPublishするだけで、サクッと次のような表示ができます。
(Mapvizで地理院タイル(全国最新写真(シームレス))を表示・加工して作成)
準備部分で意外とハマるポイントが複数あったので、ハマりどころを全部潰したサンプルを用意してみました。
サンプルのURL:https://github.com/sato-susumu/mapviz_sample
Mapvizを使う場合のポイント
注意点 | 内容 |
---|---|
AutoSave | デフォルトで有効。設定は ~/.mapviz_config に自動保存される |
設定優先度 | 起動時に ~/.mapviz_config が存在すると、その設定が自動的に読み込まれる |
地図タイル表示 | 2025年10月時点では プリセット地図タイルStamen Map が使えないため、他の地図ソースに変更が必要 |
必須トピック | 起動後に/local_xy_origin topic が必須(少し特殊で x, y, z に緯度・経度・高度を設定する)例:大阪駅 → x=135.495951, y=34.702485, z=5.0 |
origin設定補助 | initialize_origin.py でも設定可能だが、挙動がややわかりづらい |
このサンプルで改善できること
- AutoSave無効化:設定は
~/.mapviz_config
に自動保存されない - 起動時の設定リセット:古い
~/.mapviz_config
を自動削除 - 地図タイル設定を追加:
- 国土地理院(標準・淡色・写真・英語)
- OpenStreetMap
- 用途別に
initialize_origin.py
を使って/local_xy_origin
トピックを送信するLaunchファイルを用意 - 診断ツールによる診断:動作不良時は
mapviz_doctor.py
で何に問題があるのかチェック可能
サンプルの使い方①:GPS座標をPublishして地図表示
まずGPS座標を定期的にPublishします。 手元にPublishする方法がなければ、次のコマンドで、日本の中心「大阪駅」のGPS座標を定期Publishできます。
bash publish_osaka.sh
GPS座標のPublish後、次のコマンドのみでMapviz地図表示ができます。 (原点はLaunchで起動した後に最初に受信したGPS座標になります。)
ros2 launch mapviz_auto.launch.py
サンプルの使い方②:固定原点版の地図表示
次のコマンドで、日本の中心「大阪駅」を原点とするMapviz地図表示ができます。
ros2 launch mapviz_fixed_origin.launch.py
動作確認環境
項目 | バージョン |
---|---|
OS | Ubuntu 22.04 |
ROS | ROS 2 Humble |
Mapviz | 2.5.10 |
Python | 3.10 |