转载:

https://blog.csdn.net/wilylcyu/article/details/57080917

1.1 使用例子(C++/roscpp) 
首先,发布话题visualization_marker:

ros::Publisher vis_pub = node_handle.advertise<visualization_msgs::Marker>( "visualization_marker", 0 );
  • 1

然后简单的填充visualization_msgs/Marker 消息并且发布它:

visualization_msgs::Marker marker;
marker.header.frame_id = "base_link";
marker.header.stamp = ros::Time();
marker.ns = "my_namespace";
marker.id = 0;
marker.type = visualization_msgs::Marker::SPHERE;
marker.action = visualization_msgs::Marker::ADD;
marker.pose.position.x = 1;
marker.pose.position.y = 1;
marker.pose.position.z = 1;
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;
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;
//only if using a MESH_RESOURCE marker type:
marker.mesh_resource = "package://pr2_description/meshes/base_v0/base.dae";
vis_pub.publish( marker );

这也是个visualization_msgs/MarkerArray消息,这允许一次性发布很多marker。

注意,时间戳将marker消息关联到ros::Time(),这是时间Zero(0)。这个被rviz和其他时间区别对待。如果使用ros::Time::now()或者其他非零值,rviz将仅仅显示距离当前时间很近的marker,其中足够近依据的是TF。然而对于0时间,不管是不是当前时间,都会显示marker。

不要忘记设置color.a=1,否则marker将会不可见。

ros坐标系

. 坐标系统:

当你工作于参考坐标系空间,记住:ROS使用 右手定义 :

所以,对于 ROS 机器人,如果以它为坐标系的原心,那么:

  • x轴:前方
  • y轴:左方
  • z轴:上方


2 . 在一个绕轴线上的旋转,也使用 右手定义

根据右手定义,围绕 z轴正旋转 是 逆时针旋转


3 . 测量单位:

ROS使用公制 :

  • 线速度:m/s
  • 角速度:rad/s

线速度=0.5m/s 对于一个室内机器人来说是一个相当快的速度了。角速度=1.0rad/s 就是旋转一圈6秒钟。

rviz--显示类型-Marker相关推荐

  1. Rviz显示理想的运动的轨迹,并对比实时的运动轨迹

    20210505更新 前天的bug,修改了marker点的尺寸和颜色后在rviz中不显示的问题解决了,代码什么的完全没有改,只是用了sudo apt-get upgrade,把ros的一些包和库都升级 ...

  2. ROS中rviz显示运动轨迹的常见方法

    文章目录 1.利用nav_msgs/Path消息实现轨迹显示 2.利用visualization_msgs/Marker消息类型显示轨迹 1.利用nav_msgs/Path消息实现轨迹显示 主函数sh ...

  3. ROS Rviz 显示超声波测量范围 Python

    ROS Rviz 显示超声波测量范围 Python 1. 缘由 2. Python实现 3. 效果 最近几个月都在忙调试和工程的事情 太忙了,两个月都没发布文章了 过阵子应该就可以重新开始软件开发工作 ...

  4. [有限元] Ansys Workbench Mechanical 中的应力应变显示类型的文档翻译

    应力和应变 给定零件或整个装配体的模型和材料,以及特定结构载荷环境的情况,应力解决方案使您能够(结构的)预测安全系数.应力.应变和位移. 一般的三维应力状态,是根据与零件或装配体世界坐标系对齐的三个法 ...

  5. CSS之布局方式(内/外部显示及inline-block显示类型)附<行内块空白间隙解决方案>

    文章目录 一.布局方式 1. 外部显示类型 a.块级盒子/元素 b.行内盒子/元素 2. 内部显示类型 2.1 flex 流式布局 二.行内块元素inline-block 显示类型 2.1行内块的空白 ...

  6. ROS Rviz 显示地图 Python

    ROS Rviz 显示地图 Python 1. 缘由 2. Python实现 3. 效果 1. 缘由 地图在自主移动机器人这个行业里是非常重要的 第一步需要可视化地图来感官了解一下 在网上的资料基本都 ...

  7. ROS Rviz 显示轨迹 Python

    ROS Rviz 显示轨迹 Python 1. 缘由 2. Python实现 3. 效果 1. 缘由 3月一直在调试设备,还要持续一段时间,没空余时间 工作上也遇到很多非技术问题 同事的帮忙,最近状态 ...

  8. rviz显示矩形框BoundingBox

    rviz显示矩形框BoundingBox 类似显示如下BoundingBox 需要安装如下依赖 安装ros-melodic-jsk-recognition-msgs等依赖库 sudo apt-get ...

  9. 03-盒子模型与元素显示类型

    03-盒子模型与元素显示类型 目录 03-盒子模型与元素显示类型 1. 盒子模型 1.1 盒子模型-内容区域 1.2 盒子模型-边框区域 1.3 盒子模型-内边距区域 1.4 盒子模型-外边距区域 1 ...

  10. ros中启动rviz显示段错误,核心以转储问题

    ros中启动rviz显示段错误,核心以转储问题 运行命令 $ rosrun rviz rviz -d rospack find turtle_tf/rviz/turtle_rviz.rviz 显示 解 ...

最新文章

  1. 谷歌提出“T5” 新NLP模型,突破迁移学习局限,多基准测试达SOTA!
  2. 学用 TStringGrid [7] - ColWidths[0]、RowHeights[0]、GridLineWidth
  3. 两个开发源码加密库openssl和cryptlib的比较
  4. 魔兽世界怀旧服最新服务器开发时间,怀旧服开70最新消息汇总 魔兽怀旧服TBC开放时间几个阶段?...
  5. 【NGN学习笔记】5 IMS技术
  6. 代码区,初始化全局数据区,BSS,堆区,栈区,程序环境变量区简介
  7. 在linux中添加字体
  8. 用oledb导出数据到excel
  9. 阿里巴巴中台技术架构实践与思考
  10. java对xml文件的读写_用java实现对xml文件的读写
  11. spring5.3.x源码构建
  12. android appium 原理,天天使用Appium,但是你真的理解Appium的工作原理吗
  13. 笔记本和利用服务器算力直连,使用闲置服务器的CPU算力挖掘Monero—Windows篇
  14. Your task is to Calculate a + b.
  15. 字节跳动-后端开发岗最新春招面经分享,四面拿下,有惊无险
  16. 从前慢-深入理解JVM-篇章2
  17. 如何让快速在CAD图纸中标注文字
  18. 华为云计算之rainbow迁移原理
  19. 产品经理入门教程02——产品岗会涉及的互联网黑话
  20. 数字经济时代,智慧组织的变革之路

热门文章

  1. 卖VR眼镜需谨慎,已经有30多人因传播VR小黄片被抓了
  2. 一个亿万富翁利用商城软件白手起家的故事
  3. 有趣的Shellcode和栈
  4. WPF:鼠标拖曳、拖动控件
  5. 编译原理之词法分析、语法分析、语义分析
  6. 在进行USB CDC类开发时,无法发送64整数倍的数据(续)
  7. 向量L0、L1、L2、L∞范数,矩阵F-范数
  8. 熬夜爆肝整理 400 页 《Python 修炼之道》,一本高分原创高清电子书送给你!
  9. Database---Access Methods
  10. 【Leetcode】1641. Count Sorted Vowel Strings