ros笔记(四)机器人仿真下

1.urdf模型的进化版本xacro模型文件

精简模型代码:

创建宏定义

<xacro:macro name="name" params"A B C">  .....

</xacro:macro>

宏调用<name A="A_value" B="B_value" C="C_value"/>

文件包含<xacro:include filename="$(find mbot_description)/urdf/xacro/mbot_base.xacro"/>

提供可编程接口

常量定义< xacro:property name="M_PI" value="3.14159"/>

常量使用<origin xyz="0 0 0" rpy="${M_PI/2} 0 0"/>

变量

扫描二维码关注公众号,回复: 1577382 查看本文章

数学计算<origin xyz="0 ${(motor_length+wheel_length)/2} 0" rpy="0 0 0"/>

条件语句

2.模型显示

将xacro文件转化成URDF文件后显示

$ rosrun xacro xacro.py mbot.xacro > mbot.urdf

3.ArbotiX

一款控制电机舵机的硬件控制板

提供了相应的ros的功能包

提供了差速控制器,通过接收速度控制指令,更新机器人的里程计状态

第一步:创造launch文件

arbotix_mbot_with_camera_xacro.launch

第二步:创建配置文件

fake_mbot_arbotix.yaml

第三步:启动仿真器

$    roslaunch mbot_description arbotix_mbot_with_camera_xacro.launch

第四步:启动键盘控制

$    rostopic list

$    roslaunch mbot_teleop mbot_teleop.launch

odom是一个全局坐标系,通过里程计记录机器人当前的运动位姿

Arbotix+rviz的导航仿真

$   roslaunch rbx1_bringup fake_turtlebot.launch

$    roslaunch rbx1_nav fake_amcl.launch map:=test.map.yaml

$    rosrun rviz rviz -d `rospack find rbx1_nav`/amcl.rviz

4.gazobo

ros_control:

ros为开发者提供的机器人控制中间件

包括一系列的控制器接口,传动装置接口,硬件接口,控制器工具箱等等

可以帮助机器人应用功能包快速落地,提高开发效率

第一步:为link添加惯性参数和碰撞属性

第二步:为link添加gazebo标签

第三步:为joint添加传动装置

第四步:为gazebo添加控制器插件

三种传感器仿真一定要会。


猜你喜欢

转载自blog.csdn.net/qq_33414553/article/details/80004266