机器人学与OROCOS-KDL(二)位置描述与向量
机器人学中,有一些基本的线性代数知识需要了解,会使用向量、旋转矩阵、齐次矩阵等去描述空间中物体的位置和姿态。在KDL库的 frames.hpp头文件中定义了以下的类:
/*源码 orocos_kdl/src/frames.hpp*/
class Vector; //三维向量类的具体实现
class Rotation; //三维空间的旋转矩阵
class Frame; //齐次矩阵
class Wrench; //表示力和扭矩的组合
class Twist; //表示平动速度和旋转速度
class Vector2; //二维Vector
class Rotation2; //二维Rotation
class Frame2; //二维Frame
接下来几篇将探究空间描述,以及KDL的Vector、Rotation及Frame类,本篇先研究位置的描述与KDL的Vector类。
一、位置的数学表示
在空间直角坐标系中,我们可以用一个 3 × 1 3\times1 3×1的位置向量来确定该空间内任意一点的位置。对于直角坐标系 { A } \{A\} {
A},空间任意一点P的位置可以用 3 × 1 3\times1 3×1的列矢量 A P ^{A}P AP表示:
A P = [ p x p y p z ] ^{A}P=\begin{bmatrix} p_{x} \\ p_{y} \\ p_{z} \end{bmatrix} AP=⎣⎡px