《机器人自动化:建模、仿真与控制》一一2.2图形表示

2.2图形表示
本节将给出几个概念,这对于仿真期间系统的图形表示是必要的。

2.2.1模式
模式是一个具有两行或三行(取决于对象是在平面还是空间中)和n列的矩阵,列表示一个固定形状的多边形的n个顶点,用来表示对象。在该模式中,所有两个连续的点构成的线段的集合形成所希望的多边形的边是很重要的,例如,汽车(带有后轮)底盘(见图22)的模式M如下:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

显然,图22中的汽车是运动的,前轮相对于底盘移动,同时前轮之间也有相对运动,因此它们不能纳入底盘模式。为了绘制汽车图形,需要采用3种模式:底盘的模式、左前轮的模式和右前轮的模式。在MATLAB中,模式M(这里是二维的)可以用以下指令以蓝色绘制:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

2.2.2旋转矩阵
回顾一下,Rn→Rn线性变换矩阵的第j列表示标准基第j个向量ej的图像,因此,在平面R2中角度θ的旋转矩阵表达式为(见图23):
《机器人自动化:建模、仿真与控制》一一2.2图形表示

在R3空间中的旋转,选定旋转轴是很重要的,有3种主要的旋转:绕Ox轴、Oy轴和Oz轴旋转的角度θ,对应的矩阵分别如下:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

2.2.3齐次坐标
在屏幕上绘制二维或三维对象需要用以下形式的仿射变换(旋转、平移和相似变换):
《机器人自动化:建模、仿真与控制》一一2.2图形表示

式中,n=2或3。然而,组合仿射函数的操作不像线性变换那样简单,齐次坐标变换的方法是将仿射方程组变换为线性方程组。首先,可将形式为y=Ax+b的仿射方程写成如下形式:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

然后,定义向量的齐次变换如下:
《机器人自动化:建模、仿真与控制》一一2.2图形表示
得到如下方程:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

这是由3个仿射变换的组合,它可以重写为以下形式:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

运用Rodrigues公式,由向量w和角度φ=‖w‖表示的旋转矩阵如下:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

可以写一个MATLAB函数以生成R3的齐次旋转矩阵:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

生成R3中向量v的齐次平移矩阵的函数如下:
《机器人自动化:建模、仿真与控制》一一2.2图形表示

这两个函数在文件Rotatem和Translatem中给出。