《欠驱动机器人》课程笔记一 Introduction

本系列博客主要参考drake在2023年春季的《Underactuated Robotics》视频课,以及他的笔记。主要是记录他对于控制的概念以及思考。
参考资料:Underactuated Robotics (mit.edu)
(6条消息) 欠驱动机器人学-麻省理工学院开放课程-MIT 6.832: Underactuated Robotics(译)_zhangrelay的博客-CSDN博客
欠驱动机器人控制算法学习 - 知乎 (zhihu.com)

1. 课程的简单介绍和目标

介绍三种常见的欠驱动模型。

1.1 Honda’s ASIMO vs. passive dynamic walkers

ASIMO走路的样子有点像一个不熟悉自己动态的人。它的控制系统使用高增益反馈,因此相当大的关节扭矩,以抵消机器的自然动力学,并严格遵循期望的轨迹。这种控制方法带来了严厉的惩罚。ASIMO使用的能量大约是人类在平地上行走所用能量的20倍(按运输成本衡量)。

Recent_Advances_in_Electrical_Engineering_and_Related Sciences_Theory_and_Application

高增益反馈(high gain)

什么是高增益反馈?

一种用来解决含有未知项(参数未知或者干扰未知)的系统稳定问题。

在闭环控制中,足够高的增益使系统中任何参数的变化都可以忽略不计。通过高增益将系统特性和环境特性给覆盖掉,但同时,系统的系统特性和环境特性给覆盖掉了。

(1 封私信 / 4 条消息) 控制理论中到底什么是high gain control? - 知乎 (zhihu.com)

1.2 Birds vs. modern aircraft

现代飞机在静止空气中的稳定水平飞行是非常有效的。螺旋桨非常有效地产生推力,并且今天的弧形翼型在速度和/或效率方面进行了高度优化。

但是,像ASIMO一样,这些机器大多局限于非常保守的低迎角飞行状态,在这种状态下,机翼上的空气动力学是很好理解的。鸟类经常在这个飞行包线之外执行机动(例如,当它们降落在栖木上时),并且在利用空中能量(例如,风)方面比我们最好的飞机有效得多。

1.3 Manipulation

家里有意义的任务。诚然,家用机器人的感知问题(使用传感器来检测/定位物体并理解场景)是非常困难的。但是,即使我们有一个完美的感知系统,我们的机器人仍然有很长的路要走,以执行基本的对象操作任务与人类的灵巧性和多功能性。

1.4 The common theme

机器人的经典控制技术是基于这样一种思想,即反馈可以用来超越我们机器的动力学。

为了使我们的机器人实现出色的动态性能(高效,快速性和鲁棒性),我们必须充分利用动力学的优势,而不是将他们抵消掉。

2. Definitions

二阶控制动力系统的一般形式是:

q ¨ = f ( q , q ˙ , u , t ) , \ddot{\mathbf{q}}=\mathbf{f}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}, t), q¨=f(q,q˙,u,t),

$q 状态变量; 状态变量; 状态变量;\dot q$状态变量; u u u状态变量是控制变量; t t t是时间;

2.1 Underactuated Cotrol Differential Equations

q ¨ = f ( q , q ˙ , u , t ) \ddot{\mathbf{q}}=\mathbf{f}(\mathbf{q}, \dot{\mathbf{q}}, \mathbf{u}, t) q¨=f(q,q˙,u,t)

全驱动: 在某一时间 和 x = ( q , q ˙ ) x = (q, \dot q ) x=(q,q˙)时,如果 f f f 是满射,每一个 q ¨ \ddot q q¨ 都存在一个理想的控制变量 u u u .

否则,就是欠驱动

单射(1-1,injection),满射(onto, surjection),双射(bijection)

单射(injection): 如果一个函数 f : A → B f: A → B f:AB 是单射,那么对于不同的 $ a1, a2 ∈ A$,如果 f ( a 1 ) = f ( a 2 ) f(a1) = f(a2) f(a1)=f(a2),则必须有 a 1 = a 2 a1 = a2 a1=a2 ,即不同的源元素映射到了不同的目标元素。这可以保证每个目标元素都只对应一个源元素。

满射(surjection):如果一个函数 f : A → B f: A → B f:AB 是满射,那么对于任意 b ∈ B b ∈ B bB ,都存在至少一个 a ∈ A a ∈ A aA ,使得 f ( a ) = b f(a)=b f(a)=b。换句话说,函数 f f f 将整个目标集合 B B B 映射到,没有任何一个元素被"遗漏"。

双射(bijection):当一个函数既是单射又是满射的时候。

我们关心的许多动力学在指令扭矩下都是仿射的:

q ¨ = f 1 ( q , q ˙ , t ) + f 2 ( q , q ˙ , t ) u . \ddot{\mathbf{q}}=\mathbf{f}_{1}(\mathbf{q}, \dot{\mathbf{q}}, t)+\mathbf{f}_{2}(\mathbf{q}, \dot{\mathbf{q}}, t) \mathbf{u}. q¨=f1(q,q˙,t)+f2(q,q˙,t)u.

如果我们能够得出:

