赞
踩
利用NEOR mini无人车的urdf模型文件,结合Gazebo物理仿真引擎和ROS开源社区的算法功能包,在Ubuntu + ROS开发环境下模拟出一台和NEOR mini实体无人车功能一致的仿真无人车。实现的过程如下图所示:
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 右后轮驱动实体
然后,设置好每个实体的旋转轴
,利用sw_urdf_expoter即可导出对应的urdf模型文件。在导出之前需要检查上述各个实体的名称,若相同,导出的urdf模型很有可能会出现凌乱的现象,需要重命名名字重复的实体。导出的urdf模型文件以ROS功能包的形式,其文件树和urdf模型可视化如下:
URDF模型文件离动起来还需要程序去驱动对应的关节和实体完成指定的转动。前面提到了NEOR mini是一款类阿克曼运动学方式的移动底盘。因此该驱动程序需要将接收到的速度指令,解算为mini的每个轮子的转速和转向关节的旋转角度;该转换过程称之为“运动学解算
”
同理根据实际的执行情况,可以从后左右轮的转速和前轮的转向角度逆推出后轮中点出的线角速度(v,w)。从而可以推算出无人车的航迹信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。