当前位置:   article > 正文

迷你无人车 Gazebo 仿真_steer_bot_hardware_gazebo

steer_bot_hardware_gazebo

迷你无人车 Gazebo 仿真

从零开始搭建一台ROS开源迷你无人车

利用NEOR mini无人车的urdf模型文件,结合Gazebo物理仿真引擎和ROS开源社区的算法功能包,在Ubuntu + ROS开发环境下模拟出一台和NEOR mini实体无人车功能一致的仿真无人车。实现的过程如下图所示:

在这里插入图片描述

从三维模型到URDF文件

URDF全称为:统一机器人描述格式(Unified Robot Description Format)。URDF文件使用XML格式描述机器人模型中各个刚体(link)之间的位置与刚体之间使用关节(joint)链接,并定义相对运动的姿态

可以通过xml格式自定义简单形状的URDF机器人模型;也可以使用sw_urdf_expoter插件将机器人的设计图纸自动转换为urdf文件,在这里使用的是第二种方式。NEOR mini是一款后轮独立驱动,前轮转向的类阿克曼运动学的移动底盘。使用sw_urdf_expoter之前需要将整个NEOR mini三维模型分成如下几大块:

robot name is: neor_mini                  解释(explanation)
root Link: base_linkhas 6 child(ren)          主体实体
    child(1): front_steer_link               前轮转向实体
    child(2): front_steer_left_link          左前轮转向机构实体
        child(1):  front_left_wheel_link     左前轮实体
    child(3): front_steer_right_link         右前轮转向机构实体
        child(1):  front_right_wheel_link    右前轮实体
    child(4): left_rear_link                 左后轮驱动实体
    child(5): rear_wheel_link                驱动实体
    child(6):  right_rear_link               右后轮驱动实体
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

然后,设置好每个实体的旋转轴,利用sw_urdf_expoter即可导出对应的urdf模型文件。在导出之前需要检查上述各个实体的名称,若相同,导出的urdf模型很有可能会出现凌乱的现象,需要重命名名字重复的实体。导出的urdf模型文件以ROS功能包的形式,其文件树和urdf模型可视化如下:

在这里插入图片描述

阿克曼运动学插件 steer-drive-ros

URDF模型文件离动起来还需要程序去驱动对应的关节和实体完成指定的转动。前面提到了NEOR mini是一款类阿克曼运动学方式的移动底盘。因此该驱动程序需要将接收到的速度指令,解算为mini的每个轮子的转速和转向关节的旋转角度;该转换过程称之为“运动学解算

在这里插入图片描述

同理根据实际的执行情况,可以从后左右轮的转速和前轮的转向角度逆推出后轮中点出的线角速度(v,w)。从而可以推算出无人车的航迹信息

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/443934
推荐阅读
相关标签