在Rviz中显示带有纹理的Marker消息

【应用背景】

根据工程要求,需要把一些试验设备具象化到 Rviz 界面中进行示意,通过调研发现,Rviz 有两种方式可以显示模型纹理:

1、通过 robot_description 发布URDF模型描述

2、通过 visualization_msgs::Marker 发布MESH模型描述

这里主要讲述第二种

【系统环境】

Ubuntu 18.04

ROS Melodic

Blender 2.78

【软件安装】

  • 首先进入下面官网,找到 Blender  2.78 的linux版本并下载到本地

Index of /release/

  •  下载下来之后,只需要解压提取出来,并双击 blender 图标即可打开软件

 【正式流程】

  • 打开 blender

  •  设置单位 --> 米

  •  设置大小 --> 按 N 调出属性面板

  •  选择需要贴纹理的模型面 --> 编辑模式、线框、面

  •  进入UV贴图模式 --> 右键选中上表面,按 U ,展开;上方选择UV Editing模式

  •  选择图片进行贴图 --> 左下选择“图像”——打开图像

  •  导出dae文件 --> 左上“文件”,“导出”,“Collada”,“包括UV贴图”,“包括材质贴图”

  •  编写c++代码,发送dae纹理到rviz中
visualization_msgs::Marker marker;
marker.scale.x = 0.7;
marker.scale.y = 0.7;
marker.scale.z = 1.0;
marker.lifetime.sec = 10000;
marker.type = visualization_msgs::Marker::MESH_RESOURCE;
marker5.mesh_resource = "file://" + pkg_path_ + "/rviz/mesh/mk.dae";
marker5.mesh_use_embedded_materials = true;
marker5.header.frame_id = "/map";
marker5.pose.position.x = 2;
marker5.pose.position.y = -3;
marker5.pose.orientation = tf::createQuaternionMsgFromYaw(-pi/2.0);
  •  结果展示

 【完结撒花】

点个关注不迷路哦!谢谢捧场

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值