【读书笔记】Legged Robots That Balance (2)

第三章:三维空间跳行(Hopping in Three Dimensions)

  • 笔记应配合原书《Legged Robots That Balance》一同阅读(尤其是图表)

  • 正文为原文内容概括

  • 括号()内为我的注释

前面的章节中,我们讨论了平面空间中的单腿跳行运动及其控制。鉴于现实情况下,大部分动物的跳行运动是在三维空间中进行的,因此有必要研究三维空间的跳行。实际上,三维空间跳行与平面空间中十分类似。我们为此又建立了一台实验装置,其运动过程图像见图3.1。

三维空间的平衡

在三维空间跳行运动中,中性点、净前行加速度等定义基本相同,唯一有所区别的地方在于,位置、速度、加速度等物理量,在平面中使用带符号的标量即可表示大小和方向,而在三维空间中要用三维向量予以表示。

在三维空间中,每一次跳行的落足点与中性点之间可能存在着两个方向上的偏差,这样会使得下一次腾空的速度不仅发生大小的改变,也会发生方向的改变。每一次离地后的前行速度可以表示如公式3.1:

x ˙ i + 1 = x ˙ i + Δ x ˙ \dot{\mathbf{x}}_{i+1}=\dot{\mathbf{x}}_{i}+\Delta \dot{\mathbf{x}} x˙i+1=x˙i+Δx˙

图3.2展示了落足点及其对应产生的净加速度之间的大小和方向关系。

在这里,我们有必要找出一些特殊的落足点。我们已经知道落足点会改变前行速度的大小和方向。如果落足点为中性点,那么前行速度的大小和方向都不会改变。但也存在着这样一些点:它们有的只会改变前行速度的方向,而不改变其大小;有的只改变前行速度的大小,而不改变其方向。这些点的集合通常是一条轨迹。对于第一类点,其集合称之为“中性速度轨迹”(nuetral speed locus),如图3.4;第二类点的集合称之为“中性方向轨迹”(nuetral heading locus)。这两类轨迹相交于中性点。

三维单腿跳行机械结构

三维跳行单腿的机械结构类似于平面单腿,只是在另一个方向上增加了一套驱动于传感装置,如图3.5。控制电脑对执行器实行线性伺服控制,见公式3.2:

τ i = − k p ( w i − w i , d ) − k v ( w ˙ i ) \tau_{i}=-k_{p}\left(w_{i}-w_{i, d}\right)-k_{v}\left(\dot{w}_{i}\right) τi=kp(wiwi,d)kv(w˙i)

结构的设计参数见表3.1。

前行速度控制

前行速度由向量x给出,而足部相对于身体的前进位置用另一个向量 x f x_f xf表示。这些向量在一个坐标系中,这个坐标系的原点随着物体的质心运动,但坐标轴在空间中有一个固定的方向(简单的坐标变换问题,见附录3A)。中性点的位置可以从CG-print中得到:

x f 0 = x ˙ T s 2 \mathbf{x}_{f 0}=\frac{\dot{\mathbf{x}} T_{s}}{2} xf0=2x˙Ts

这种对CG-print的近似与平面情况有相同的困难,即由于忽略了在支撑过程中发生的减速和再加速,这种近似高估了支撑在较高运行速度下走过的距离。

该控制系统用线性函数 Δ x ˙ = − X f Δ / k x ˙ \Delta \dot{\mathbf{x}}=-\mathbf{X}_{f \Delta} / k_{\dot{\mathbf{x}}} Δx˙=XfΔ/kx˙逼近了足部相对于中性点的位移$\mathbf{X}{f \Delta} 与 净 加 速 度 与净加速度 \Delta \dot{\mathbf{x}} 之 间 的 关 系 , 其 中 之间的关系,其中 k{\dot{x}}$为常数。这个近似忽略了图3.2中明显的速度和方向的变化。控制系统使用这种近似将前行速度误差转换为足部与中性点的相对位移,见公式3.3:

