前言AutomationforRoboticsⅠ1状态表达式与我们紧密相关的生物、经济和机械系统通常都可以用如下微分方程来描述:
x·(t)=f(x(t)+u(t))y(t)=g(x(t)+u(t))假设该系统的时间t是连续的[JAU05],u(t)是系统的输入(或控制)向量,y(t)是以一定精度检测出的系统输出向量。向量x(t)称为系统的状态,它表示系统的记忆,或者说当系统输入为u(t)时预测系统结果所需的信息。方程组中的第一个方程称为演化方程,该方程是一个微分方程,它给出了t时刻的状态向量x(t)的当前值和施加的控制向量u(t)。第二个方程称为观测方程,它用来计算t时刻在已知状态和控制时的输出向量y(t)。注意,观测方程不同于演化方程,由于它不包含导数项,因此它不是微分方程。这两个方程构成了系统的状态表达式。
有时我们用离散时间k来描述上面的状态方程,这里k∈Z,Z是整数集,例如计算机就是一个离散时间系统,它的离散时间k与微处理器的时钟同步。离散时间系统通常用下述递归方程描述:
x(k+1)=f(x(k)+u(k))y(k)=g(x(k)+u(k))本书的第一个目的是通过多做习题来了解状态表达的概念。为此,我们在第1章安排了各种各样的习题来揭示如何得到状态表达式,第2章对这些已知系统的状态表达式进行计算机仿真。
本书的第二个目的是提出由状态方程描述的系统的控制方法。换句话说,我们试图构建自动机械系统(人除了给出命令或设定点外,并不包含在系统中),控制器能够使系统按人的意愿进行控制(按人的需要对系统的行为进行改变)。为此,控制器将根据输出y(t)(或多或少有噪声)和设定点w(t)计算系统的输入u(t)(见图Ⅰ1)。
图Ⅰ1闭环控制系统概念图从用户的角度来看,具有输入w(t)和输出y(t)的闭环系统将产生合适的行为,这样就可以说我们控制了该系统。为了实现这个控制目标,首先来看看线性系统,也就是说,函数f和g假定是线性的。因此在连续时间的情况下,系统的状态方程可写成如下形式:
x·(t)=Ax(t)+Bu(t)y(t)=Cx(t)+Du(t)在离散时间情况下,它可写为x(k+1)=Ax(k)+Bu(k)y(k)=Cx(k)+Du(k)矩阵A、B、C、D分别称为演化、控制、观测和直接矩阵。系统的详细分析将在第3章进行,第4章将介绍如何使这些系统稳定,最后在第5章将像线性系统分析一样介绍工作点附近的非线性系统行为。对于那些工作点附近的非线性系统,可以采用与线性系统相同的方法进行稳定性的分析。
与本书有关的许多MATLAB程序可从以下网址得到:
http://wwwenstabretagnefr/jaulin/isteautohtmlⅠ2习题习题Ⅰ1——水下机器人法国国立布列塔尼高等先进技术学校(SNSAT)的水下机器人Saucisse控制系统[JAU09]的照片如图Ⅰ2所示。该系统包含1台计算机、3个螺旋桨、1台摄像机、1个罗盘和1台声呐装置。什么是该系统对应的输入向量u、输出向量y、状态向量x和设定点w?计算机位于控制回路的什么位置?图Ⅰ2水下机器人的控制习题Ⅰ2——帆船机器人图Ⅰ3是法国海洋开发研究所(FRIES)和SNSAT的帆船机器人Vaimos控制系统[JAU12a,JAU12b]。该系统能够自主跟踪航线,它有1台安装在桅杆顶部的风速仪、1个罗盘和1台全球定位系统(GPS)。请给出该系统对应的输入向量u、输出向量y、状态向量x和设定点w。
图Ⅰ3Vaimos依据风帆逆风行驶路线形成的曲折多变的航迹Ⅰ3习题解答习题Ⅰ1的解答输入向量u∈R3为3个螺旋桨的给定电压,输出向量y(t)包括罗盘、声呐数据和摄像机获取的图像,状态向量x对应机器人的位置、方向和速度,设定点w由操作者选定。例如,如果我们要进行航线控制,那么设定点w就是机器人的期望速度和路径。控制器是由计算机执行的程序。
习题Ⅰ2的解答输入向量u∈R2为帆船的长度δmaxv和船舵的角度δg,输出向量y∈R4包含GPS的数据m、超声风速仪(桅杆上的风速仪)ψ和罗盘θ,设定点w对应要跟踪的航线段ab。图Ⅰ4显示了该控制回路。操作者(未出现在图中)以机器人跟踪期望路径的方式分段跟踪航线序列(这里由12条线段形成一个方形路线,然后返回港口)。
图Ⅰ4帆船机器人的控制回路