参考视频:https://www.bilibili.com/video/BV1n7411w7Anfrom=search&seid=5116569657579284345
交互图:
1、gazebo的launch文件的基本形式
(1)空世界,一般不进行修改,第一段最后一行定义自己的模型名称,也可以不进行定义。第二段第二行输入自己的仿真场景文件
(2)spawn model(生成模型) 注:最重要的部分
把模型加载到gazebo,arg中-urdf是说要解析的模型是urdf类型的,-model后面跟的是加载的模型的名字,-param是文件来源,来自参数服务器的robot_description参数
接下来要对urdf文件进行修改,不然按照上面的launch文件打开的模型颜色是灰色的而且因为没有传动标签模型会软在地上,同时因为没有控制器,模型的关节也不能动。
2、修改urdf
(1)link的gazebo属性
kp kd: 对于ODE定义的刚体接触,接触刚度k_p和阻尼k_d
参数范围来自开源物理引擎
参考:https://blog.csdn.net/tobebest_lah/article/details/100061415#urdfgazebo_161
(2)joint的gazebo属性
给joint添加真正的执行装置——transmission标签
transmission标签主要的针对对象是joint(因为一般两个link连接处的地方如果是非固定的,那么一定会存在一个执行装置来改变两个link的相对位置),transmission标签的作用就是给这个joint打上某种执行器的标签,有了执行器,gazebo就可以在物理层面上对模型进行驱动了。
type标签只有一种类型
hardware interface标签有三种类型,分别为位置控制、速度控制和力控制
actuator 标签指的是马达(电机)信息
mechanicalReduction标签指的是电机和关节的转动比,即传速比,为1
(3)gazebo-ros插件以及虚拟关节
3、现在模型在gazebo中可以正常显示,但是ros还不能控制机械臂进行运动,所以要加入控制器和相应的launch文件启动控制器
(1)文件配置
配置launch文件
(2)操控机械臂
launch文件启动成功形式
接下来查看话题,发现控制器都已经启动
发布命令控制关节在gazebo中运动
对应的关节会进行移动
对夹爪进行控制
goal commond 改成0.5 夹爪闭合
(3)控制组
可以设置手臂和夹爪控制组
4、moveit配置
修改moveit config包来使得moveit控制机械臂