gazebo 加载urdf_简易URDF模型的导入与仿真系统框架的搭建

导入urdf模型:

简易的urdf模型是通过出版的机器人模型在简化建构之后根据DH参数法建模来建立的坐标系并通过solidworks生成了相应的ros package。

1、修改了限位、物理约束(阻尼、摩擦等参数),并对转轴的正向做了相应的调整,使得其符合右手系规则;

2、修改了urdf文件为xacro文件;

3、修改了package.xml 参数设定;

4、修改了相应launch文件,使得其能够对xacro文件进行解码。

坐标系建立简图:

(留坑)

DH参数表:

(留坑)

最后建立的的urdf模型:

(留坑)

注:在导入模型的过程中似乎(不确定就是这个原因)urdf有预设的坐标轴正向,导致在导入初次建立的urdf模型时构建出现了镜像的现象,后面通过改变了在solidworks中建立的参考坐标的Z轴方向而得到解决。

搭建仿真框架:

Launch文件:

Gazebo:

1、(gazebo.launch)——>node urdf_spawner:导入urdf(xacro)模型、node pos_pub_node:关节控制信息、include control.launch:控制 ;

2、机器人控制(biped_wheeled_control.launch)

——>加载yaml文件(joint controller configuration发布各关节的状态)、加载控制器controller (station、position),将联合状态转换为rviz等的tf变换;

3、添加各joint传动装置Transmission;

4、添加gazebo控制插件,在这里为了后期方便而单独建立了.gazebo文件进行各插件参数的设置,在xacro文件中引用即可。

最后的框架:

gazebo 加载urdf_简易URDF模型的导入与仿真系统框架的搭建_第1张图片

ROS Control:

1、Teleop_control.py 实现键盘控制;

2、Pos_pub.py 关节;

3、kinematics_algorithm.py 运动学算法,前进后退、左转右转、保持步态算法函数定义

Teleop_control.py向pos_pub.py发布按键消息,pos_pub.py( import kinematics) 进行相应的响应,并将joint_pos_pub的参数传递给launch文件的相应关节。


运动模式:

forward:

backward:

turnleft:

turnright:

jump:

keep:

关键点在运动过程中要始终保持机器人的平衡状态(留坑)


传感器:IMU传感器,用于控制平衡状态。

参考资料:

1、深蓝学院—机器人操作系统ROS理论与实践

2、Gazebo官方指南

Gazebo plugins in ROS​gazebosim.org
95bd897de2af898546e1e6ca91e8b93e.png

3、工大同门开源的四足pig_dog:

小明工坊:【ROS-Gazebo】IMU插件使用与数据采集——以四足机器人pigot为例​zhuanlan.zhihu.com
gazebo 加载urdf_简易URDF模型的导入与仿真系统框架的搭建_第2张图片

你可能感兴趣的:(gazebo,加载urdf)