コンテンツにスキップ

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)