开头
好久没写这个了,事情太多了,把这学期学的一些分享放上面。随便看看吧。仿生机器人是机器人的一个分支。相比于刚性齿轮结构和传动结构,一些动物的柔性结构使得对复杂环境有着更高灵活性,减小控制上的误差导致的结构损伤。尽管不是我的研究方向,多了解还是有必要的。
蛇形机器人
研究意义
蛇形机器人能实现像蛇一样的无肢运动,蛇形机器人体型小,重心位置很低,运动方式灵活多变,复杂环境适应能力很好,具有良好的稳定性等优点。非常适于在复杂高危环境和狭小的空间中工作。
结构分析
生物结构分析
在观察蛇的运动时,主要有以下几点明显特征。
第一,在身体的每一个点依次放在静态的(而不是滑动)与基体的摩擦。
第二,身体的各个部分在地面与地面的静态接触中被抬离地面。因此,身体在地面上从颈到尾滚动,形成一个特征性的轨迹(与身体长度成比例关系);在被抬离地面并在很短的距离上再次离开时,身体的前部开始一个新的轨迹,而身体的后部完成旧的轨迹。
第三,由于身体的静态接触和提升,蛇相对于地面形成的轨道大致呈对角线行进。在蜿蜒的肌肉活动是类似于横向波动除了一些肌肉双侧躯干提升地区也积极。
运动学分析
最典型的一种方法就是有n-1个2连杆关节连接n个长度相等的蛇形机器人(按前侧偏航和俯仰的顺序)。然而,由于假定机器人在重力方向的运动足够小,所以将机器人建模为平面n连杆蛇机器人,如图3所示。将蛇形机器人的举升连杆视为无地面摩擦力的连杆,另一方面,接地链路被视为摩擦力作用的链路
Hirose在研究生物蛇的运动时发现,蛇体是沿着正弦变化向前进。因此提出把曲率呈正弦变化的曲线作为蛇形机器人平面运动的基本曲线,即 Serpenoid 曲线,Hiorse 提出的运动曲线曲率方程为:
ρ
(
s
)
=
2
K
n
π
a
0
L
s
i
n
(
2
K
n
π
s
L
)
(1)
\rho(s)=\frac{2K_n\pi a_0}{L} sin(\frac{2K_n\pi s}{L}) \tag{1}
ρ(s)=L2Knπa0sin(L2Knπs)(1)
在观察行进车轮中一个点的运动轨迹可以得到与(1)式相同公式
(1)式中,
L
L
L 表示蛇形机器人的机构全长,
K
n
K_n
Kn表示蛇形曲线传播波的个数,
α
0
\alpha_0
α0为初始转角,
s
s
s 是蛇形机器人沿蛇形曲线轴线方向的虚位移。蛇形机器人的角可以表述为:
根据蛇形机器人的正交关节联接,可以建立如下空间运动学模型
θ
(
s
)
=
(
π
2
)
α
(
δ
s
l
)
s
i
n
(
δ
s
2
l
)
(2)
\theta(s)=(\frac{\pi}{2})\alpha(\frac{\delta s}{l}) sin(\frac{\delta s}{2l}) \tag{2}
θ(s)=(2π)α(lδs)sin(2lδs)(2)
ϕ
i
(
s
)
=
0
\phi_i(s)=0
ϕi(s)=0平面爬行运动时控制蛇形机器人水平面内各个关节,使之呈一定的规律左右摆动,而垂直关节控制为零位,形成水平面内 Serpenoid 曲线。行波运动与爬行运动类似,只是控制器水平关节为零位,而垂直关节呈一定的规律上下摆动。可以通过改变
K
n
K_n
Kn的大小
由于蛇形机器人的结构特点,我们可将其可简化为空间连杆模型如左图。
每一个机器人模块有一个局部坐标,机体轴线方向设为
Y
Y
Y轴方向,机体法线方向设为
X
X
X轴方向,将模块按轴线垂直方式依次连接,每两个模块构成具有两个相对独立自由度的关节,分别把它们定义为一个绕
X
X
X轴的俯仰运动和另一个绕
Z
Ζ
Z轴的侧摆运动,绕X轴的俯仰运动由其中一个电机转动角
δ
ϕ
\delta\phi
δϕ控制,而绕 Ζ 轴的侧摆运动由另一个电机转动角
δ
θ
\delta\theta
δθ控制。
侧向爬行运动是通过平面爬行运动与行波运动的组合来实现的,可以通过控制水平方向和垂直方向的偏航转角,使其呈一定的规律变化,在两个相互垂直的平面内形成Serpenoid 曲线。其运动方式是一种简单的空间运动,可以直接采用(3)式来控制。
可以改变两个波之间的相位差来改变爬行运动的初始状态,通过改变水平面内和垂直平面内的两个波的幅值比可以改变侧向移动的速度
{
θ
i
(
s
)
=
−
2
α
θ
0
s
i
n
(
K
n
π
n
θ
)
s
i
n
(
2
K
n
π
s
L
+
2
K
n
π
i
n
θ
)
+
K
l
L
ϕ
i
(
s
)
=
−
2
α
ϕ
0
s
i
n
(
K
n
π
n
ϕ
)
s
i
n
(
2
K
n
π
s
L
+
2
K
n
π
i
n
ϕ
+
δ
ϕ
)
+
K
l
L
(3)
\begin{cases} \theta_i(s) = -2\alpha_{\theta 0} sin(\frac{K_n\pi}{n_\theta}) sin(\frac{2K_n\pi s}{L}+\frac{2K_n\pi i}{n_\theta})+K_l L\\ \\ \phi_i(s) = -2\alpha_{\phi 0} sin(\frac{K_n\pi}{n_\phi}) sin(\frac{2K_n\pi s}{L}+\frac{2K_n\pi i}{n_\phi}+\delta\phi)+K_l L \end{cases} \tag{3}
⎩⎪⎨⎪⎧θi(s)=−2αθ0sin(nθKnπ)sin(L2Knπs+nθ2Knπi)+KlLϕi(s)=−2αϕ0sin(nϕKnπ)sin(L2Knπs+nϕ2Knπi+δϕ)+KlL(3)
α
θ
0
\alpha_{\theta 0}
αθ0和
α
ϕ
0
\alpha_{\phi 0}
αϕ0是两个波运动的初始弯角,
n
θ
n_\theta
nθ和
n
ϕ
n_\phi
nϕ是每一运动平面内模块个数,
δ
ϕ
\delta\phi
δϕ为不同平面内两个波的相位差,
L
L
L是总机体长,
l
l
l是每一模块的长度,
K
n
K_n
Kn是体内传播波的个数o,
i
i
i代表任意一个关节是运动的初始弯角,
s
s
s是蛇型机器人尾部沿蛇形曲线轴线方向的虚位移,
K
L
K_L
KL是曲率偏差,如果改变
K
L
K_L
KL的大小就可以改变运动方向,改变
s
s
s
s
˙
\dot{s}
s˙
s
¨
\ddot{s}
s¨大小和正负号则可以改变运动的速度和波的传播方向。
总结
在这里,我只考虑蛇形机器人的运动学分析。蛇行运动一直被视为简单的平面运动,并作用于接触平面。对关节偏航角度可通过求解平衡方程得到。
上面的运动学主要叙述如何以行波方式研究蛇形爬行。其关节之间运动受限于正交性,
s
i
n
sin
sin函数提供了行波模拟方式。然而这种方式是在无限长的行波序列上提取极小的一部分。另一种思路,小波变换的方法改写运动曲线方式。其母小波在经历相位差后和原母小波正交。且母小波是有限长度,可以更好的模拟蛇在爬行时的关节姿态。这里提一下,以后有兴趣研究一下吧。