SolidWorks导出urdf并在ROS中用Rviz和gazebo显示

一、SolidWorks导出urdf

默认已经安装完成urdf插件在SolidWorks中。

1.确定基准轴,坐标系

①首先选择一个对应的点(用于生成坐标系),点是准备建立坐标系的零件装配体的中心点,可自己建立选取 。(这里选取了主要运动结构的中心点:左右大轮子,底盘,雷达,传感器,相机,与相机相连可旋转机构visual0和1)

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第1张图片 

②建立坐标系(以建立的点为参考),x轴向前(前进的方向),z轴向上。

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第2张图片

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第3张图片 

 ③建立旋转轴(需要旋转的给出旋转轴如轮子,相机)

 2.生成joint和link

选择 工具- Tools -Export as URDF,打开以下界面

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第4张图片

一般选取底盘为base-link。由上可知这里建立了14个坐标系。

 首先选取base_link,将没有建立坐标系的部分全部选取(减少了一些没有必要额外建立坐标系的结构,统一放到base_link里减轻工作量),如图选取部分会变色SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第5张图片

坐标系选择建立的base坐标系

 Number of child links(子坐标系)根据剩下的坐标系数量设定,还剩下13个坐标系正常的话设置为13,这里设置为11(由于下边有子坐标系可以接着拆分,下边再讲)

 会发现多出来了11个empty link ,依此点击修改它们的名字(link name),名字可以自己随便设置,这里是为了对应建立的坐标系名字,方便选取。

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第6张图片

 joint name也对应修改(可以自己设置)。

设置wheel的坐标系和旋转轴,对应着建立的选取,左右轮同理。

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第7张图片

对于joint type各个类型的意义:

continuous: 不受限制, 绕着一根轴旋转. revolute: 转动角度受到限制, 绕着一根轴旋转. prismatic: 一个沿着一根轴的滑动副, 并且有限位. fixed: 固定关节. floating: 这个关节允许六个自由度的运动. planar: 既包括平移, 也包括旋转的运动

我们的轮子是360°旋转的,所以Type选择continuous

 接着是imu传感器的设置,Axis没有设置基准轴,选择第一个默认的让其自动生成,joint Type选择fixed(固定)。其它同理,link components将传感器部分全部选中。SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第8张图片

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第9张图片 

 雷达的设置同传感器类似,既杉川雷达,前雷达,后雷达。

最后说visual0_link的设置,设置的visual0类似我们视觉系统的base_link,是由visual0的转动带动visual1的转动,visual1的转动带动相机的转动。所以将visual0的number of child links设置为1,将visual1的number of child links也设置为1所以上边的base_link下的子坐标系有11个

 visual0_link配置如下,将它的部分全部选中

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第10张图片

 SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第11张图片

 

同理,visual1_link如下

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第12张图片

 

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第13张图片

 camera_link如图

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第14张图片

 

3.生成文件

全部都配置好以后,点击preview and export,打开以后检查一下设置的有没有问题,没有问题点右下角的nextSolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第15张图片

 接着点击

 选择保存路径,文件名不要设置成中文(后边操作会很麻烦)

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第16张图片

 二、 urdf文件在Rviz和Gazebo中显示

①首先打开虚拟机,找到创建好的工作空间,将生成的urdf文件复制到工作空间的src下,有窗口提示错误全部跳过即可。

SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第17张图片

 如何创建工作空间:

mkdir -p 自定义空间名称/src
cd 自定义空间名称
catkin_make

②在终端下打开工作空间,编译一下:caktin_make

 接着输入指令source一下

 ③打开urdf文件的launch文件夹,里边有两个文件分别是启动Rviz和gazebo的SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第18张图片

 接着在刚才的终端启动launch文件,首先启动Rviz的

 打开之后是这样的:SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第19张图片

 接着把左边区域的map换成base_link,红色字母变为正常。点击左下角的add,找到RobotModel点击,然后点ok,我们的模型就调出来了,可以通过滚轮进行缩放,鼠标左键按住拖动进行360°观察。SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第20张图片

 与我们Rviz同时打开的还有一个小窗口,把它调过来,对应有五个joint,分别是我们当时导出urdf时添加的旋转轴,拖动直线对应的地方会动,这时说明我们导出成功了。在gazebo中打开与Rviz的同理,将终端代码的display.launch换成gazebo.launch即可。SolidWorks导出urdf并在ROS中用Rviz和gazebo显示_第21张图片

 

你可能感兴趣的:(ROS,ubuntu)