URDF机器人建模

一、URDF介绍

URDF ,统一机器人描述格式,是ROS中重要的机器人描述格式。URDF的主要语言是 XML,包含 linkjointrobot 等描述信息。

二、四轮车建模

2.1 汽车框架

<robot name="mbot"> ... </robot> 是整个机器人的框架,所有模块的信息都必须在此框架范围内, 及将 ... 替换成汽车主体。

<?xml version="1.0" ?>
<robot name="mbot">
   <!-- mbot robot links and joints and more -->
</robot>

2.2 车身

车身当作所有组件的坐标系,中心点为原点。

    <link name="base_link"> 
        <visual>
            <origin xyz=" 0 0 0" rpy="0 0 0" />
            <geometry>
                <box size="0.40 0.20 0.16"/>
            </geometry>
            <material name="yellow">
                <color rgba="1 0.4 0 1"/>
            </material>
        </visual>
    </link>

2.2 车轮

总共四个轮子,每个轮子都有一个linkjoint属性,与车身连接类型为continuous

    <link name="left_back_wheel_link">
        <visual>
            <origin xyz="0 0 0" rpy="1.5707 0 0" />
            <geometry>
                <cylinder radius="0.06" length = "0.025"/>
            </geometry>
            <material name="blue">
                <color rgba="0 0 1 0.9"/>
            </material>
        </visual>
    </link>
    <joint name="left_back_wheel_joint" type="continuous">
        <origin xyz="-0.1 -0.1 -0.08" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="left_back_wheel_link"/>
        <axis xyz="0 1 0"/>
    </joint>

2.3 传感器

大多数传感器与车身的连接类型为fixed,相机(camera) 固定在车身头部。

    <link name="left_camera_link">
        <visual>
            <origin xyz=" 0 0 0 " rpy="0 0 0" />
            <geometry>
                <box size="0.03 0.04 0.04" />
            </geometry>
            <material name="black">
                <color rgba="0 0 0 0.95"/>
            </material>
        </visual>
    </link>
    <joint name="left_camera_joint" type="fixed">
        <origin xyz="0.17 -0.05 0.10" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="left_camera_link"/>
    </joint>

激光雷达(laser) 固定在车身中部

   <link name="laser_link">
		<visual>
			<origin xyz=" 0 0 0 " rpy="0 0 0" />
			<geometry>
				<cylinder length="0.05" radius="0.05"/>
			</geometry>
			<material name="black"/>
		</visual>
    </link>
    <joint name="laser_joint" type="fixed">
        <origin xyz="0 0 0.105" rpy="0 0 0"/>
        <parent link="base_link"/>
        <child link="laser_link"/>
    </joint>

三、模型整体结构分析

使用 urdf_to_graphiz 工具查看模型 xxx.urdf 的整体结构。

urdf_to_graphiz xxx.urdf

posted @ 2021-02-28 20:43  iamwasabi  阅读(480)  评论(0编辑  收藏  举报