ROS入门第八篇之机器人建模
统一机器人描述格式--URDF1、创建机器人描述功能包catkin_create_pkg mrobot_description urdf xacromrobot_description功能包中包含urdf、meshes、launch、config四个文件夹。urdf:用于存放机器人模型的URDF或xacro文件meshes:用于放置URDF中引用的模型渲染文件luan...
·
统一机器人描述格式--URDF
1、创建机器人描述功能包
catkin_create_pkg mrobot_description urdf xacro
mrobot_description功能包中包含urdf、meshes、launch、config四个文件夹。
- urdf:用于存放机器人模型的URDF或xacro文件
- meshes:用于放置URDF中引用的模型渲染文件
- luanch:用于保存相关启动文件
- config:用于保存rviz的配置文件
2、创建URDF模型
<?xml version="1.0" ?>
<robot name="mrobot_chassis">
<link name="base_link">
<visual>
<origin xyz=" 0 0 0" rpy="0 0 0" />
<geometry>
<cylinder length="0.005" radius="0.13"/>
</geometry>
<material name="yellow">
<color rgba="1 0.4 0 1"/>
</material>
</visual>
</link>
<joint name="base_left_motor_joint" type="fixed">
<origin xyz="-0.055 0.075 0" rpy="0 0 0" />
<parent link="base_link"/>
<child link="left_motor" />
</joint>
<link name="left_motor">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.02" length = "0.08"/>
</geometry>
<material name="gray">
<color rgba="0.75 0.75 0.75 1"/>
</material>
</visual>
</link>
<joint name="left_wheel_joint" type="continuous">
<origin xyz="0 0.0485 0" rpy="0 0 0"/>
<parent link="left_motor"/>
<child link="left_wheel_link"/>
<axis xyz="0 1 0"/>
</joint>
<link name="left_wheel_link">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.033" length = "0.017"/>
</geometry>
<material name="white">
<color rgba="1 1 1 0.9"/>
</material>
</visual>
</link>
<joint name="base_right_motor_joint" type="fixed">
<origin xyz="-0.055 -0.075 0" rpy="0 0 0" />
<parent link="base_link"/>
<child link="right_motor" />
</joint>
<link name="right_motor">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0" />
<geometry>
<cylinder radius="0.02" length = "0.08" />
</geometry>
<material name="gray">
<color rgba="0.75 0.75 0.75 1"/>
</material>
</visual>
</link>
<joint name="right_wheel_joint" type="continuous">
<origin xyz="0 -0.0485 0" rpy="0 0 0"/>
<parent link="right_motor"/>
<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.033" length = "0.017"/>
</geometry>
<material name="white">
<color rgba="1 1 1 0.9"/>
</material>
</visual>
</link>
<joint name="front_caster_joint" type="fixed">
<origin xyz="0.1135 0 -0.0165" rpy="0 0 0"/>
<parent link="base_link"/>
<child link="front_caster_link"/>
</joint>
<link name="front_caster_link">
<visual>
<origin xyz="0 0 0" rpy="1.5707 0 0"/>
<geometry>
<sphere radius="0.0165" />
</geometry>
<material name="black">
<color rgba="0 0 0 0.95"/>
</material>
</visual>
</link>
</robot>
3、URDF提供了一些命令行工具,可以帮助我们检查、梳理模型文件,需要在终端中独立安装
sudo apt-get install liburdfdom-tools
4、然后使用check_urdf命令对mrobot_chassis.urdf文件进行检查
#先到urdf目录下
cd ~/catkin_ws/src/ros_exploring/robot_mrobot/mrobot_description/urdf/
#然后使用check_urdf命令对mrobot_chassis.urdf文件进行检查
check_urdf mrobot_chassis.urdf

5、查看模型的整体结构
urdf_to_graphiz mrobot_chassis.urdf

6、在rviz中显示模型
打开终端运行launch文件
#前往launch文件所在路径
cd ~/catkin_ws/src/ros_exploring/robot_mrobot/mrobot_description/launch
#运行launch文件
roslaunch mrobot_description display_mrobot_chassis_urdf.launch

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)