ROS学习初探之自建小车模型并进行仿真(一)

从Solidworks中导出建立好的URDF模型

一、下载sw_urdf_exporter插件

本电脑SolidWorks版本为2019版,之前装的是2018版,但在官网上看到插件不适配2018版,果断卸载重装2019版。sw_urdf_exporter下载地址:http://wiki.ros.org/sw_urdf_exporter,下载sw2urdfSetup.exe文件后点击安装,安装后就能用插件从SolidWorks中导出URDF模型了。
点击download install

二、打开创建好的SolidWorks模型

下面为构建好的Tianbot_mini差速小车模型,模型是由多个零件组成的装配体。值得注意的是,小车的前进方向为SolidWorks坐标系的X轴方向(这个要在装配模型的时候自己配置),这样在之后的建立坐标系以及再之后的小车运动步骤不会出错。
在这里插入图片描述

三、创建所有link点和坐标系

依次点击 “装配体—参考几何体—点”,选择小车左轮,会在左轮中间生成一个点。
左轮点

再依次点击“装配体—参考几何体—坐标系”,在左轮中间生成一个坐标系。
坐标系方向与小车前进方向相同
用相同的方法为右轮,激光雷达,万向轮,以及万向轮中的滚轮创建点和坐标系,由于base_link在小车的旋转中心,以左右轮中心点连线的中点构建点和坐标系,并分别标注各坐标系的名称。
在这里插入图片描述

四、创建各个joint的轴线

依次点击“装配体—参考几何体—基准轴”,左右轮共用一个基准轴“轮轴”,依次创建激光雷达的轴线,万向轮Z方向的轴线,万向轮小轮的轴线并进行命名。
在这里插入图片描述

五、使用插件进行配置

依次点击“工具—File—Export as URDF”,进入到配置界面。
在这里插入图片描述

先配置base_link。Global Origin Coordinate System选择为刚才命名为base的坐标系,Link Components选择为除去左右轮、激光雷达、万向轮的一个整体底盘,底盘变成蓝色,Number of child links选为4,因为底盘连接有4个link。
在这里插入图片描述
点击第一个empty_link,先配置左轮,将link_name改为left_wheel_link,将joint name填写为left_wheel_joint,Reference Coordinate System选择为刚才给左轮创建的坐标系,Reference Axis选择为“轮轴”,Joint Type选择为continuous, Link Components选择为左轮,左轮变成蓝色。同理对右轮进行配置。
在这里插入图片描述
在这里插入图片描述
接着我们来配置万向轮,将link_name改为caster_wheel_link,将joint name填写为caster_wheel_joint,Reference Coordinate System选择为“万向轮”,Reference Axis选择为“万向轮Z轴”,Joint Type选择为continuous, Link Components选择为万向轮,万向轮变成蓝色,在Number of child links选1,因为与其装配的还有一个滚轮。接着对万向轮滚轮进行配置。
在这里插入图片描述
在这里插入图片描述
最后配置激光雷达,将link_name改为lidar_Link,将joint name填写为lidar_joint,Reference Coordinate System选择为“激光雷达”,Reference Axis选择为“激光雷达轴线”,Joint Type选择为fixed, Link Components选择为激光雷达,万向轮变成蓝色。
在这里插入图片描述
配置完所有link后,点击“Preview and Export”选项,若joint配置无误则点击next
在这里插入图片描述
接着看link配置参数是否有问题,检查无误后点击“Export URDF and Meshes”。选择路径对导出文件进行保存。切记命名的时候,文件名不能带有大写字母和中文,以免出现问题。
在这里插入图片描述

六、运行文件

我们先看一下文件,我将文件放进工作空间下的src目录,再回到catkin_ws目录,打开终端并且catkin_make,再source devel/setup.bash一下,然后roslaunch tianbot_mini_description gazebo.launch就打开了小车在gazebo中显示了(如下图所示,这里我帖了tianbot标志并且配置了一下各个link的颜色)。
在这里插入图片描述

我们再稍微修改一下launch文件中的display.launch文件,将default=“false”改为default=“ture”并保存,此时再roslaunch tianbot_mini_description display.launch后可打开rviz再插入robot model可以有一个joint_state_publisher_gui界面来控制各个joint旋转。
在这里插入图片描述
在这里插入图片描述

小结

以上就是SolidWorks小车模型导出urdf模型的全过程,接下去会用xacro文件对urdf模型进行优化,并实现键盘控制小车的运动,敬请期待。
注意:如果在键盘控制小车运动过程中出现左右颠倒的情况,这可能是SolidWorks装配模型过程中,Y轴方向的问题,出现该问题可以在URDF文件中进行修改,需要保持URDF文件中左右轮的LINK和JOINT坐标正负保持一致即可,无需重新装配模型。

参考文献

感谢下文给予的参考。
https://blog.csdn.net/weixin_45168199/article/details/105755388

猜你喜欢

转载自blog.csdn.net/qq_48427527/article/details/108071749