urdf文件:
<!--需求:设置机器人底盘,并添加摄像头-->
<robot name="mycar">
<!--1.底盘link-->
<link name="base_link">
<visual>
<geometry>
<box size="0.3 0.2 0.1" />
</geometry>
<origin xyz="0 0 0" rpy="0 0 0" />
<material name="car_color">
<color rgba="0.8 0.5 0 0.5" />
</material>
</visual>
</link>
<!--2.摄像头link-->
<link name="camera">
<visual>
<geometry>
<box size="0.02 0.05 0.05" />
</geometry>
<!--先使用默认(后期需要修改)-->
<origin xyz="0 0 0.025" rpy="0 0 0" />
<material name="camera_color">
<color rgba="0 0 1 0.5" />
</material>
</visual>
</link>
<!--3.关节-->
<joint name="camera2base" type="continuous">
<!--父级link-->
<parent link="base_link" />
<!--子级link-->
<child link="camera" />
<!--设置偏移量-->
<origin xyz="0.12 0 0.05" rpy="0 0 0" />
<!--设置关节旋转参考的坐标轴-->
<axis xyz="0 0 1" />
</joint>
</robot>
launch文件:
<launch>
<!--1.在参数服务器中载入 urdf 文件-->
<param name="robot_description" textfile="$(find urdf01_rviz)/urdf/urdf/demo03_joint.urdf" />
<!--2.启动 rviz -->
<node pkg="rviz" type="rviz" name="rviz" args="-d $(find urdf01_rviz)/config/show_mycar.rviz" />
<!--
只有上述两条语句:
表现:设置头显示位置与颜色异常
提示:No transform from [camera] to [base_link] 缺少camera到base_link的坐标转换
原因:rviz 中显示 URDF 时,必须发布不同部件之间的坐标系关系
解决:ROS中已经提供了关于机器人模型的坐标发布相关节点(两个)
-->
<!--关节状态发布节点-->
<node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher" />
<!--机器人状态发布节点-->
<node pkg="robot_state_publisher" type="robot_state_publisher" name="robot_state_publisher" />
</launch>
运行launch文件不成功,解决方法:
删除urdf中所有注释(urdf文件不能有中文注释?且第一行不可有注释?)