二话不说,直接上源码:
在工作空间下创建一个mycar.urdf文件
<?xml version="1.0"?>
<robot name="mycar">
<link name="base_footprint">
<visual>
<geometry>
<cylinder radius="0.0001" length="0.0001"/>
</geometry>
</visual>
</link>
<link name="base_link">
<visual>
<geometry>
<cylinder radius="0.1" length="0.08"/>
</geometry>
<material name="yellow">
<color rgba='0.6 0.4 0.4 0.5'/>
</material>
</visual>
</link>
<joint name="base_link2base_footprint" type="fixed">
<parent link="base_footprint"/>
<child link="base_link"/>
<origin xyz="0.0 0.0 0.015" rpy="0.0 0.0 0.0"/>
</joint>
<link name="right_wheel">
<visual>
<geometry>
<cylinder radius="0.035" length="0.015"/>
</geometry>
<material name="black">
<color rgba='0 0 0 1'/>
</material>
</visual>
</link>
<joint name="right_wheel2base_footprint" type="continuous">
<parent link="base_link"/>
<child link="right_wheel"/>
<origin xyz="0.0 -0.1 -0.0225" rpy="1.57 0.0 0.0"/>
</joint>
<link name="left_wheel">
<visual>
<geometry>
<cylinder radius="0.035" length="0.015"/>
</geometry>
<material name="black">
<color rgba='0 0 0 1'/>
</material>
</visual>
</link>
<joint name="left_wheel2base_footprint" type="continuous">
<parent link="base_link"/>
<child link="left_wheel"/>
<origin xyz="0.0 0.1 -0.0225" rpy="1.57 0.0 0.0"/>
</joint>
<link name="back_wheel">
<visual>
<geometry>
<cylinder radius="0.035" length="0.015"/>
</geometry>
<material name="black">
<color rgba='0 0 0 1'/>
</material>
</visual>
</link>
<joint name="back_wheel2base_footprint" type="continuous">
<parent link="base_link"/>
<child link="back_wheel"/>
<axis xyz="1 1 1"/>
<origin xyz="-0.0925 0 -0.0475" rpy="1.57 0.0 0.0"/>
</joint>
<link name="front_wheel">
<visual>
<geometry>
<cylinder radius="0.035" length="0.015"/>
</geometry>
<material name="black">
<color rgba='0 0 0 1'/>
</material>
</visual>
</link>
<joint name="front_wheel2base_footprint" type="continuous">
<parent link="base_link"/>
<child link="front_wheel"/>
<axis xyz="1 1 1"/>
<origin xyz="0.0925 0 -0.0475" rpy="1.57 0.0 0.0"/>
</joint>
</robot>
在工作空间下创建一个mycar.launch文件,代码如下
<?xml version="1.0"?>
<launch>
<param name="robot_description" textfile="$(find urdf_demo)/urdf/mycar.urdf"/>
<node name="rviz" pkg="rviz" type="rviz" output="screen" args="-d $(find urdf_demo)/config/mycar.rviz"/>
<node name="robot_state_publisher" pkg="robot_state_publisher" type="robot_state_publisher" output="screen"/>
<node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" output="screen"/>
</launch>
保存后在ros终端运行输入以下命令运行launch:roslaunch urdf_demo mycar.launch
1.把map换成base_footprint,之后在下面ADD下添加RobotModel,就会出现小车模型了
二.或者也可以在VS code上运行,下一章节会说