移动机器人中的现代控制理论之状态空间表达式

本文深入探讨了状态空间模型在控制理论中的应用,通过两轮差动模型的机器人实例,详细解析了从简化运动学模型到包含惯性的动力学模型的演变过程。文章不仅提供了直观的图像说明,还给出了具体的数学公式,帮助读者理解状态空间模型在机器人控制中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

状态空间表达式一般是现代控制理论的第一章,关于课程可以详细查看:

https://zhangrelay.blog.youkuaiyun.com/article/category/6161998

所有课程相关资料链接如下:

https://zhangrelay.blog.youkuaiyun.com/article/details/51195007


在讲述课程时,发现部分学生对于状态空间模型概念并没有非常形象的认知,机械的记忆公式,从而失去学习课程的乐趣,探索控制理论的热情。其实,现代控制理论非常简单,整本书都围绕如下这个公式展开:

$$\left\{\begin{matrix}
\dot{x}=Ax+Bu
\\ 
y=Cx+Du
\end{matrix}\right.$$

然后,一般而言,教材会有R-L-C电路或者带弹簧阻尼的机械运动模型,刷一波上述公式,嗯,没办法都是这样的。

放个图,大家感受一下:

 然后,经过一系列推导,得到如下公式:

对应公式:$$ \dot{x}=Ax+Bu $$

想要了解更多信息,参考如下链接:

http://www.mbstudent.com/control-theory-state-space-representation-RLC-circuit-example-1.html


但是,不生动不形象啊~讲的人痛苦,听的人无趣。索性换一个例子吧:

两轮差动模型的机器人仿真环境

上图中有两个机器人,相对坐标系等先不讲,此处只关注单个机器人在地面上的运动特性。

机器人左轮和右轮的运动使得机器人在环境空间状态发生变化。大部分低成本平地两轮机器人都是类似的模型,如扫地机器人,巡逻机器人等。

输入----系统----输出(机器人与环境交互)

 

 

具体公式推导,可以参考:

http://planning.cs.uiuc.edu/node659.html

更具体过程稍后补充:

第一种(全局坐标系):

$$\begin{pmatrix}
\dot{x}
\\
\dot{y} 
\\ 
\dot{\theta} 
\end{pmatrix}
=
\begin{pmatrix}
\cos \theta  & 0 \\ 
\sin \theta  & 0\\ 
0 & 1 
\end{pmatrix}
\begin{pmatrix}
\upsilon \\ 
\omega 
\end{pmatrix}$$

第二种(机器人坐标系):

$$\begin{pmatrix}
\upsilon _{x}
\\
\upsilon _{y} 
\\ 
\dot{\theta} 
\end{pmatrix}
=
\begin{pmatrix}
r/2  & r/2 \\ 
0  & 0\\ 
-r/L & r/L 
\end{pmatrix}
\begin{pmatrix}
\omega _{l}\\ 
\omega _{r} 
\end{pmatrix}$$

 

上述图片为引用。

这时候会发现?说好的状态空间模型怎么不对劲呢???只有:$$ \dot{x}= Bu $$


这是分割线


思考一下,机器人难道没有惯性吗?当停止电机供电,机器人是立刻停止,还是需要滑行一小段距离?

上述模型是运动学模型,是经过简化的,更真实的模型如下:

$$\left\{\begin{matrix}
\dot{x}=Ax+Bu
\\ 
y=Cx
\end{matrix}\right.$$

其中:

$$A=\begin{bmatrix}
a _{1} & 0 & 0\\ 
0 & 0 & 1\\ 
0 & 0 & a _{2}
\end{bmatrix} $$

$$B=\begin{bmatrix}
b _{1} & b _{1}\\ 
0 & 0\\ 
b _{2} & -b _{2}
\end{bmatrix}$$

$$C=\begin{bmatrix}
1 & 0 & 0\\ 
0 & 1 & 0
\end{bmatrix}$$

$$a_{1}=-2c/(Mr^{2}+2I_{\omega }), a_{2}=-2cl^{2}/(I_{\upsilon }r^{2}+2I_{\omega }l^2)$$

$$b_{1}=kr/(Mr^{2}+2I_{\omega }), b_{2}=krl/(I_{\upsilon }r^{2}+2I_{\omega }l^2)$$

各变量具体含义:

Iv 机器人重心的转动惯量 Moment of inertia around the C.G. of robot

M 机器人质量 Mass of the robot

l 左右轮与机器人重心之间的距离 Distance between left and right wheel and the c.g. of robot

Iw 车轮转动惯量 Moment of inertia of wheel

c 粘滞摩擦系数 Viscous friction factor

r 车轮半径 Radius of wheel

k 驱动增益系数 Driving gain factor


思考:为何A为系统矩阵,B为控制(输入)矩阵,C为输出(感知)矩阵?

 

此文目前为草稿,待后续完善。


 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangrelay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值