Rvizにトピック経由でマーカーを置くことが出来る.

Untitled

msg/Marker Documentation

使いかた

共通部分

visualization_msgs::msg::Marker marker;
marker.ns = "namespace";//マーカーの名前空間
marker.id = 0;//マーカーID
marker.header.frame_id = "フレームID";
marker.header.stamp = this->get_clock()->now();//タイムスタンプ
marker.action = visualization_msgs::msg::Marker::ADD;
marker.type = visualization_msgs::msg::Marker::ARROW;//マーカーの種類
marker.color.a = 1.0;
marker.color.r = 1.0;
marker.color.g = 0.0;
marker.color.b = 0.0;

marker.ns

マーカーの名前空間.トピックの名前空間とは別なので注意.ロボットのマーカーとフィールドのマーカーなどのように区別する場合は名前空間を分ける.

marker.id

マーカーに割り当てるID.同じ名前空間内で別のマーカーを作成する場合は,それぞれ別のIDを割り当てる.

marker.header.frame_id

マーカーを設置する際に基準とするフレームID. map座標系でマーカーの座標を指定する場合はmarker.header.frame_id = ”map”;にする.

marker.header.stamp

ROSでの現在時刻を入れる.基本的にthis->get_clock()->now()を入れておけばOK. 多分

marker.action

マーカーへの操作を指定する.以下の操作が出来る.基本的にADDでOK.