natto_map
natto_map パッケージは、natto_msgs/msg/Map メッセージ周りの処理を行います
map_loader
map_loader ノードは、CSVファイルから地図情報を読み込み、natto_msgs/msg/Map メッセージとしてパブリッシュします。
機能
- 指定したCSVファイルから直線セグメントと円弧情報を読み込み
- natto_msgs/msg/Map メッセージとしてパブリッシュ
パラメーター
| パラメーター名 |
型 |
デフォルト値 |
説明 |
| line_segments_path |
string |
"" |
読み込む直線セグメント (CSV) のファイルパス。空文字の場合は読み込みをスキップします。 |
| circles_path |
string |
"" |
読み込む円弧 (CSV) のファイルパス。空文字の場合は読み込みをスキップします。 |
パブリッシャー
| トピック名 |
メッセージ型 |
説明 |
| map |
natto_msgs/msg/Map |
読み込んだ地図情報 |
CSVファイルフォーマット
直線セグメント (line_segments.csv)
| start_x |
start_y |
start_z |
end_x |
end_y |
end_z |
| 直線セグメントの始点のx座標 (m) |
|
直線セグメントの始点のy座標 (m) |
直線セグメントの終点のx座標 (m) |
直線セグメントの終点のy座標 (m) |
直線セグメントの終点のz座標 (m) |
円弧 (circles.csv)
| center_x |
center_y |
center_z |
radius |
start_angle |
end_angle |
| 円弧の中心のx座標 (m) |
円弧の中心のy座標 (m) |
円弧の中心のz座標 (m) |
円弧の半径 (m) |
円弧の開始角度 (rad) |
円弧の終了角度 (rad) |
- 角度はx軸正方向を0とし、反時計回りを正とします。
map creator
Google SpreadSheetのマップクリエイターを使うとかんたんにcsvファイルを作成できます。
map_converter
map_converter ノードは、natto_msgs/msg/Map メッセージを受信し、nav_msgs/msg/OccupancyGrid メッセージに変換してパブリッシュします。
機能
- natto_msgs/msg/Map の直線セグメントと円弧情報からOccupancyGridを生成
- 線分・円弧をBresenhamアルゴリズムでグリッドに描画
パラメーター
| パラメーター名 |
型 |
デフォルト値 |
説明 |
| resolution |
double |
0.05 |
OccupancyGridの解像度(メートル/セル) |
パブリッシャー
| トピック名 |
メッセージ型 |
説明 |
| occupancy_grid |
nav_msgs/msg/OccupancyGrid |
変換されたOccupancyGrid(transient_local) |
サブスクライバー
| トピック名 |
メッセージ型 |
説明 |
| map |
natto_msgs/msg/Map |
地図情報(transient_local) |