2.1 INTRODUCTION 2.1 引言2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS, AND FRAMES 2.2 描述:位置、方向和框架2.3 MAPPINGS: CHANGING DESCRIPTIONS FROM FRAME TO FRAME 2.3 映射:在帧之间更改描述2.4 OPERATORS: TRANSLATIONS, ROTATIONS, AND TRANSFORMATIONS 2.4 运算符:平移、旋转和变换2.5 SUMMARY OF INTERPRETATIONS 2.5 解释摘要2.6 TRANSFORMATION ARITHMETIC 2.6 变换算术2.7 TRANSFORM EQUATIONS 2.7 变换方程2.8 MORE ON REPRESENTATION OF ORIENTATION 2.8 更多关于方向表示2.9 TRANSFORMATION OF FREE VECTORS 2.9 自由向量的变换2.10 COMPUTATIONAL CONSIDERATIONS 2.10 计算注意事项
2.1 INTRODUCTION 2.1 引言
Robotic manipulation, by definition, implies that parts and tools will be moved around in space by some sort of mechanism. This naturally leads to a need for representing positions and orientations of parts, of tools, and of the mechanism itself. To define and manipulate mathematical quantities that represent position and orientation, we must define coordinate systems and develop conventions for representation. Many of the ideas developed here in the context of position and orientation will form a basis for our later consideration of linear and rotational velocities, forces, and torques. 根据定义,机器人操作意味着零件和工具将通过某种机制在空间中移动。这自然导致需要表示零件、工具和机构本身的位置和方向。要定义和操作表示位置和方向的数学量,我们必须定义坐标系并开发表示约定。这里在位置和方向的背景下提出的许多想法将构成我们以后考虑线性和旋转速度、力和扭矩的基础。
We adopt the philosophy that somewhere there is a universe coordinate system to which everything we discuss can be referenced. We will describe all positions and orientations with respect to the universe coordinate system or with respect to other Cartesian coordinate systems that are (or could be) defined relative to the universe system. 我们采用的理念是,在某个地方有一个宇宙坐标系,我们讨论的一切都可以参考该系统。我们将描述相对于宇宙坐标系或相对于(或可能)相对于宇宙系统定义的其他笛卡尔坐标系的所有位置和方向。
2.2 DESCRIPTIONS: POSITIONS, ORIENTATIONS, AND FRAMES 2.2 描述:位置、方向和框架
A description is used to specify attributes of various objects with which a manipulation system deals. These objects are parts, tools, and the manipulator itself. In this section, we discuss the description of positions, of orientations, and of an entity that contains both of these descriptions: the frame. description 用于指定操作系统处理的各种对象的属性。这些对象是零件、工具和操纵器本身。在本节中,我们将讨论位置、方向以及包含这两种描述的实体(框架)的描述。
Description of a position 职位描述
Once a coordinate system is established, we can locate any point in the universe with a 3xx13 \times 1 position vector. Because we will often define many coordinate systems in addition to the universe coordinate system, vectors must be tagged with information identifying which coordinate system they are defined within. In this book, vectors are written with a leading superscript indicating the coordinate system to which they are referenced (unless it is clear from context)-for example, ^(A)P{ }^{A} P. This means that the components of ^(A)P{ }^{A} P have numerical values that indicate distances along the axes of {A}\{A\}. Each of these distances along an axis can be thought of as the result of projecting the vector onto the corresponding axis. 一旦建立了坐标系,我们就可以用 3xx13 \times 1 位置向量定位宇宙中的任何点。因为除了宇宙坐标系之外,我们还经常定义许多坐标系,所以必须用信息来标记向量,以标识它们在哪个坐标系中定义。在本书中,向量用前导上标书写,表示它们所引用的坐标系(除非从上下文中可以清楚地看出)——例如, ^(A)P{ }^{A} P .这意味着 的 ^(A)P{ }^{A} P 分量具有表示沿 轴 {A}\{A\} 的距离的数值。沿轴的这些距离中的每一个都可以被认为是将向量投影到相应轴上的结果。
Figure 2.1 pictorially represents a coordinate system, {A}\{A\}, with three mutually orthogonal unit vectors with solid heads. A point ^(A)P{ }^{A} P is represented as a vector and can equivalently be thought of as a position in space, or simply as an ordered set of three numbers. Individual elements of a vector are given the subscripts x,yx, y, and zz : 图 2.1 以图形方式表示一个坐标系 {A}\{A\} ,其中包含三个具有实心磁头的相互正交的单位向量。一个点 ^(A)P{ }^{A} P 表示为向量,可以等效地被视为空间中的位置,或者简单地视为三个数字的有序集合。向量的各个元素被赋予下标 x,yx, y ,和 zz :
In summary, we will describe the position of a point in space with a position vector. Other 3-tuple descriptions of the position of points, such as spherical or cylindrical coordinate representations, are discussed in the exercises at the end of the chapter. 总之,我们将用位置向量描述一个点在空间中的位置。点位置的其他 3 元组描述,例如球面或圆柱坐标表示,在本章末尾的练习中讨论。
Description of an orientation 方向描述
Often, we will find it necessary not only to represent a point in space but also to describe the orientation of a body in space. For example, if vector ^(A)P{ }^{A} P in Fig. 2.2 locates the point directly between the fingertips of a manipulator’s hand, the complete location of the hand is still not specified until its orientation is also given. Assuming that the manipulator has a sufficient number of joints, ^(1){ }^{1} the hand could be oriented arbitrarily while keeping the point between the fingertips at the same 通常,我们会发现不仅需要表示空间中的某个点,还需要描述物体在空间中的方向。例如,如果图 2.2 中的 vector ^(A)P{ }^{A} P 直接定位机械手手的指尖之间的点,则在给出其方向之前,仍未指定手的完整位置。假设机械手具有足够数量的关节, ^(1){ }^{1} 则可以在保持指尖之间的点相同的同时,对手部进行任意定向
FIGURE 2.1: Vector relative to frame (example). 图 2.1: 相对于帧的向量(示例)。
FIGURE 2.2: Locating an object in position and orientation. 图 2.2: 在位置和方向上定位对象。
position in space. In order to describe the orientation of a body, we will attach a coordinate system to the body and then give a description of this coordinate system relative to the reference system. In Fig. 2.2, coordinate system {B}\{B\} has been attached to the body in a known way. A description of {B}\{B\} relative to {A}\{A\} now suffices to give the orientation of the body. 在空间中的位置。为了描述物体的方向,我们将坐标系附加到物体上,然后相对于参考系统给出该坐标系的描述。在图 2.2 中,坐标系 {B}\{B\} 以已知的方式附加到物体上。relative to {A}\{A\} now 的 {B}\{B\} 描述足以给出物体的方向。
Thus, positions of points are described with vectors and orientations of bodies are described with an attached coordinate system. One way to describe the bodyattached coordinate system, {B}\{B\}, is to write the unit vectors of its three principal axes ^(2){ }^{2} in terms of the coordinate system {A}\{A\}. 因此,点的位置用矢量描述,物体的方向用附加的坐标系描述。描述 bodyattached 坐标系 {B}\{B\} 的一种方法是用坐标系 {A}\{A\} 来写其三个主轴 ^(2){ }^{2} 的单位向量。
We denote the unit vectors giving the principal directions of coordinate system {B}\{B\} as hat(X)_(B), hat(Y)_(B)\hat{X}_{B}, \hat{Y}_{B}, and hat(Z)_(B)\hat{Z}_{B}. When written in terms of coordinate system {A}\{A\}, they are called ^(A) hat(X)_(B),^(A) hat(Y)_(B){ }^{A} \hat{X}_{B},{ }^{A} \hat{Y}_{B}, and ^(A) hat(Z)_(B){ }^{A} \hat{Z}_{B}. It will be convenient if we stack these three unit vectors together as the columns of a 3xx33 \times 3 matrix, in the order ^(A) hat(X)_(B),^(A) hat(Y)_(B),^(A) hat(Z)_(B){ }^{A} \hat{X}_{B},{ }^{A} \hat{Y}_{B},{ }^{A} \hat{Z}_{B}. We will call this matrix a rotation matrix, and, because this particular rotation matrix describes {B}\{B\} relative to {A}\{A\}, we name it with the notation _(B)^(A)R{ }_{B}^{A} R (the choice of leading suband superscripts in the definition of rotation matrices will become clear in following sections): 我们将给出坐标系 {B}\{B\} 主方向的单位向量表示为 hat(X)_(B), hat(Y)_(B)\hat{X}_{B}, \hat{Y}_{B} ,和 hat(Z)_(B)\hat{Z}_{B} 。当用 coordinate system {A}\{A\} 表示时,它们称为 ^(A) hat(X)_(B),^(A) hat(Y)_(B){ }^{A} \hat{X}_{B},{ }^{A} \hat{Y}_{B} 、 和 ^(A) hat(Z)_(B){ }^{A} \hat{Z}_{B} 。如果我们将这三个单位向量按顺序堆叠在一起作为 3xx33 \times 3 矩阵的列,将很方便 ^(A) hat(X)_(B),^(A) hat(Y)_(B),^(A) hat(Z)_(B){ }^{A} \hat{X}_{B},{ }^{A} \hat{Y}_{B},{ }^{A} \hat{Z}_{B} 。我们将这个矩阵称为旋转矩阵,并且,由于这个特定的旋转矩阵描述 {B}\{B\} 的是相对于 {A}\{A\} ,所以我们用以下表示法来命名 _(B)^(A)R{ }_{B}^{A} R 它(旋转矩阵定义中前导下标的选择将在以下各节中变得清晰):
In summary, a set of three vectors may be used to specify an orientation. For convenience, we will construct a 3xx33 \times 3 matrix that has these three vectors as its columns. Hence, whereas the position of a point is represented with a vector, the 总之,可以使用一组三个向量来指定方向。为方便起见,我们将构造一个 3xx33 \times 3 将这三个向量作为其列的矩阵。因此,虽然点的位置用向量表示,但
^(1){ }^{1} How many are “sufficient” will be discussed in Chapters 3 and 4. ^(1){ }^{1} 多少是“足够的”将在第 3 章和第 4 章中讨论。
^(2){ }^{2} It is often convenient to use three, although any two would suffice. (The third can always be recovered by taking the cross product of the two given.) ^(2){ }^{2} 使用 3 个通常很方便,但任何 2 个都足够了。(第三个总是可以通过取给定的两个的叉积来恢复。