天天看点

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

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

还是参考https://blog.csdn.net/u010853356/article/details/79235293

然后根据turtlebot3的相关东西修改,结果有了些问题。

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

只有一些参数设置的警告,但是没有显示相关的报错,结果是无模型显示在gazebo中,

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

但是模型树里什么都有。

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

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

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

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

然后发现了问题,base_robot 相对于base_footprint坐标系有一定高度。

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

所以自己新写的myrobot.urdf.xacro文件等验证无误,下一步是验证能否进行运动控制。还有就是运动的插件需要更新,gazebo与ros不一样,gazebo是真的按照物理引擎来进行驱动的。同样的参数,同样的代码。

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

加载了驱动器控制插件的四个joint就不会发生变换,而中间两个关节则会发生变换。

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

接下来尝试导入mesh文件,

参考http://gazebosim.org/tutorials/?tut=attach_meshes

尝试修改之后,发现问题:

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

目前或者转化成dae文件试试,或者再找找stl的相关

更换写法后发现车体可见了。但是位置乱了。

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

不过大体意思有了,所以接下来,进行个人机器人模型的建模。

六个弧腿,一个摄像头,一个车身,通过简单launch文件修改,基本上已经确定能用,显示如下,接下来进行位置的相关调整,或者加入transmission。

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

还有一个问题,就是collision和visual,需要保证一致。

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

下面验证机器人能否运动和视频是否正常工作。

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

事实证明运动正常,想按照自己的步态运动,下一步只要自己编写插件就可以了。

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

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

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

证明摄像头正常工作,可看到图像。这里面有个重点问题:在SolidWorks中导入的网格文件,其坐标系可能会有些问题,所以进入gazebo需要进行调整,在调整过程中,要保证摄像头x轴的方向,否则摄像头向下就被挡住了。什么都看不到。

总结一下:

机器人运动控制基础仿真已基本实现。

包括:模型导入(urdf编写,gazebo标签编写,在gazebo中显示),插件导入(运动控制插件,摄像头插件,激光雷达插件等)

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

继续阅读