主要内容

机器人技术中的坐标变换

在机器人应用中,可以使用许多不同的坐标系来定义机器人、传感器和其他物体的位置。一般来说,一个物体在三维空间中的位置可以通过位置和方向值来指定。这些值有多种可能的表示形式,其中一些是特定于某些应用程序的。平移和旋转是位置和方向的替代术语。Robotics System Toolbox™支万博1manbetx持在机器人技术中常用的表示,并允许您在它们之间进行转换。当你将这些表示应用到3-D点时,你可以在坐标系之间转换。下面将详细介万博1manbetx绍这些支持的表示形式,并简要说明它们的用法和MATLAB中的等效数值®.每种表示都有其名称的缩写。这用于此工具箱中支持的参数和转换函数的命名。万博1manbetx

在本节的最后,您可以了解我们提供的用于在这些表示之间进行转换的转换函数。

机器人系统工具箱假设位置和方向是在右手笛卡尔坐标系中定义的。

轴角

缩写:axang

旋转:在三维空间中的旋转,用一个标量围绕一个由向量定义的固定轴旋转来描述

数字表示法:一个1 × 3的单位向量和一个1 × 4的标量角的组合

例如,旋转π/ 2弧度y-axis将是:

Axang = [0 1 0 pi/2]

欧拉角

缩写:eul

欧拉角是描述刚体方向的三个角。每个角度都是一个围绕给定坐标系轴的标量旋转。机器人系统工具箱支持两种旋转顺序。万博1manbetx的之一的ZYZ”轴序通常用于机器人应用。我们也支持万博1manbetx“ZYX股票”轴序也表示为“滚俯仰偏航(rpy)。”了解所使用的轴顺序对于将旋转应用于点和转换为其他表示形式很重要。

数字表示法:标量角的1 × 3向量

例如,绕yPI的-轴表示为:

Eul = [0 PI 0]

注意:轴顺序没有存储在转换中,因此必须知道应用的旋转顺序是什么。

齐次变换矩阵

缩写:tform

齐次变换矩阵将平移和旋转组合成一个矩阵。

数字表示法:4×4矩阵

例如,角α的旋转y-轴和平移4个单位沿y-axis将表示为:

Tform = cos α 0 sin α 0 0 0 4 -sin α 0 cos α 0 0 0 0 1

你应该pre-multiply你的变换矩阵和齐次坐标,齐次坐标表示为行向量的矩阵(n-by-4矩阵的点)。利用转置()旋转你的点进行矩阵乘法。例如:

点数=兰特(100,4);tformPoints = (tform*points')';

四元数

缩写:皮疹

四元数是带有标量旋转的四元向量和三元向量。四元数是有优势的,因为它们避免了其他表示中固有的奇点问题。第一个元素,w,是一个标量,用其他三个值归一化向量,[x y z]定义旋转轴。

数字表示法:1-by-4向量

例如,旋转π/ 2y-axis将表示为:

Quat = [0.7071 0 0.7071 0]

旋转矩阵

缩写:rotm

旋转矩阵描述三维空间中的旋转。它是一个行列式为1的正交方阵。

数字表示法:3×3矩阵

例如,旋转α度左右x-axis将是:

Rotm = 1 0 0 0 cos α -sin α 0 sin α cos α

你应该pre-multiply您的旋转矩阵与您的坐标,它表示为行向量的矩阵(n点的-by-3矩阵)。利用转置()旋转你的点进行矩阵乘法。例如:

积分=兰特(100,3);rotPoints = (rotm*points')';

翻译向量

缩写:trvec

平移向量在三维欧几里得空间中用笛卡尔坐标表示。它只涉及到对所有点一视同仁的坐标平移。不涉及旋转。

数字表示法:1×3向量

例如,平移3个单位沿x-轴和2.5个单位沿z-axis将表示为:

Trvec = [3 0 2.5]

转换函数和变换

Robotics System Toolbox为前面提到的转换表示提供转换函数。专用函数并不支持所有的转换。万博1manbetx下面的表格显示了支持哪些转换(蓝色部分)。万博1manbetx还显示了旋转和平移表示的缩写。

所有转换函数的名称都遵循标准格式。他们遵循形式alpha2beta在哪里α你要转换的是和的缩写吗β是您要转换为缩写的内容。例如,将欧拉角转换为四元数将是eul2quat

所有函数都期望有效输入。如果指定无效输入,输出将是未定义的。

还有其他转换函数用于弧度和角度、笛卡尔坐标和齐次坐标之间的转换,以及用于计算包裹角差。有关转换的完整列表,请参见坐标变换和轨迹

相关的话题