SolidWorks导出URDF到rviz注意事项

6 篇文章 0 订阅
3 篇文章 0 订阅

SolidWorks导出URDF到rviz注意事项

SolidWorks导出URDF

简化模型

在SolidWorks中去掉无关的细节,高版本的SolidWorks可以用default工具来实现,也可以自己手动来,压缩细小零件,还可以对零件的特征(建议只保留拉伸等主要造型特征去除打孔螺纹孔等特征)进行压缩(建议设置一个压缩快捷建)。

连接重组的办法简化装配模型,将机械臂的各个零件按link整合到一起,如6轴机械臂就整合成6个零件。这里要注意装配体中的子装配体好像不能连接重组,这里一般要解散装配体,也可不解散到时候导出urdf时选中,连接重组的部分和这部分里面包含的装配体。

对齐坐标系

在每个关节转动处插入基准轴,【插入】–【参考几何体】–【基准轴】
插入完基准轴后最好是根据你的DH参数设定的各个link的坐标系来构建坐标系这样方便后来的理论验证,也不容易出错。一般是以基座为base_link 然后link 1 2 3 4 5 6,link6一般为末端执行器。关节所在轴为z轴,具体可参考《机器人人导论》运动学这一块;操作【插入】–【参考几何体】–【坐标系】;插入坐标系的时候其实不用一开始草图画3个轴,一般同样的方法插入一个点作为原点,一条基准轴也能对齐到想要的坐标系,但也有特殊情况还是要画一下。

计算质量惯性参数(可选)

对于只做规划,或者只涉及动力学的可不同精确的惯性参数。但是要做动力学控制则越精确越好,
所以上面的简化模型我们只是把他作为一个mesh,另存为一下,重新打开原来的装配体,这次不作简化,以免丢失质量信息,将零件连接重组,用【评估】【质量属性】各部分一并选中,测量各link相对于旋转轴坐标系的转动惯量惯性积等。

导出URDF

用solidworks2urdf那个插件,【工具】往下拉【file】
照提示一步步选择,输入参数就可以
装配体最好一开始用英文重命名一下,中文的名字rviz不好打开可能编译不了,省得要改

导入到Rivz打开

创建一个工作空,复制到scr文件夹下解压

修改文件名和文件夹名

防止编译错误一律不得出现中文文件名和文件
可以将packag name 和 project name 以及主文件夹 都设为xxx_description
urdf文件设成xxx.urdf; xxx为机器人名,各文件保持一致就可以

修改urdf文件中的axis这一栏

把他们都改成1 0 0,直接搜索替换就行,

如果之前没有改英文名,这里也需要改一下,把所有中文替换调而且保持一致

###修改package.xml文件

修改package.xml文件

替换文件中的中文名
这个地方xxx全部换成 <build_depend>xxx</build_depend>,如下

  <build_depend>roslaunch</build_depend>
  <build_depend>robot_state_publisher</build_depend>
  <build_depend>rviz</build_depend>
  <build_depend>joint_state_publisher</build_depend>
  <build_depend>gazebo</build_depend>

修改CMakelist.txt文件

替换project()为你设的英文名

修改display. launch中的地址

如果find不好使,直接复制你的urdf到这两个find所在的地方,然后到这里面ctrl V就是你的urdf的路径

<param
    name="robot_description"
    textfile="/home/sky/timon_ws/src/timon/urdf/timon.urdf" />
   <node
    name="rviz"
    pkg="rviz"
    type="rviz"
    args="-d /home/sky/timon_ws/src/timon/urdf.rviz" />

修改joint_state_publisher话题

也是在display中改

  <node
    name="joint_state_publisher_gui"
    pkg="joint_state_publisher_gui"
    type="joint_state_publisher_gui" />
  <node
    name="robot_state_publisher"
    pkg="robot_state_publisher"
    type="robot_state_publisher" />

kinect好像state_publisher就可以了,melodic要加一个robot ;改成这样之后可能会报没有gui依赖的错,装一个就行

$ sudo apt-get install ros-kinetic-joint-state-publisher-gui
$ sudo apt-get install ros-melodic-joint-state-publisher-gui

版本不一样中间换个版本名就行

最后执行
cd到那个launch的文件夹下输入

$ roslaunch display.launch

打开rviz后可以把map换成base_link然后左下角【add】 【robot model】

大功告成!

参考:

节点名称报错,gui库报错安装
详细的教程很有帮助
B站搜索古月老师讲的如何导出urdf到rviz

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值