基于ros的机器人运动控制相关学习(三)

基于之前尝试,拟画一个车身六个车轮的简单模型。

还是参考https://blog.csdn.net/u010853356/article/details/79235293
然后根据turtlebot3的相关东西修改,结果有了些问题。

基于ros的机器人运动控制相关学习(三)_第1张图片只有一些参数设置的警告,但是没有显示相关的报错,结果是无模型显示在gazebo中,
基于ros的机器人运动控制相关学习(三)_第2张图片但是模型树里什么都有。

基于此思考,进行urdf.xacro文件的显示。

尴尬,突发奇想会不会是这种文件不识别urdf里的mesh文件,把mesh文件换成box size结果真的有显示了。

但是出现了另外一个问题,机器人散架了

基于ros的机器人运动控制相关学习(三)_第3张图片
然后发现了问题,base_robot 相对于base_footprint坐标系有一定高度。

基于ros的机器人运动控制相关学习(三)_第4张图片所以自己新写的myrobot.urdf.xacro文件等验证无误,下一步是验证能否进行运动控制。还有就是运动的插件需要更新,gazebo与ros不一样,gazebo是真的按照物理引擎来进行驱动的。同样的参数,同样的代码。

基于ros的机器人运动控制相关学习(三)_第5张图片加载了驱动器控制插件的四个joint就不会发生变换,而中间两个关节则会发生变换。

通过键盘控制包也确实能控制四个关节一顿转。

接下来尝试导入mesh文件,
参考http://gazebosim.org/tutorials/?tut=attach_meshes

 <uri>model://pioneer2dx/meshes/chassis.dae</uri>

尝试修改之后,发现问题:
在这里插入图片描述目前或者转化成dae文件试试,或者再找找stl的相关

<mesh filename="package://urdf_tutorial/meshes/l_finger.dae"/>

更换写法后发现车体可见了。但是位置乱了。
基于ros的机器人运动控制相关学习(三)_第6张图片不过大体意思有了,所以接下来,进行个人机器人模型的建模。
六个弧腿,一个摄像头,一个车身,通过简单launch文件修改,基本上已经确定能用,显示如下,接下来进行位置的相关调整,或者加入transmission。
基于ros的机器人运动控制相关学习(三)_第7张图片还有一个问题,就是collision和visual,需要保证一致。

基于ros的机器人运动控制相关学习(三)_第8张图片下面验证机器人能否运动和视频是否正常工作。

基于ros的机器人运动控制相关学习(三)_第9张图片事实证明运动正常,想按照自己的步态运动,下一步只要自己编写插件就可以了。

然后进行了摄像头相关修改:

主要参考https://blog.csdn.net/qq_32761549/article/details/102678296#_502

基于ros的机器人运动控制相关学习(三)_第10张图片证明摄像头正常工作,可看到图像。这里面有个重点问题:在SolidWorks中导入的网格文件,其坐标系可能会有些问题,所以进入gazebo需要进行调整,在调整过程中,要保证摄像头x轴的方向,否则摄像头向下就被挡住了。什么都看不到。

总结一下:

机器人运动控制基础仿真已基本实现。
包括:模型导入(urdf编写,gazebo标签编写,在gazebo中显示),插件导入(运动控制插件,摄像头插件,激光雷达插件等)

可以说现在想要进行特定步态的控制,只差环境模型导入、算法和插件编写了。所以下一步回归算法的相关研究,最后进行插件的编写

你可能感兴趣的:(基于ros的机器人运动控制相关学习(三))