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

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

  • 从Solidworks中导出建立好的URDF模型
    • 一、下载sw_urdf_exporter插件
    • 二、打开创建好的SolidWorks模型
    • 三、创建所有link点和坐标系
    • 四、创建各个joint的轴线
    • 五、使用插件进行配置
    • 六、运行文件
    • 小结
      • 参考文献

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

一、下载sw_urdf_exporter插件

本电脑SolidWorks版本为2019版,之前装的是2018版,但在官网上看到插件不适配2018版,果断卸载重装2019版。sw_urdf_exporter下载地址:http://wiki.ros.org/sw_urdf_exporter,下载sw2urdfSetup.exe文件后点击安装,安装后就能用插件从SolidWorks中导出URDF模型了。
ROS学习初探之自建小车模型并进行仿真(一)_第1张图片

二、打开创建好的SolidWorks模型

下面为构建好的Tianbot_mini差速小车模型,模型是由多个零件组成的装配体。值得注意的是,小车的前进方向为SolidWorks坐标系的X轴方向(这个要在装配模型的时候自己配置),这样在之后的建立坐标系以及再之后的小车运动步骤不会出错。
ROS学习初探之自建小车模型并进行仿真(一)_第2张图片

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

依次点击 “装配体—参考几何体—点”,选择小车左轮,会在左轮中间生成一个点。
ROS学习初探之自建小车模型并进行仿真(一)_第3张图片

再依次点击“装配体—参考几何体—坐标系”,在左轮中间生成一个坐标系。
ROS学习初探之自建小车模型并进行仿真(一)_第4张图片
用相同的方法为右轮,激光雷达,万向轮,以及万向轮中的滚轮创建点和坐标系,由于base_link在小车的旋转中心,以左右轮中心点连线的中点构建点和坐标系,并分别标注各坐标系的名称。
ROS学习初探之自建小车模型并进行仿真(一)_第5张图片

四、创建各个joint的轴线

依次点击“装配体—参考几何体—基准轴”,左右轮共用一个基准轴“轮轴”,依次创建激光雷达的轴线,万向轮Z方向的轴线,万向轮小轮的轴线并进行命名。
ROS学习初探之自建小车模型并进行仿真(一)_第6张图片

五、使用插件进行配置

依次点击“工具—File—Export as URDF”,进入到配置界面。
ROS学习初探之自建小车模型并进行仿真(一)_第7张图片

先配置base_link。Global Origin Coordinate System选择为刚才命名为base的坐标系,Link Components选择为除去左右轮、激光雷达、万向轮的一个整体底盘,底盘变成蓝色,Number of child links选为4,因为底盘连接有4个link。
ROS学习初探之自建小车模型并进行仿真(一)_第8张图片
点击第一个empty_link,先配置左轮,将link_name改为left_wheel_link,将joint name填写为left_wheel_joint,Reference Coordinate System选择为刚才给左轮创建的坐标系,Reference Axis选择为“轮轴”,Joint Type选择为continuous, Link Components选择为左轮,左轮变成蓝色。同理对右轮进行配置。
ROS学习初探之自建小车模型并进行仿真(一)_第9张图片
ROS学习初探之自建小车模型并进行仿真(一)_第10张图片
接着我们来配置万向轮,将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,因为与其装配的还有一个滚轮。接着对万向轮滚轮进行配置。
ROS学习初探之自建小车模型并进行仿真(一)_第11张图片
ROS学习初探之自建小车模型并进行仿真(一)_第12张图片
最后配置激光雷达,将link_name改为lidar_Link,将joint name填写为lidar_joint,Reference Coordinate System选择为“激光雷达”,Reference Axis选择为“激光雷达轴线”,Joint Type选择为fixed, Link Components选择为激光雷达,万向轮变成蓝色。
ROS学习初探之自建小车模型并进行仿真(一)_第13张图片
配置完所有link后,点击“Preview and Export”选项,若joint配置无误则点击next
ROS学习初探之自建小车模型并进行仿真(一)_第14张图片
接着看link配置参数是否有问题,检查无误后点击“Export URDF and Meshes”。选择路径对导出文件进行保存。切记命名的时候,文件名不能带有大写字母和中文,以免出现问题。
ROS学习初探之自建小车模型并进行仿真(一)_第15张图片

六、运行文件

我们先看一下文件,我将文件放进工作空间下的src目录,再回到catkin_ws目录,打开终端并且catkin_make,再source devel/setup.bash一下,然后roslaunch tianbot_mini_description gazebo.launch就打开了小车在gazebo中显示了(如下图所示,这里我帖了tianbot标志并且配置了一下各个link的颜色)。
ROS学习初探之自建小车模型并进行仿真(一)_第16张图片

我们再稍微修改一下launch文件中的display.launch文件,将default=“false”改为default=“ture”并保存,此时再roslaunch tianbot_mini_description display.launch后可打开rviz再插入robot model可以有一个joint_state_publisher_gui界面来控制各个joint旋转。
ROS学习初探之自建小车模型并进行仿真(一)_第17张图片
ROS学习初探之自建小车模型并进行仿真(一)_第18张图片

小结

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

参考文献

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

你可能感兴趣的:(ROS学习,经验分享,ubuntu)