ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程

目录

  • 0 专栏介绍
  • 1 Solidworks机器人建系
  • 2 Solidworks导出urdf
    • 2.1 安装SW2URDF插件
    • 2.2 插件界面说明
    • 2.3 配置导出信息
    • 2.4 导出URDF
  • 3 导入Rviz与Gazebo
  • 4 常见问题汇总

0 专栏介绍

本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。

详情:《ROS从入门到精通》

1 Solidworks机器人建系

首先要为机器人各个关节建立坐标系和轴,方法是

  1. 在关节轴面中心放
  2. 在该点放坐标系,坐标系的x轴为机器人运动正方向,z轴朝上
  3. 在关节旋转轴或移动轴上放基准轴

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第1张图片
例如车的右轮最终应该是如下效果

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第2张图片
对其他关节重复上面步骤,可得到如下的整体结构

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第3张图片

2 Solidworks导出urdf

2.1 安装SW2URDF插件

进入http://wiki.ros.org/sw_urdf_exporter下载插件sw_urdf_exporter

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第4张图片

根据对应的Solidworks版本选择插件包,我是2021版,因此选择v1.6.1

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第5张图片
安装完成后依次点击工具 -> 插件中能看到SW2URDF即为安装成功

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第6张图片

2.2 插件界面说明

依次点击工具 -> Tools -> Export as URDF打开配置界面

界面中有几个部分:

  • link_name:连杆名称,标准格式为xxx_link

  • joint_name:关节名称,标准格式为xxx_joint

    这两个参数分别对应urdf文件中的标签与标签,关于urdf文件语法可参考ROS从入门到精通3-1:详解urdf语法并自定义机器人

  • Reference Coordinate System:参考坐标系统,选择之前建立的坐标系

  • Reference Axis:参考坐标轴,选择之前建立的基准轴

  • Joint type:关节类型,根据情况选择

    • continuous:绕着一根轴旋转且旋转幅度不受限
    • revolute:绕着一根轴旋转且转动角度受到限制
    • prismatic:沿着一根轴滑动且有限位
    • fixed:固定关节
    • floating:允许六个自由度的运动
    • planar:既包括平移, 也包括旋转的运动
  • Link Components:选择该坐标系所作用的所有零件

  • 连杆树:可视化当前配置的连杆相互关系

2.3 配置导出信息

先配置base_linkGlobal Origin Coordinate System选择为base坐标系,Link Components选择为整体底盘,选中组件变成蓝色,Number of child links选为5,因为该机器人底盘连接有5个子连杆,分别是:左轮、右轮、从动轮、摄像头和激光雷达

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第7张图片
其他零件同理不赘述,全部配置完成后可以通过连杆树检查配置情况

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第8张图片

2.4 导出URDF

点击Preview and Export进入导出界面,可以检查各个连杆物理参数、动力学参数,设置限位和颜色等,按需设置即可

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第9张图片
ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第10张图片
设置完成后导出,导出的文件结构如下所示

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第11张图片

3 导入Rviz与Gazebo

新建工作空间

mkdir -p test_ws/src
cd test_ws
mv car_demo src
catkin_make

编译完成后即可开始测试

运行display.launch

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第12张图片

运行gazebo.launch

ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第13张图片

4 常见问题汇总

  1. 启动Rviz发现机器人倾倒在地面上

    解决方案:在装配零件时,必须保证模型底部是阴影状态如下所示

    ROS从入门到精通3-3:Solidworks三维建模并导入Rviz、Gazebo图文教程_第14张图片

  2. 启动Gazebo发现机器人抖动或倾倒

    解决方案:大概率是因为模型的动力学参数——如质量、惯性矩阵不合理导致,可以在solidworks中重新设计再导出;对于四足狗这种模型瘫倒在地上则可能是因为没加入gazebo_controller插件,配置后即可站立

  3. 使用cmd_vel控制模型时发现前进和转弯混乱

    解决方案:查看左右轮轴参数,默认如下

    
    <axis xyz="0 1 0" />
    
    <axis xyz="0 -1 0" />
    

    这导致发出向前的指令左轮正转右轮倒转,将右轮的-1改为1即可


更多精彩专栏

  • 《ROS从入门到精通》
  • 《机器人原理与技术》
  • 《机器学习强基计划》
  • 《计算机视觉教程》

源码获取 · 技术交流 · 抱团学习 · 咨询分享 请联系

你可能感兴趣的:(ROS从入门到精通,自动驾驶,人工智能,ROS,solidworks,机器人)