视觉位姿配置

位置

<?xml version="1.0"?>
<robot name="mybox">
    <link name="base_link">
        <visual>
            <origin xyz="0.1 0.2 0.3" rpy="0 0 0"></origin>
            <geometry>
                <box size="0.2 0.4 0.6"/>
            </geometry>
        </visual>
    </link>
</robot>

Note

通过origin标签来表示位置和姿态,其中xyz表示的是位置信息。

xyz属性值通过空格进行分隔,总共有三个值,分别代表了物体在参考坐标系中空间坐标(x,y,z)。

值得注意的是,物体不是一个点,是一个有空间体积的物体,而我们的坐标描述是一个点。

我们描述的坐标点,通常是物体的中心点坐标。

姿态

<?xml version="1.0"?>
<robot name="mybox">
    <link name="base_link">
        <visual>
            <origin xyz="0 0 0" rpy="0.785 0 0"></origin>
            <geometry>
                <box size="0.2 0.4 0.6"/>
            </geometry>
        </visual>
    </link>
</robot>

Note

通过origin标签来表示位置和姿态,其中rpy表示的是姿态信息。

rpy属性值通过空格进行分隔,总共有三个值,分别代表了物体围绕自身坐标系x轴y轴z轴旋转的弧度值。

自身坐标系在没有设置旋转和平移时,默认是和参考坐标系重合的。

案例

1. 体会分别围绕x,y,z轴旋转

<origin xyz="0 0 0" rpy="0.785 0 0"></origin>
<origin xyz="0 0 0" rpy="0 0.785 0"></origin>
<origin xyz="0 0 0" rpy="0 0 0.785"></origin>

Tip

体会出旋转的方向和角度

2. 体会绕X,Y,Z三个轴旋转

<origin xyz="0 0 0" rpy="0 0 0"></origin>

<origin xyz="0 0 0" rpy="1.57 0 0"></origin>

<origin xyz="0 0 0" rpy="1.57 1.57 0"></origin>

<origin xyz="0 0 0" rpy="1.57 1.57 1.57"></origin>

Tip

以上长方体模型使用的是自定义的纹理cft.dae文件。这个长方体的特点是,在长方体对应面会有箭头伸出来。主要是让我们对长方体在旋转过程中方位变化有立体感。

上图中不带箭头细小的rgb三条线是参考坐标系。

通过以上配置,要体会rpy旋转是围绕哪个轴转动。每转动一下,是围绕转动后的轴还是参考坐标系的轴进行旋转。