Rvizにトピック経由でマーカーを置くことが出来る.
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.
visualization_msgs::msg::Marker::ADD
visualization_msgs::msg::Marker::MODIFY
visualization_msgs::msg::Marker::DELETE
visualization_msgs::msg::Marker::DELETEALL