100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > ROS学习笔记6 URDF建立机器人模型(以双轮差速小车为例)

ROS学习笔记6 URDF建立机器人模型(以双轮差速小车为例)

时间:2019-06-04 11:06:46

相关推荐

ROS学习笔记6 URDF建立机器人模型(以双轮差速小车为例)

URDF建立机器人模型

一、准备工作一、搭建小车底盘模型1.小车底盘2.左右驱动轮3.前后万向轮4.launch启动文件5.效果展示二、摄像头仿真模型1.添加摄像头模型2.launch启动文件3.效果展示三、雷达仿真模型1.添加雷达模型2.launch启动文件3.效果展示

一、准备工作

建立功能包名称为mbot_descripiton,依赖项为urdfxacro。在功能包下建立四个文件夹分别为:launchurdfmeshesconfig,分别负责存放启动文件、模型文件、纹理文件(solid work导出的)和rivz的配置文件。

一、搭建小车底盘模型

创建mbot_base.urdf文件,添加robot标签,其余各个关节的标签都在robot内完成。

<?xml version="1.0" ?><robot name="mbot"><!--这里面填各个关节的标签信息 --></robot>

1.小车底盘

<link name="base_link"><visual><origin xyz=" 0 0 0" rpy="0 0 0" /><geometry><cylinder length="0.16" radius="0.20"/></geometry><material name="yellow"><color rgba="1 0.4 0 1"/></material></visual></link><joint name="left_wheel_joint" type="continuous"><origin xyz="0 0.19 -0.05" rpy="0 0 0"/><parent link="base_link"/><child link="left_wheel_link"/><axis xyz="0 1 0"/></joint>

2.左右驱动轮

<link name="left_wheel_link"><visual><origin xyz="0 0 0" rpy="1.5707 0 0" /><geometry><cylinder radius="0.06" length = "0.025"/></geometry><material name="white"><color rgba="1 1 1 0.9"/></material></visual></link><joint name="right_wheel_joint" type="continuous"><origin xyz="0 -0.19 -0.05" rpy="0 0 0"/><parent link="base_link"/><child link="right_wheel_link"/><axis xyz="0 1 0"/></joint><link name="right_wheel_link"><visual><origin xyz="0 0 0" rpy="1.5707 0 0" /><geometry><cylinder radius="0.06" length = "0.025"/></geometry><material name="white"><color rgba="1 1 1 0.9"/></material></visual></link>

3.前后万向轮

<joint name="front_caster_joint" type="continuous"><origin xyz="0.18 0 -0.095" rpy="0 0 0"/><parent link="base_link"/><child link="front_caster_link"/><axis xyz="0 1 0"/></joint><link name="front_caster_link"><visual><origin xyz="0 0 0" rpy="0 0 0"/><geometry><sphere radius="0.015" /></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link><joint name="back_caster_joint" type="continuous"><origin xyz="-0.18 0 -0.095" rpy="0 0 0"/><parent link="base_link"/><child link="back_caster_link"/><axis xyz="0 1 0"/></joint><link name="back_caster_link"><visual><origin xyz="0 0 0" rpy="0 0 0"/><geometry><sphere radius="0.015" /></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link>

4.launch启动文件

<launch><param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_base.urdf" /><!-- 设置GUI参数,显示关节控制插件 --><param name="use_gui" value="true"/><!-- 运行joint_state_publisher节点,发布机器人的关节状态 --><node name="joint_state_publisher_gui" pkg="joint_state_publisher_gui" type="joint_state_publisher_gui" /><!-- 运行robot_state_publisher节点,发布tf --><node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /><!-- 运行rviz可视化界面 --><node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" /></launch>

5.效果展示

二、摄像头仿真模型

1.添加摄像头模型

小车底盘的模型和第一节的一样,只需继续添加摄像头的模型即可。

<link name="camera_link"><visual><origin xyz=" 0 0 0 " rpy="0 0 0" /><geometry><box size="0.03 0.04 0.04" /></geometry><material name="black"><color rgba="0 0 0 0.95"/></material></visual></link><joint name="camera_joint" type="fixed"><origin xyz="0.17 0 0.10" rpy="0 0 0"/><parent link="base_link"/><child link="camera_link"/></joint>

2.launch启动文件

<launch><param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_with_camera.urdf" /><!-- 设置GUI参数,显示关节控制插件 --><param name="use_gui" value="true"/><!-- 运行joint_state_publisher节点,发布机器人的关节状态 --><node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /><!-- 运行robot_state_publisher节点,发布tf --><node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /><!-- 运行rviz可视化界面 --><node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" /></launch>

3.效果展示

三、雷达仿真模型

1.添加雷达模型

<link name="laser_link"><visual><origin xyz=" 0 0 0 " rpy="0 0 0" /><geometry><cylinder length="0.05" radius="0.05"/></geometry><material name="black"/></visual></link><joint name="laser_joint" type="fixed"><origin xyz="0 0 0.105" rpy="0 0 0"/><parent link="base_link"/><child link="laser_link"/></joint>

2.launch启动文件

<launch><param name="robot_description" textfile="$(find mbot_description)/urdf/mbot_with_laser.urdf" /><!-- 设置GUI参数,显示关节控制插件 --><param name="use_gui" value="true"/><!-- 运行joint_state_publisher节点,发布机器人的关节状态 --><node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" /><!-- 运行robot_state_publisher节点,发布tf --><node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" /><!-- 运行rviz可视化界面 --><node name="rviz" pkg="rviz" type="rviz" args="-d $(find mbot_description)/config/mbot_urdf.rviz" required="true" /></launch>

3.效果展示

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。