视觉形状配置

Box 矩形

<?xml version="1.0"?>
<robot name="mybox">
  <link name="base_link">
    <visual>
      <geometry>
        <box size="1 2 3" />
      </geometry>
    </visual>
  </link>
</robot>

Tip

box表示的是矩形。

size属性中间包含三个值,分别用空格分隔,表示的是长宽高.

Cylinder 圆柱

<?xml version="1.0"?>
<robot name="mycylinder">
  <link name="base_link">
    <visual>
      <geometry>
        <cylinder length="1" radius="0.5" />
      </geometry>
    </visual>
  </link>
</robot>

Tip

cylinder表示的是圆柱体.

lenght表示的是圆柱体的高度,radius表示的是半径。

Sphere 球形

<?xml version="1.0"?>
<robot name="mysphere">
  <link name="base_link">
    <visual>
      <geometry>
        <sphere radius="1" />
      </geometry>
    </visual>
  </link>
</robot>

Tip

sphere表示的是球形。

radius表示的是球形的半径。

Mesh 网格纹理

<?xml version="1.0"?>
<robot name="mysphere">
    <link name="base_link">
        <visual>
            <geometry>
                <mesh filename="package://demo_urdf/meshes/bowl.dae" />
            </geometry>
        </visual>
    </link>
</robot>

Tip

mesh主要的功能是去加载纹理文件的。

filename纹理路径的文件地址

通用启动的launch文件

<launch>
    <arg name="model" default="geometry_box.urdf"/>
    <arg name="gui" default="true" />
    <arg name="rvizconfig" default="$(find demo_urdf)/rviz/urdf.rviz" />

    <param name="robot_description" command="$(find xacro)/xacro --inorder $(find demo_urdf)/urdf/$(arg model)" />
    <param name="use_gui" value="$(arg gui)"/>

    <node name="joint_state_publisher" pkg="joint_state_publisher" type="joint_state_publisher" />
    <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher" />
    <node name="rviz" pkg="rviz" type="rviz" args="-d $(arg rvizconfig)" required="true" />
</launch>

Tip

启动了三个节点:

  1. joint_state_publisher
  2. robot_state_publisher
  3. rviz