第一节 手写URDF模型

<?xml version="1.0"?>
<robot name="car">
<!-- 设置颜色参数 -->
    <material name="Black">
        <color rgba="0 0 0 1"/>
    </material>
    <material name="White">
        <color rgba="1 1 1 1"/>
    </material>
    <material name="Blue">
        <color rgba="0 0 1 1"/>
    </material>
    <material name="Red">
        <color rgba="1 0 0 1"/>
    </material>
    <material name="Yellow">
        <color rgba="1 1 0 1"/>
    </material>
<!-- 设置小车底盘 -->
    <link name="base_link">
        <visual>
            <origin xyz="0 0 0.04" rpy="0 0 0" />
            <geometry>
                <box size="0.3 0.18 0.08"/>
            </geometry>
            <material name="Yellow"/>
        </visual>
    </link>
<!-- 设置小车四轮 -->
    <link name="lf_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.03"/>
            </geometry>
            <material name="Black"/>
        </visual>
    </link>
    <joint name="lf_wheel_joint" type="continuous">
        <origin xyz="0.1 0.08 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="lf_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="rf_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.03"/>
            </geometry>
            <material name="Black"/>
        </visual>
    </link>
    <joint name="rf_wheel_joint" type="continuous">
        <origin xyz="0.1 -0.08 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="rf_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="lb_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.03"/>
            </geometry>
            <material name="Black"/>
        </visual>
    </link>
    <joint name="lb_wheel_joint" type="continuous">
        <origin xyz="-0.1 0.08 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="lb_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

    <link name="rb_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.03"/>
            </geometry>
            <material name="Black"/>
        </visual>
    </link>
    <joint name="rb_wheel_joint" type="continuous">
        <origin xyz="-0.1 -0.08 0" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="rb_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>
<!-- 设置小车机械臂 -->
    <link name="link1">
        <visual>
            <origin xyz="0 0 0" rpy="0 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.1"/>
            </geometry>
            <material name="Blue"/>
        </visual>
    </link>
    <joint name="joint1" type="revolute">
        <origin xyz="-0.08 0 0.13" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="link1"/>
        <axis xyz="0 0 1"/>
        <limit effort="300" lower="-3.14159" upper="3.14159" velocity="1"/>
    </joint>

    <link name="link2">
        <visual>
            <origin xyz="0 0 0.09" rpy="0 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.18"/>
            </geometry>
            <material name="Red"/>
        </visual>
    </link>
    <joint name="joint2" type="revolute">
        <origin xyz="0 0 0.05" rpy="0 0 0"/>
        <parent link="link1"/>
        <child link="link2"/>
        <axis xyz="0 1 0"/>
        <limit effort="300" lower="-1.5708" upper="1.5708" velocity="1"/>
    </joint>

    <link name="link3">
        <visual>
            <origin xyz="0 0 0.05" rpy="0 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.1"/>
            </geometry>
            <material name="Yellow"/>
        </visual>
    </link>
    <joint name="joint3" type="revolute">
        <origin xyz="0 0 0.18" rpy="0 0 0"/>
        <parent link="link2"/>
        <child link="link3"/>
        <axis xyz="0 0 1"/>
        <limit effort="300" lower="-3.14159" upper="3.14159" velocity="1"/>
    </joint>

    <link name="link4">
        <visual>
            <origin xyz="0 0 0.09" rpy="0 0 0" />
            <geometry>
                <cylinder radius="0.03" length="0.18"/>
            </geometry>
            <material name="Red"/>
        </visual>
    </link>
    <joint name="joint4" type="revolute">
        <origin xyz="0 0 0.1" rpy="0 0 0"/>
        <parent link="link3"/>
        <child link="link4"/>
        <axis xyz="0 1 0"/>
        <limit effort="300" lower="-1.5708" upper="1.5708" velocity="1"/>
    </joint>

    <!-- 设置夹爪 -->
    <link name="gripper_finger1">
        <visual>
            <origin xyz="0 0 0.01" rpy="0 0 0" />
            <geometry>
                <box size="0.03 0.01 0.02"/>
            </geometry>
            <material name="White"/>
        </visual>
    </link>
    <joint name="finger_joint1" type="prismatic">
        <origin xyz="0 -0.015 0.18" rpy="0 0 0"/>
        <parent link="link4"/>
        <child link="gripper_finger1"/>
        <axis xyz="0 1 0"/>
        <limit effort="300" lower="0" upper="0.02" velocity="1"/>
    </joint>

    <link name="gripper_finger2">
        <visual>
            <origin xyz="0 0 0.01" rpy="0 0 0" />
            <geometry>
                <box size="0.03 0.01 0.02"/>
            </geometry>
            <material name="White"/>
        </visual>
    </link>
    <joint name="finger_joint2" type="fixed">
        <origin xyz="0 0.015 0.18" rpy="0 0 0"/>
        <parent link="link4"/>
        <child link="gripper_finger2"/>
    </joint>    
</robot>

 


版权声明:本文为weixin_49439067原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。