x f Δ = k x ˙ ( x ˙ − x ˙ d ) \mathbf{x}_{f \Delta}=k_{\dot{\mathbf{x}}}\left(\dot{\mathbf{x}}-\dot{\mathbf{x}}_{d}\right) xfΔ=kx˙(x˙x˙d)

将中性点位置与足部与中性点的相对位移结合,得到了腾空过程中足部应当相对于身体的位移,公式3.4:

x f = x ˙ T s 2 + k x ˙ ( x ˙ − x ˙ d ) \mathbf{x}_{f}=\frac{\dot{\mathbf{x}} T_{s}}{2}+k_{\dot{\mathbf{x}}}\left(\dot{\mathbf{x}}-\dot{\mathbf{x}}_{d}\right) xf=2x˙Ts+kx˙(x˙x˙d)

对三维空间,上式可以写为分量的形式:

x f = x ˙ T s 2 + k x ˙ ( x ˙ − x ˙ d ) y f = y ˙ T s 2 + k x ˙ ( y ˙ − y ˙ d ) \begin{aligned} x_{f} &=\frac{\dot{x} T_{s}}{2}+k_{\dot{\mathbf{x}}}\left(\dot{x}-\dot{x}_{d}\right) \\ y_{f} &=\frac{\dot{y} T_{s}}{2}+k_{\dot{\mathbf{x}}}\left(\dot{y}-\dot{y}_{d}\right) \end{aligned} xfyf=2x˙Ts+kx˙(x˙x˙d)=2y˙Ts+kx˙(y˙y˙d)

从腿部运动估计前行速度

在站立姿态时,足部与地面相对静止,因此臀部相对于地面的速度大小等于足部相对于臀部的速度,方向相反。见公式3.6:

x ˙ = − x ˙ f \dot{\mathbf{x}}=-\dot{\mathbf{x}}_{f} x˙=x˙f

而足部相对于臀部的位置可以通过臀部驱动器长度、腿长以及螺旋角的测量值得到,如公式3.7,详见附录3A:

x f = F − 1 ( w ) \mathbf{x}_{f}=\mathbf{F}^{-1}(\mathbf{w}) xf=F1(w)

因此,控制系统可以通过站立姿态时的腿部位置微分来估计前行速度。在这里,空中速度的微小变化被忽略掉了。

控制身体姿态

控制系统需要时刻保证身体处于竖直的姿态。这种调整只能在站立阶段通过对腿部和身体之间施加扭矩实现(详见第二章的姿态控制解释)。

对三维空间运动,俯仰和横滚姿态都需要进行控制。测量俯仰和横滚姿态的陀螺仪分别与臀部的两个轴线相对齐。这使得姿态控制伺服可以使用未转换的陀螺仪测量俯仰和横滚角,以伺服臀部关节执行机构,见公式3.8:

τ 1 = − k p ( ϕ P − ϕ P , d ) − k v ( ϕ ˙ P ) τ 2 = − k p ( ϕ R − ϕ R , d ) − k v ( ϕ ˙ R ) \begin{aligned} \tau_{1} &=-k_{p}\left(\phi_{P}-\phi_{P, d}\right)-k_{v}\left(\dot{\phi}_{P}\right) \\ \tau_{2} &=-k_{p}\left(\phi_{R}-\phi_{R, d}\right)-k_{v}\left(\dot{\phi}_{R}\right) \end{aligned} τ1τ2=kp(ϕPϕP,d)kv(ϕ˙P)=kp(ϕRϕR,d)kv(ϕ˙R)

(在接下来的三段中,作者说明了这个三维单腿没有采用驱动器来控制偏航角,以及为什么不采用的原因。作者还提出了一种巧妙产生偏航转矩的方法,但在他们的实验中没有成功。这一小段内容貌似意义不大,如果以后发现有用再详细看一看。)

三维运动实验

本节中进行了速率控制、位置控制以及跑圈实验,给出了大量图表和数据。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值