CPS组件:连续时间工厂(移动机器人)

在本例中,使用混合系统工具箱对独轮车型移动机器人进行了仿真。假设前进速度为1或0,控制命令为美元u \ \ mathbf {R} $.假设控制输入为介于两者之间下午\ 1美元,也就是说,$u \in [U_{\min},\ U_{\max}]:= [-1,+1]$.此外,独轮车初始化在原点,并要求达到一个半径圆的边界美元间{\马克斯}$

内容

本例的文件在包中找到hybrid.examples.mobile_robot

这个包的内容位于例子\ +混合\ \ mobile_robot +例子(单击此链接将更改您的工作目录)。

数学模型

独轮车移动机器人是一个连续非线性系统。让x_1美元而且x_2美元为独轮车在二维平面上的位置x_3美元成为方向。运动学模型由

$ ${数组}{你}\ \开始点x_1 = v \罪x_3 \ \ \点x_2 = v \因为x_3 \ \ \点x_3 = u \{数组}$ $

这里是前进速度五美元假设为常数,且不失一般性$v = 1$.系统的状态和输入为$ (x_1、x_2 x_3) \ \ mathbf {R} ^ {3} $而且$u \in \mathbf{R}$,分别。我们将该系统表示为混合控制系统,数据如下:

$$\begin{数组}{ll} f(x,u):=\left[\begin{数组}{c} \sin x_{3} \\ \cos x_{3} \\ u \end{数组}\右],& c:=\ {(x,u) \in \mathbf{R}^{3} \times \mathbf{R} \mid u \in [U_{\min},\ U_{\max}], x_1^2 + x_2^2 \leq x ^2_{\max}\} \\ \\ g(x,u):=\left[\begin{数组}{c} 0 \\ 0 \\ 0 \end{数组}\右],& D: =\ emptyset \end{数组}$$

仿真软件模型

下图显示了这个示例的Simulink模型。移动机器人由连续时间的植物块。

连续时间植物块包含用户定义的流图$ f $块和流组美元加元块。

本例中的流程图和流程集函数如下所示。

流图f

函数Xdot = f(x, u)%工厂流程图。Xdot = [sin(x(3))];cos (x (3));u];结束

流组C

函数inC = C(x, u,参数)工厂流量设置指示器功能。X1 = x(1);X2 = x(2);minU = parameters.minU;maxU = parameters.maxU;maxX = parameters.maxX;如果u >= minU && u <= maxU && x1²+x2²<= maxX²inC = 1;%报告流量其他的inC = 0;%不报告流量结束结束

跳集C是一个常数块,值为0跳转地图D是未使用的。

示例输出

下面的图显示了闭环系统的解决方案。机器人从原点开始,然后一直行驶,直到最终到达目标集,目标集是一个以原点为中心,半径为5的圆。

Baidu
map