本章将讨论机器人平台如何移动,即它的位姿如何作为输人控制信号的函数随时间变化。在本书第二部分开始时展示了很多类型的机器人平台,本章只讨论其中两种比较典型的平台。第一个是像汽车一样工作在二维空间中的轮式机器人。它可以向前或向后移动,行进方向则可以通过改变转向轮的角度来调整。另一个是四旋翼飞行机器人,是一种无人飞行器,它是在三维空间运动的典型例子。四旋翼飞行机器人平台现在越来越受人们欢迎,主要是因为它们可以很容易进行模拟仿真和控制。

机动性:机动性和操作性用于衡量机器人实现所需求的运动功能和作业能力,涉及操作臂的可达性、奇异性,手指灵巧性,抓取封闭性,步行机器人的步态稳定性,多臂协调性,还有移动机器人的视觉伺服、多传感器集成、信息融合和环境场景建立等。优异的机动性和操作性,使机器人在非结构化环境下自律的运动,具备在突变场景下随机应变能力。

4.1移动机器人小车

四轮车常用的模型是图4.2所示的双轮自行车模型。其后轮固定在车体上,前轮可以绕 水平轴转动以实现车辆转向丸

该车的速度依据定义为其在x方向上的速度v,而在y方向上的速度是零,因为车轮不能侧移。在小车坐标系{V}中表示为:

其角速度为:

   (4.1)

机器人小车在世界坐标系中的速度是(v cos 0,   v sin 0),结合方程(4. 1),可以将它的运动

方程写为:

(4.2)

4.1.1移动到一个点

4.1.2跟踪一条直线

4.1.3跟踪一般路径

4.1.4运动到一个位姿

将机器人运动到一个特定的位姿机器人最终的姿态却依赖于它的起始位置。

4.2飞行机器人

以四旋翼飞行器建立运动模型    

设旋翼转速为wi,产生一个向上的推力向量,指向z轴的负方向:

其中b>0为升力常数,它取决于空气密度、旋翼叶片半径的立方、叶片的数量以及叶片的弦长。

由牛顿第二定律,可以给出该飞行器在世界坐标系中的移动动力学方程:

其中,v是飞行器在世界坐标系中的速度,g是重力加速度,m是该飞行器的总质量,T=IT, 是总的向上推力。方程右边第一项是重力,在世界坐标系中方向垂直向下,第二项代表将机体 坐标系中的总推力经旋转变换到世界坐标系。

每对旋翼之间的推力差异就会导致飞行器旋转。在x轴上产生的转矩即为横滚力矩,其大小为

其中,d是电机到飞行器质心的距离。我们可以将方程(4.3)代入,得到该力矩关于旋翼转速的表达式:

类似地,在y轴上产生的转矩即俯仰力矩,其大小是

电机施加到每个旋翼桨上的转矩与空气阻力力矩方向相反:

其中,k与升力常数b的影响因素相同。该转矩会对飞行器机体施加一个反转力矩,其作用是使整个机体产生一个绕旋翼轴的转动,但方向与旋翼转向相反。因此在z轴上总的转矩是

通过整合计算机体上作用力的动力学方程(4.4)和作用力矩的方程(4.8),可以得到四旋翼飞行器的运动模型

如果d >0,则矩阵A是满秩的,可以通过求逆得到

利用上式可以求出为给机体施加特定的力和力矩所需要的各旋翼转速。

一个特定四旋翼飞行器的参数可以用以下方式加载:

>>mdl quadrotor

它将在工作空间里创建一个名为quad的结构,其元素就是四旋翼飞行器不同的动态性能参数。对该飞行器的仿真可以使用Simulink菜单或从MATLAB命令行执行:

78

机器人学、机器视觉与控制--MATLAB算法基础

>> sim('sl_quadrotor');

它在一个单独的窗口中显示仿真动画①。飞行器起飞升空,然后飞行一圈,同时缓慢绕自己的z轴旋转。图4.18所示为仿真飞行中的一个画面。每个采样时间点对应的仿真结果将写人工作空间的一个矩阵中:

>> about(resultresult [double1:419x17(56984 bytes)

其中,每个时间点对应矩阵的一行,每行中先是时间信息,然后是状态向量(元素2~13),最后是要求的旋翼转速w(元素14~17)。要绘制飞行器x坐标和y坐标随时间变化的曲线,可以使用以下指令:

>>plot(result(:1),result(:,2:3));

        本章中讨论了机动性、位形空间和任务空间这些基本概念。我们还为两种不同的机器人平台建立了详细的模型。我们首先研究了类似汽车的机器人平台,它是众多地面机器人的原型。我们为该平台建立了一个运动学模型,并用它来开发了许多不同的控制器,使机器人平台能完成一些有用的任务,如移动到一个点、跟踪一条路径或者运动到一个位姿。然后讨论了一种简单的飞行器--四旋翼飞行器,并为它建立了一个动力学模型。在此基础上,我们开发了很多嵌套控制回路,实现了四旋翼飞行器飞行一圈的任务。