【可视化标记visualization_msgs:msg::Marker】
【visualization_msgs:msg::Marker】
【可视化标记】
用来在Rviz画图
visualization_msgs::msg::Marker marker;
//指定标记所在参考坐标系
marker.header.frame_id = "base_link";
//设置标记时间戳
marker.header.stamp = ros::Time();
//设置标记命名空间和ID
marker.ns = "my_namespace";
marker.id = 0; //同一命名空间下,每个标记id都是唯一的
//标记类型
marker.type = visualization_msgs::Marker::SPHERE;
/*【常用】
ARROW 向量
CUBE 方块
SPHERE 球体
CYLINDER 圆柱
LINE_STRIP 一系列连续连接线段
LINE_LIST 一系列连续独立线段
TEXT_VIEW_FACING 文本
*/
//对标记进行操作
marker.action = visualization_msgs::Marker::ADD;
/*
ADD 添加新标记
MODIFY 修改已存在的标记
DELETE 删除指定标记
DELETEALL 删除所有标记
*/
//设置位置:xyz
marker.pose.position.x = 1;
marker.pose.position.y = 1;
marker.pose.position.z = 1;
//设置姿态:四元数xyzw
marker.pose.orientation.x = 0.0;
marker.pose.orientation.y = 0.0;
marker.pose.orientation.z = 0.0;
marker.pose.orientation.w = 1.0;
//设置尺寸
marker.scale.x = 1;
marker.scale.y = 0.1;
marker.scale.z = 0.1;
//设置颜色:a透明度 rgb
marker.color.a = 1.0; // Don't forget to set the alpha!
marker.color.r = 0.0;
marker.color.g = 1.0;
marker.color.b = 0.0;
//发布消息
rclcpp::Publisher<visualization_msgs::msg::MarkerArray>::SharedPtr marker_pub_;
marker_pub_.publish(marker);

浙公网安备 33010602011771号