本专栏旨在通过对ROS的系统学习,掌握ROS底层基本分布式原理,并具有机器人建模和应用ROS进行实际项目的开发和调试的工程能力。
详情:《ROS从入门到精通》
首先要为机器人各个关节建立坐标系和轴,方法是
点
坐标系
,坐标系的x
轴为机器人运动正方向,z
轴朝上基准轴
进入http://wiki.ros.org/sw_urdf_exporter下载插件sw_urdf_exporter
根据对应的Solidworks版本选择插件包,我是2021版,因此选择v1.6.1
安装完成后依次点击工具
-> 插件
中能看到SW2URDF
即为安装成功
依次点击工具
-> 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
:选择该坐标系所作用的所有零件
连杆树
:可视化当前配置的连杆相互关系
先配置base_link
,Global Origin Coordinate System
选择为base
坐标系,Link Components
选择为整体底盘,选中组件变成蓝色,Number of child links
选为5,因为该机器人底盘连接有5个子连杆,分别是:左轮、右轮、从动轮、摄像头和激光雷达
其他零件同理不赘述,全部配置完成后可以通过连杆树检查配置情况
点击Preview and Export
进入导出界面,可以检查各个连杆物理参数、动力学参数,设置限位和颜色等,按需设置即可
新建工作空间
mkdir -p test_ws/src
cd test_ws
mv car_demo src
catkin_make
编译完成后即可开始测试
运行display.launch
运行gazebo.launch
启动Rviz发现机器人倾倒在地面上
解决方案:在装配零件时,必须保证模型底部是阴影状态如下所示
启动Gazebo发现机器人抖动或倾倒
解决方案:大概率是因为模型的动力学参数——如质量、惯性矩阵不合理导致,可以在solidworks中重新设计再导出;对于四足狗这种模型瘫倒在地上则可能是因为没加入gazebo_controller
插件,配置后即可站立
使用
cmd_vel
控制模型时发现前进和转弯混乱
解决方案:查看左右轮轴参数,默认如下
<axis xyz="0 1 0" />
<axis xyz="0 -1 0" />
这导致发出向前的指令左轮正转右轮倒转,将右轮的-1改为1即可
更多精彩专栏: