第3章水中机器人系统实现
鱼和鲸类生物是非常高效的“游泳天才”,对于曾羡慕过它们的速度和优雅地穿过水族馆墙壁障碍的人来说这是一个不争的事实。但是,为什么学习这个系统呢?答案是,因为它们已经解决了水动力学、机构控制和群体协作等一系列问题。鱼和水下机器人待在一样的物理环境里,它们受支配于同样的物理规则,它们也要经历相同的粘性和惯性带来的影响。在进化环境中,大自然母亲用了两千三百万年持续的精炼来提高大多数生物的设计,用了6000万年提高大型远洋鱼类的生物设计。在严格的工程观念里,速度、机动性和忍耐力对于生存是至关重要的。就这一方面而言,鱼类是接近完美的一种设计。
作为极其出色的流体力学专家,鱼类通过恰当的利用流体力学原理,获得了极高的推进效率和机动性能,远高于普通的螺旋桨推进机构。在推进效率方面,金枪鱼在速度高达80km/h的情况下,推进效率达到90%,而相比之下,普通螺旋桨推进系统只有40%~50%。在机动性能方面,鱼类起动时的加速度竟然可以达到50倍重力加速度,远高于螺旋桨机构。转弯时鱼类的转弯半径只有体长的10%~30%,而普通螺旋桨推进系统要达到体长的3~5倍。鉴于此,以鱼类为仿生对象研制新型的水下推进器具有重要的科学研究与现实意义。自20世纪90年代起,已有众多的仿生机器鱼样机相继研制成功。本章以三关节仿鲹科机器鱼为例,讨论水中仿生机器人系统机械结构、控制系统、下位机系统以及上位机系统的设计方法。
3.1水中仿生机器人系统总体设计
3.1.1机器鱼推进运动设计原理
鱼类行为学研究者认为,鱼类的推进运动中隐含着一由后颈部向尾部传播的行波,该推进波主要表现为脊柱和肌肉组织的弯曲,其幅度由前向后逐渐增加,其传播速度大于鱼体的前进速度,该推进波又叫“鱼体波”,其相应的函数为鱼体波函数。科鱼类的鱼体波曲线可看作是鱼体波幅包络线和正弦曲线的合成,它开始于鱼体的惯性力的中心,延伸至尾柄,曲线方程可表示为:
ybody(x,t)=(c1+c2x2)sin(kx+ωt)
(31)
其中
,ybody
表示整个鱼体左右轴方向上的纵向位移,变量x
表示鱼体头尾轴方向上的轴向位移,参数k表示波长的倍数
(k=2π/λ)
,而
λ
则表示鱼体波的波长,系数
c1
、
c2
分别表示鱼体波波幅包络线的一次项系数和二次项系数,
ω
则表示鱼体波的波动频率
(ω=2πf=2π/T)
。
仿生机器鱼设计的重点是确定合适的鱼体波参数
c1,c2,k,ω等,使得机器鱼能够很好地拟合鱼体波曲线方程式(31)。为此,需要通过离散化的方法把鱼体波曲线中时间参数t从函数
ybody
中分离出来。并且将整个鱼体波分为两个部分:一部分是样条曲线序列
ybody(x,i)(i=0,1,…,M-1)
,此序列在一个摆动周期内与时间无关;另一部分是与时间有关的摆动频率f,即在时间单位内整个摆动机构所完成体波运动的数量。因此
ybody(x,i)=(c1+c2x2)sin
kx-2πMi
(32)
其中,M表示所形成鱼体波的分辨率,即鱼体波被离散化的程度,其上限值为鱼体摆动可达到的*高频率
;i表示在一个摆动运动周期内的样条曲线序列。
(xi,j-xi,j-1)2+(yi,j-yi,j-1)2=l2j
yi,j=(c1xi,j+c2x2i,j)sin
kxi,j-2πMi
(33)
在游动过程中,可以通过改变摆动频率f实现在水中不同的推进速度,从而实现整个鱼体的速度控制。基于上述原理所设计出的仿生机器鱼样机如图31和图32所示。
图31仿生机器鱼设计图
图32仿生机器鱼样机
3.1.2机器鱼控制系统结构
基于全局视觉的多机器鱼系统采用集中控制式结构,通过全局感知和集中策略使得整个系统具有全局规划和推理能力,并对环境作出合理的反映。所有机器鱼在空间上是分布式的,运动状态和相对位置共享,通过采用角色分配行为决策角色转换策略来实现机器鱼间的协调运动,多仿生机器鱼系统(MultipleRoboticFishSystem,MRFS)协作控制系统构成如图33所示。
图33仿生机器鱼系统(MultipleRoboticFishSystem,MRFS)
1.决策主机;2.无线发射模块;3.支架;4.摄像头;5.水池;6.小球;7.机器鱼
为了有效地完成协作任务,机器鱼必须学会某些技能,如奔向目标、避障等,且必须学会与别的机器鱼协调、协作来共同完成一项任务。不同的技能有不同的要求,适用于不同的应用场合。例如,假定控制系统每隔Δt发送一次指令,在一个指令周期内,对于简单的任务,机器鱼应能立刻“反应式”地做出决策;对于复杂的任务,机器鱼应从群体协作的角度在几个指令周期内做出相应的决策。
基于上面的想法,按照“信息集成,任务分解”的原则,提出了一种面向协作的机器鱼(CooperativeLocalBasic,CLB)三层控制结构,如图34所示。
机器鱼控制结构分三层:协作规划层(cooperativeplanninglayer)、本地规划层(localplanninglayer)和行为规划层(basicbehaviorlayer)。上层收集下层的信息,规划产生下层的目标。行为层作为*底层,具有对外部环境直接反应的能力。在每一层中,又可分为三个单元:感知单元、规划单元和目标单元。感知单元负责收集下一层的传感信息,行为层感知单元收集传感器采集的环境信息。目标单元负责收集上一层传来的子目标信息作为当前的目标。规划单元综合感知单元和目标单元的信息产生下一层的子目标,行为层的规划单元输出的是规划好的一个个基本动作,如前进(forward)、转弯(Bend)等。
图34三层控制结构
为了使机器鱼在任务执行过程中相互配合,更好地完成任务而不出现冲突,在协作规划层和本地规划层的规划中,设立了通信模块和知识库模块。其中,通信模块负责多机器鱼间协作规划层和本地规划层的规划信息交互,并传送目标;知识库模块在整个协作系统中起着非常重要的作用,体现着机器鱼的“智能”,并承担一些任务:维护协作活动,实现系统的目的性;解决冲突,分配角色,实现系统的协调一致性;结合感知信息,实现自我推理。例如,可以设定如下群体协作规则:
规则1:IF系统要求多机器鱼协同完成某一项任务,THEN按照一定的标准(如距离*近)选择满足该条件的机器鱼;
规则2:IF系统收到某机器鱼参与群体协作的消息,THEN更改协作信息,并通知其他机器鱼;
规则3:IF预先规划的轨迹中突然出现了机器鱼,THEN请求避障或重新规划路径。
知识库是环境知识、控制算法和协作策略的有机集成。从长远来看,为了提高机器鱼控制的鲁棒性、稳定性从而更好地完成协作任务,必须采用学习算法来改善机器鱼的游动性能和机动性。
多仿生机器鱼系统的工作流程如下:根据视觉子系统提供的机器鱼运动信息和环境信息,按照给定任务,进行势态分析与策略选择,决策各机器鱼的行为,*后输出机器鱼的运动方向和运动速度。于是,多机器鱼间的协调协作过程由四部分构成:输入信息预处理(计算有关实体的运动速度、相对距离等);势态分析与策略选择;各机器鱼行为确定;机器鱼运动速度和运动方向确定。
为了实现这一体系结构,将多仿生机器鱼系统划分为四个子系统分别加以实现,并连成一个整体,如图35所示。其中,摄像头采集机器鱼的运动信息和环境信息,经图像识别后,作为决策与仿真的输入量,决策的输出经无线通信子系统发送给机器鱼子系统,从而控制多机器鱼的行为,共同完成某一项任务。
图35多仿生机器鱼系统中子系统的划分
(1)机器鱼子系统:该子系统是系统任务的执行者,因此对机器鱼子系统的基本要求是可靠性高、鲁棒性好和运动精度高。此外,机器鱼的工作环境是水中,还必须考虑鱼体的防水性和无线通信信号的衰减与干扰。
(2)视觉子系统:该子系统的任务是快速采集机器鱼的运动信息和障碍物信息,及时传给决策与仿真子系统,其基本要求是要具有快速性和准确性。
(3)决策与仿真子系统:该子系统以图像识别结果作为控制和决策的输入,根据给定的任务,规划多机器鱼的运动。
(4)无线通信子系统:该子系统主要负责决策与仿真子系统和机器鱼子系统的信息交互。现阶段,机器鱼子系统和决策与仿真子系统之间采取单向通信,即机器鱼被动地接收决策与仿真子系统输出的控制指令,完成指定的任务。
3.2水中仿生机器人硬件实现
3.2.1机器鱼硬件概述
基于前面提出的仿生机器鱼设计原理和方法,制作一款三关节、无线通信的小型仿生机器鱼。图36和图37给出了仿生机器鱼机械结构示意图,可以知道机器鱼总体结构可分为鱼头、鱼体、鱼尾和鱼皮四个部分。
……
展开