【ROS问题】在Rviz中显示带有纹理信息的模型文件

问题描述

         利用sw_urdf_exporter插件可以方便快捷的导出urdf package,省去了用户自己编写urdf文件的过程。但是,由于该插件导出的link是.STL格式,因此每个连杆都不带纹理,即丢失了在solidworks中的颜色信息,这样模型文件在rviz中就显得很单调。

解决方案

         ROS的URDF目前只支持两种格式的模型文件,STL与DAE。其中,.STL文件只记录了文件的三维坐标信息,没有纹理信息。DAE则是另一种xml格式的模型文件,可以包含文件的纹理等信息。所以我们可以将.STL文件替换成.DAE文件,让自己的机器人在rviz中携带漂亮的纹理信息。

  • Step1:首先通过sw_urdf_exporter插件生成urdf package包;
  • Step2:在solidworks中将每个link保存成.IGES格式(注意单位设置成mm),具体保存选项如下图1所示,要特别注意输出坐标系的选择。
  • Step3:安装3d max 2015,安装opencollada插件。在导入.IGES前,先设置3d max的单位信息,具体设置如下图2所示;
  • Step4:导入每个link的.IGES模型,另存为OpenCOLLASA(*.DAE)格式,具体保存选项如下图3所示;

  • Step5:将urdf package中【meshes】文件夹内的所有.STL文件替换为.DAE文件;
  • Step6:修改urdf package中【urdf】文件夹内的.urdf文件,将mesh元素后缀改为.DAE。注意collision元素不需要修改,仍为.STL。

注意事项

  • 在SolidWorks中将每个link另存为.IGES时,要注意每个link坐标系要与你利用sw_urdf_exporter插件进行urdf package时的坐标系保持一致;
  • 利用sw_urdf_exporter插件导出urdf package时最好自己建立每个link的坐标系,如果是机械臂的话根据DH建系法则进行建系就可以;
  • 注意base_link的z轴要竖直向上,不然在rviz中模型是倒着放的。

SimLab Plugins for solidworks

使用上述方法生成的文件后缀名为.DAE,这种文件在rviz中可以正常显示,但是在gazebo中无法加载,gazebo会出现卡死的情况。

还有一种方法可以生成带纹理的模型,就是使用SimLab Plugins插件直接将solidworks模型生成.dae文件。笔者亲测通过这种方法生成的模型可以同时在rviz和gazebo中显示,但该插件没有坐标系对齐功能, 只能跟默认原点坐标系对齐,导出时要特别注意,否则你的模型跟DH坐标系不一致就会出现各连杆之间有一段距离(这个距离就是默认坐标系跟连杆坐标系之间的距离),好像没有装配的感觉。

下载资源

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是在ROS使用RViz打开urdf文件模型的具体详细步骤: 1. 首先,确保你已经安装了ROSRViz,并且已经成功创建了一个ROS工作空间。 2. 在你的ROS工作空间创建一个新的包,用于存放你的URDF文件RViz配置文件。可以使用以下命令创建一个新的包: ``` catkin_create_pkg my_robot_description urdf rviz ``` 3. 在urdf文件创建一个新的URDF文件,命名为my_robot.urdf,将你的机器人模型描述放在这个文件。 4. 编写一个launch文件,用于启动RViz并加载你的机器人模型。创建一个名为my_robot_rviz.launch的文件,并将以下内容复制粘贴到文件: ``` <launch> <!-- Start RViz --> <node name="rviz" pkg="rviz" type="rviz" args="-d $(find my_robot_description)/rviz/my_robot.rviz"/> <!-- Load URDF into parameter server --> <param name="robot_description" command="$(find xacro)/xacro --inorder '$(find my_robot_description)/urdf/my_robot.urdf'"/> <!-- Start robot_state_publisher --> <node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher"/> </launch> ``` 5. 在rviz文件创建一个名为my_robot.rvizRViz配置文件,用于配置RViz显示。在这个文件,你可以设置机器人的颜色、材质、关节控制器等信息。 6. 打开一个终端窗口,运行以下命令启动RViz: ``` roslaunch my_robot_description my_robot_rviz.launch ``` 7. RViz将启动并加载你的机器人模型。你可以通过拖动、缩放、旋转等方式来查看和操作机器人模型。 希望这些步骤能够帮助你成功地在RViz打开你的URDF文件模型

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值