rank ⁡ [ f 2 ( q , q ˙ , t ) ] < dim ⁡ [ q ] \operatorname{rank}\left[\mathbf{f}_{2}(\mathbf{q}, \dot{\mathbf{q}}, t)\right]<\operatorname{dim}[\mathbf{q}] rank[f2(q,q˙,t)]<dim[q]

这是系统是 欠驱动系统

2.2 Example(Robot Manipulators)

Acrobot
该系统的动力学方程是:

M ( q ) q ¨ + C ( q , q ˙ ) q ˙ = τ g ( q ) + B u . \mathbf{M}(\mathbf{q}) \ddot{\mathbf{q}}+\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}}) \dot{\mathbf{q}}=\tau_{g}(\mathbf{q})+\mathbf{B u}. M(q)q¨+C(q,q˙)q˙=τg(q)+Bu.

M ( q ) M(q) M(q)是惯量矩阵,并且总是一直对称且正定的,所以它是可逆的。

q ¨ = M − 1 ( q ) [ τ g ( q ) + B u − C ( q , q ˙ ) q ˙ ] . \ddot{\mathbf{q}}=\mathbf{M}^{-1}(\mathbf{q})\left[\tau_{g}(\mathbf{q})+\mathbf{B u}-\mathbf{C}(\mathbf{q}, \dot{\mathbf{q}}) \dot{\mathbf{q}}\right]. q¨=M1(q)[τg(q)+BuC(q,q˙)q˙].

q = [ θ 1 , θ 2 ] T q=[\theta_1, \theta_2]^{T} q=[θ1,θ2]T, u = [ τ 1 , τ 2 ] T u=[\tau_1, \tau_2]^{T} u=[τ1,τ2]T, B = I 2 x 2 B=I_{2x2} B=I2x2, 系统是完全驱动的。

u = τ 2 u=\tau_2 u=τ2, B = [ 0 , 1 ] T B=[0,1]^{T} B=[0,1]T时, 只有肘关节处有驱动,而肩关节那里没有驱动器。

3. 反馈等效(FeedBack Equivalence)

对于全驱动系统,考虑潜在的非线性反馈控制

u = π ( q , q ˙ , t ) = f 2 − 1 ( q , q ˙ , t ) [ u ′ − f 1 ( q , q ˙ , t ) ] q ¨ = u ′ \mathbf{u}=\pi(\mathbf{q}, \dot{\mathbf{q}}, t)=\mathbf{f}_{2}^{-1}(\mathbf{q}, \dot{\mathbf{q}}, t)\left[\mathbf{u}^{\prime}-\mathbf{f}_{1}(\mathbf{q}, \dot{\mathbf{q}}, t)\right] \\ \ddot{q}=u' u=π(q,q˙,t)=f21(q,q˙,t)[uf1(q,q˙,t)]q¨=u

u ′ u' u是新的控制输入,同时 q ¨ = u \ddot{q}=u q¨=u.

但是,欠驱动系统的反馈不能等价于 q ¨ = u \ddot{q}=u q¨=u.

4. 输入约束以及状态约束 (Input and State Constraints)

4.1 Definition (Input and State Constraints)

受到约束的动态系统可以描述为:

x ˙ = f ( x , u , t ) ϕ ( x , u , t ) ≥ 0 \mathbf{\dot{x}}=f(\mathbf{x},\mathbf{u},t) \\ \phi(\mathbf{x},\mathbf{u},t)\geq0 x˙=f(x,u,t)ϕ(x,u,t)0

4.2 Nongolonomic constraints(非完整约束)

简单来说,一个非完整约束的形式为

ϕ ( q , q ˙ , t ) = 0 \phi (\mathbf{q},\mathbf{\dot{q}},t)=0 ϕ(q,q˙,t)=0

而不能将其转化完整约束的形式:

ϕ ( q , t ) = 0 \phi(\mathbf{q},t)=0 ϕ(q,t)=0

非完整约束不约束系统可能的构型,而是约束这些构型可以到达的形式。完整约束可以减少系统的自由度,但是非完整约束不会减少系统的自由度。

4.2.1 Example Wheeled robot

该系统受到防止侧滑的差动约束为:

x ˙ = v cos ⁡ θ y ˙ = v sin ⁡ θ v = x ˙ 2 + y ˙ 2 y ˙ cos ⁡ θ − x ˙ sin ⁡ θ = 0. \begin{array}{c}\dot{x}=v \cos \theta \\ \dot{y}=v \sin \theta \\ v=\sqrt{\dot{x}^{2}+\dot{y}^{2}}\end{array}\\\dot{y} \cos \theta-\dot{x} \sin \theta=0. x˙=vcosθy˙=vsinθv=x˙2+y˙2 y˙cosθx˙sinθ=0.

这些约束不能集成到构型约束中—汽车可以到达任何的构型( x , y , θ x, y, \theta x,y,θ), 它只是不能直接侧向移动,所以这是一个非完整的约束。

轮式车辆上的非完整约束,如无侧滑约束,必然导致欠驱动系统。相反的情况不一定是正确的,双摆系统是欠驱动,但通常不会被称为非完整系统。

如有不足之处,欢迎大家批评指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值