机器人系统数学建模(现代控制理论1)

这是现代控制理论番外篇的第一篇:主要围绕机器人系统的状态空间模型展开介绍。

机器人系统数学建模(现代控制理论1)

建立机器人系统的数学模型是使用计算机控制机器人的第一步。主要分为如下五个部分:

机器人系统数学建模(现代控制理论1)

为了使内容尽可能形象,这里不介绍具体推导过程,以定性描述为主,计算和仿真等全部交给matlab和ROS。

机器人系统数学建模(现代控制理论1)

课本中大量的示例围绕电路系统的状态空间模型,各种标准型,传递函数等,如何从这些知识平滑过渡到机器人系统建模呢???

看上图最简单的两个公式。类比一下,电压,电流和电阻,对应力,加速度和质量;那么电路中的电容和电感等,也可以近似对应到机器人系统的弹性结构和阻尼结构。这样的知识迁移能力对于快速掌握一门实用课程非常重要!!!

  • 运动学:不考虑机器人的惯性
  • 动力学:复杂但是模型精确

关于这部分内容可以详细参考:

机器人系统数学建模(现代控制理论1)

地面清扫机器人已经走入千家万户,这类机器人模型十分典型,如右图所示,外观酷炫的机器人,秒变符号图示。

这些符号对于实际机器人系统具体的质量,*半径,轴间距等各种参数。当我们建立好系统的状态空间模型后,如果不将机器人放在这些数学符号旁,也许你不知道,它代表一个机器人,但是如果掌握现代控制理论,你将拥有这一特异功能。看下图:

机器人系统数学建模(现代控制理论1)

我们都知道两轮的扫地机器人可以前进,后退,左转和右转,但是不能侧向平移,为啥,如何更专业的描述这一特性,其数学模型给出了非常明确的答案!无论左轮和右轮如何旋转,机器人系统数学建模(现代控制理论1)都是等于0的啊!

机器人建立准确的数学模型,对于理解,分析和控制此系统有着非常重要的作用。

机器人系统数学建模(现代控制理论1)

这类扫地机器人的模型有个标准的名字:两轮差动驱动机器人,依据机器人简化模型示例可以写出机器人的运动学模型,左右轮速度与机器人位姿变化的关系,这个模型对于控制机器人非常重要,但是不便于我们去思考和理解,于是有了下面的模型:

机器人系统数学建模(现代控制理论1)

通常理解机器人可以前后和旋转,分别对应线速度和角速度,与左右轮控制的变化关系也如图所示。其实这个模型在仿真中如下图所示:

机器人系统数学建模(现代控制理论1)

如同一个拖车,后面的球体类似负载,如果使负载垂直于地面那机器人模型会发生变化吗??? 

机器人系统数学建模(现代控制理论1)

分别说明:两轮差动+倒立摆???这个该如何是好??如何描述此系统,怎么建立其数学模型呢??莫慌!

机器人系统数学建模(现代控制理论1)

先硬着头皮干,这里除了机器人位姿之外,还有摆杆与垂直方向夹角等,列出一串恐怖的状态方程。然后再线性化:

机器人系统数学建模(现代控制理论1)

得到一个熟悉的A和熟悉的B,但是这样系统不可控,依据A和B算出,具体内容在能控性讲解。问题出在哪里???

  • 机器人系统既要地面运动,又要保持摆垂直,运动受到约束
  • 需要关注于摆而非空间位移的变化

机器人系统数学建模(现代控制理论1)

一定要注意状态空间模型建立过程中,状态变量的选取!!!

矩阵抽象不便于理解,控制效果也不能直观呈现,怎么办?引入三维仿真,逼真度高,效果好!

机器人系统数学建模(现代控制理论1)

很酷炫是不是,昏昏欲睡的你是不是顿时又有了学习的欲望呢?如果将真实模型建模到仿真环境中,可以用于控制算法测试,模型优化,提高效率,就像下面这样,也是我们一直使用的案例:

机器人系统数学建模(现代控制理论1)

注意:仿真的总体目标是以最小的时间成本在某种程度上重现现实,这种近似应成为设计机器人或评估现有机器人性能的具体目标。数字模型是现实的抽象。无需在Gazebo模型中复制物理机器人的每个细节。如果尝试这样做,那么所需的工作量将非常大,以至于仿真的好处将无法弥补这种努力。相反,要做的就是复制这些特征用于验证机器人,应该先定义具体目标,然后建立最简单的模型,使我们能够遵守这些目标。

平衡车通常载人,假定人高1.8m,质量60kg,那么直接简化成一个高0.9米的连杆,球体重量为60kg。这样就能实现对真实系统功能复现。将其所有细节考虑全面,得到了如下机器人数学模型,这是后续将持续介绍的。

仿真具体介绍链接:

机器人系统数学建模(现代控制理论1)