无人小车模型

效果显示

urdf模型

<?xml version="1.0"?>
<robot name="car" xmlns:xacro="http://www.ros.org/wiki/xacro">

    <xacro:property name="wheel_base" value="0.162"/>
    <xacro:property name="ground_clearance" value="0.019"/>
    <xacro:property name="front_offset" value="0.074"/>
    <xacro:property name="back_offset" value="0.069"/>

    <xacro:property name="pkg" value="zxcar_description" />

    <xacro:macro name="HMCarBody" params="name">
        <link name="${name}">
            <visual>
                <geometry>
                    <mesh filename="package://${pkg}/meshes/ackerman_body.dae"/>
                </geometry>
                <origin xyz="0 0 0" rpy="0 0 0"/>
            </visual>
        </link>~~~~
    </xacro:macro>

    <xacro:macro name="HMCarWheel" params="name left='true' xyz='0 0 0' rpy='0 0 0'">
        <link name="${name}">
            <visual>
                <geometry>
                    <xacro:if value="${left}">
                        <mesh filename="package://${pkg}/meshes/wheel_left.dae"/>
                    </xacro:if>
                    <xacro:unless value="${left}">
                        <mesh filename="package://${pkg}/meshes/wheel_right.dae"/>
                    </xacro:unless>
                </geometry>
                <origin xyz="${xyz}" rpy="${rpy}"/>
            </visual>
        </link>
    </xacro:macro>

    <xacro:macro name="HMWheelJoint" params="name parent child type='continuous' xyz='0 0 0' rpy='0 0 0' axis='0 1 0'">
        <joint name="${name}" type="${type}">
            <parent link="${parent}"/>
            <child link="${child}"/>
            <origin xyz="${xyz}" rpy="${rpy}"/>
            <axis xyz="${axis}"/>
        </joint>
    </xacro:macro>

    <xacro:HMCarBody name="base_link"/>

    <xacro:HMCarWheel name="front_left"/>

    <xacro:HMWheelJoint
            name="joint_front_left"
            parent="base_link"
            child="front_left"
            xyz="${front_offset} ${wheel_base/2} 0.019"/>

    <xacro:HMCarWheel name="front_right" left="false"/>

    <xacro:HMWheelJoint
            name="joint_front_right"
            parent="base_link"
            child="front_right"
            xyz="${front_offset} -${wheel_base/2} ${ground_clearance}"/>

    <xacro:HMCarWheel name="back_left"/>

    <xacro:HMWheelJoint
            name="joint_back_left"
            parent="base_link"
            child="back_left"
            xyz="-${back_offset} ${wheel_base/2} ${ground_clearance}"/>

    <xacro:HMCarWheel name="back_right" left="false"/>

    <xacro:HMWheelJoint
            name="joint_back_right"
            parent="base_link"
            child="back_right"
            xyz="-${back_offset} -${wheel_base/2} ${ground_clearance}"/>

</robot>