Page 1

www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

基于混合算法的多机器鱼编队控制∗ 韩虹飞,谭文 华北电力大学,北京市 102206

摘 要:为实现多机器鱼的队形控制,提出了一种基于混合算法的多机器鱼编队控制策略。通过队形参数矩阵确立多机器鱼 之间的相对位置关系,利用控制中转点的思想,根据机器鱼的特性选取中转点,将全局队形控制问题转化为跟随机器鱼的中 转点对领航机器鱼的中转点的跟踪问题。基于建立的跟随机器鱼和领航机器鱼之间的误差跟踪系统模型,并根据机器鱼局部 位置的实时反馈信息,设计相关控制律以实现队形保持。仿真和实验结果表明了该方法的可行性和有效性。

关键词:多机器鱼;队形控制;位置反馈;误差跟踪

The Formation Control of Multiple Robotic Fish Based on Hybrid Algorithm Hongfei Han,Wen Tan School of Control & Computer, North China Electric Power University, Beijing, China 102206 Email: hanhongfei216@163.com

Abstract: To realize the formation control of multi-robot fish system, this paper presents a new control strategy based on a hybrid algorithm. The algorithm adopts the formation parameter matrix to establish the relative relationship among robotic fishes and uses the idea of transit points selected according to the characteristics of the robotic fish to transform the global-level formation control problem into the problem of transit point of the follower tracking the transit point of the leader. Based on the derived error tracking system model, the control law is used in design to maintain the formation. And the law also considers real-time local position feedback of the robotic fish. Simulation and experiment results are given to demonstrate the feasibility and effectiveness of the approach.

Key words: Multi-robot Fish; Formation Control; Position Feedback; Error Tracking

引 言 多机器人系统研究多个机器人组成的群体通过协调协作完成一些单个机器人难以完成的复杂任务,受到广泛 关注[1-3]。在多机器人的协作研究中,队形控制是一个较早受到关注的协作问题。受到自然界物种编队行为的启示, 机器人团队若是在执行任务的过程中保持队形,可以在团队基础上充分发挥机器人个体优势,充分获取环境信息, 增强抵抗外界入侵的能力,提高整体工作效率 [4,5] 。随着编队控制的发展,很多控制方法被提出,最常用的有 leader-follower 方法[6]、基于行为法[7]、虚拟结构法[8]和强化学习法[9]。 由于鱼类生存水环境的独特性,单用上述几种策略很难满足水中机器人的编队控制需要,由此在其基础上衍 生出一些独特的控制策略。文献[10]提出了队形分解的多水下机器人编队控制方法,将复杂的多机器人编队问题分 解为若干组 2 个机器人之间的协调问题,并设计了机器人的各个子行为,简化了多水下机器人编队的基本队形模 型。但当水下机器人数量较多时,很难对每个机器人都进行控制,无法维护编队稳定性。文献[11]结合领航者法和 基于行为法,提出了分层式编队控制方法,将自主式水下机器人的编队体系划分为人物规划层、队形设计层、行 为控制层和编队评价层 4 个层次。文献[12]针对机器鱼在几何外形和机械性能的限制,结合领航者法,提出了基于 几何理论的形成队形方法,引入一个曲率坐标来描述不同的成员在队形中的相对位置。但是这种方法计算非常复 杂,只用 MATLAB 仿真平台下进行试验,没有得到水环境的验证。文献[13]结合了虚拟结构的模型,介绍了一类 ∗

基金项目:国家自然科学基金项目(61174096) Scientific Journal of Control Engineering

控制工程期刊 65


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

新颖的基于流场的队形避障算法,将整个系统看作油滴式可变形的流体,实现了机动灵活的避障。但是由于鱼群 数量较少,效果不明显。 为解决一般控制算法以动力学模型为基础,而机器鱼的运动模型则是非完整运动约束模型的问题,本文将队 形控制问题转化为跟随机器鱼的中转点对领航机器鱼的中转点的跟踪问题。利用机器鱼实时的位置信息反馈,通 过局部跟踪的方式,实现整体队形的保持。最后通过仿真和水环境实验验证了该方法的可行性和有效性。

1

机器鱼及其控制系统

1.1 机器鱼硬件 机器鱼的研究始于 20 世纪 90 年代,随着水球比赛被推广为 RoboCup 中国公开赛的标准比赛项目,机器鱼的 研究在我国日益兴盛。图 1 给出了由北京大学自主研发的三关节仿鲹科机器鱼原型。它包含 3 个关节,能够实现 2-D 运动,长度约为 40cm,重约 0.5 kg。胸鳍的作用是使机器鱼保持平衡。根据鱼体的形态及运动形式,自然界 中的鱼类的运动模式可分为:鳗鲡推进模式、鲹科推进模式、鲹科加月牙尾推进模式及胸鳍摆动/波动模式[14]。近 期关于机器鱼的研究工作主要集中于鳗鲡及鲹科推进模式。一般来讲,鲹科类鱼比鳗鲡类鱼游速快,并且从工程 实现的角度来讲,鲹科类的推进比较易于实现。在鲹科类的运动中,鱼体的波动主要来自于身体的后 1/3 部分。我 们研究的机器鱼采用文献[15]中给出的游动模型。在此模型中,机器鱼的运动形式用以下的推进波模型来描述[16,17]:

ybody ( x, i ) = [(c1 x + c2 x 2 )][sin( kx + ωt )]

(1)

在式(1)中, ybody 为鱼体的横向位移, x 是轴向位移, k 是鱼体波量( k = 2π / λ ), λ 是鱼体波长, c1 是波 幅的线性包络, c2 是波幅的二次包络, ω = 2π f , f 是身体的摆动频率。 简单地,我们考虑推进波(1)的离散形式:

[(c1 x + c2 x 2 )][sin( kx ± ybody ( x, i ) =

2π i )] M

(2)

其中 i 为一个摆动周期的序列号, M 为鱼体波的离散程度。机器鱼的摆动部分包含若干转动关节,由沿着身 体轴方向的几个连杆构成,如图 2 所示。连杆的位置可以由数字拟和的方法得到。机器鱼的游动速度通过改变身 体的摆动频率来调节,其游动方向则通过关节的偏转来得到[18]。

图 1 机器鱼原型

图 2 机器鱼内部结构

1.2 协作控制平台 如图 3,机器鱼软件控制平台系统可以分为 3 个子功能层:信息交换层、决策层、执行层。信息交换层主要包 括一个 CCD(Charge Coupled Device,电荷耦合器件)采集摄像头和一个全双工的无线通信模块。CCD 摄像头负责

66 SJCE 2012.4

Scientific Journal of Control Engineering


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

采集机器鱼的外部状态信息和环境信息并输入到计算机的采集卡中;无线通讯模块不仅把控制命令发送给机器鱼, 也接受机器鱼反馈的内部控制信息。决策层是一台装有协作系统软件平台的主机,处理采集到的图像信息,然后 以图像识别结果作为控制和决策的输入,根据给定的任务,规划多机器鱼的运动;执行层是若干条三关节的机器 鱼,机器鱼接收无线通模块发出的命令,执行相应的动作[19]。 决策层

信息传递层

执行层

主机 无线通信

摄像头 水池 球

机器鱼

图 3 机器鱼协作控制平台系统的硬件构成图

2 编队控制策略 2.1 队形表达 机器人编队的队形通常被分为几种典型的类型:线形、柱形、三角形、菱形等,如图 4 示。系统存在一个唯 一的领航者,负责指引整个系统的运动;若系统中两个机器人存在局部的领航—跟随关系,则可称这两个机器人 为领航机器人与跟随机器人,当然,领航者肯定为领航机器人,且与任一领航机器人相对应的跟随机器人至少有 1 个[20]。

图 4 典型队形

为指定队形的形状参数、leader 的编号,定义队形参数矩阵 M 如下:

= M

M s1 M s 2  M sn ]3×n , s [=

1, 2,3

T

其中: M sj = = m1 j m2 j m3 j  , j 1, 2, , n , m1 j = lijd , m2 j = ϕijd , m3 j = i .式中 M sj 表示机器人 R j 的 队形信息,包括 3 部分: m 表示机器人 R j 与其领航机器人保持的期望距离, m 表示它们保持的期望偏角, 1j 2j 表示 跟踪的领航机器人 的编号。一般情况下 被选为领航机器人,故有 R1 Rj R m i

3j

M s1 = [ 0 0 0]

T

2.2 控制算法设计 因机器鱼的运动模型为非完整运动约束模型,而一般控制算法是以动力学模型(即完整运动约束模型)为基 础,故需要选取控制中转点,它的运动规律是完整运动,对它进行控制设计,根据实时的局部位置信息反馈,让 相关控制中转点进行位置跟踪,最后再转化为对机器鱼的控制。 Scientific Journal of Control Engineering

控制工程期刊 67


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

机器鱼 R j 质心的运动学模型为:

•  x j = v j cos(θ j ) •  y j = v j sin(θ j ) • θ j = ω j 

(3)

式中( x j , y j )是机器鱼 R j 的质心位置坐标, θ j 是它的前进方向角, v j 和 ω j 分别是它的线速度和角速度。 如图 5 示, R 为领航机器鱼, R j 为跟随机器鱼,箭头方向为其运动方向,紧随 R 后面的为跟随机器鱼 R j 的理 i i 想队形位置,这里以对 R j 的运动控制为例进行控制算法的说明。 选取机器鱼运动方向上距其质心距离为 d 的点为相应中转点,则对应的两个控制中转点分别为图中的 Rvj 和

Rvi ,其中 lij 和 lijd 分别为两机器鱼的实际距离和期望距离, ϕij 和 ϕijd 分别为两机器鱼的实际偏角和期望偏角,可 以看出,欲使跟随机器鱼 R j 与领航机器鱼 R 保持期望的距离 lijd 和期望的偏角 ϕijd ,也就相当于控制 Rvj 跟踪 Rvi 。 i

图 5 控制模型

由图可以推导出 Rvi 和 Rvj 的相关模型参数:

xi − lijd cos(θi − ϕijd ) + d cos(θi )  xvi =   yvi =yi − lijd sin(θi − ϕijd ) + d sin(θi ) θ = θ i  vi

(4)

 xvj= x j + d cos(θ j )  y j + d sin(θ j )  y= vj θ = θ j  vj

(5)

式中( xvi , yvi )为 Rvi 的位置坐标,( xvj , yvj )为 Rvj 的位置坐标, θ vi 为 Rvi 的方向角, θ vj 为 Rvj 的方向角。 则 Rvi 和 Rvj 之间的跟踪误差为:

ex = xvj − xvi = ( x j + d cos(θ j )) − ( xi − lijd cos(θi − ϕijd ) + d cos(θi ))  ey = yvj − yvi = ( y j + d sin(θ j )) − ( yi − lijd sin(θi − ϕijd ) + d sin(θi )) θ= θ − θ j i  ∆

68 SJCE 2012.4

Scientific Journal of Control Engineering

(6)


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

对式(6)求导,可得

• = ex v j cos(θ j ) − d ω j sin(θ j ) − vi cos(θi ) − lijd ωi sin(θi − ϕijd ) + d ωi sin(θi ) • ey v j sin(θ j ) + d ω j cos(θ j ) − vi sin(θi ) + lijd ωi cos(θi − ϕijd ) − d ωi cos(θi ) = • ω j − ωi θ= ∆ 

(7)

为使设计控制律方便,需将 v j 和 ω j 单独分离出来,为此我们定义如下的坐标变换

 ex   cos(θ j ) sin(θ j )   ex   =   ey   − sin(θ j ) cos(θ j )  ey  ex ex cos(θ j ) + ey sin(θ j ) =  −ex sin(θ j ) + ey cos(θ j ) ey =

亦即

(8)

在新坐标系下系统跟踪误差模型为

• ex =v j − vi cos(θi − θ j ) − lijd ωi sin(θi − θ j − ϕijd ) + dωi sin(θi − θ j ) + ω j ey  • ey = dω j − vi sin(θi − θ j ) + lijd ωi cos(θi − θ j − ϕijd ) − dωi cos(θi − θ j ) − ω j ex • ω j − ωi θ= ∆ 

(9)

式中( ex , e y )为新坐标系下 Rvi 和 Rvj 之间的位置跟踪误差。 选择 R j 的控制律 u j =  v j

T

ω j  使 Rvi 和 Rvj 之间的跟踪误差最小,即

 vi cos(θi − θ j ) + lijd ωi sin(θi − θ j − ϕijd ) − d ωi sin(θi − θ j ) − k1 ex  = u j  1 (v sin(θ − θ ) − l ω cos(θ − θ − ϕ ) + dω cos(θ − θ ) − k e )  i j ijd i i j ijd i i j 2 y  d i 

(10)

式中 k1 、 k2 为正常数, vi 和 ωi 分别为领航机器鱼 R 的线速度和角速度。 i

在缺乏全局信息的情况下,考虑到位置误差( ex , e y )不易直接得到或测量,利用跟随机器鱼 R j 和其领航机 器鱼 R 间的实际偏角和实际距离信息,将式(6)代入式(8)中,则( ex , e y )可表示为 i

ex =−lij cos(ϕij ) + d + lijd cos(θi − θ j − ϕijd ) − d cos(θi − θ j )  = ey lij sin(ϕij ) + lijd sin(θi − θ j − ϕijd ) − d sin(θi − θ j )

(11)

将式(11)代入式(10),可得

 vi cos(θi − θ j ) + lijd ωi sin(θi − θ j − ϕijd ) − dωi sin(θi − θ j ) − k1 (−lij cos(ϕij ) +     d + lijd cos(θi − θ j − ϕijd ) − d cos(θi − θ j ))   uj =  1  (vi sin(θi − θ j ) − lijd ωi cos(θi − θ j − ϕijd ) + dωi cos(θi − θ j ) − k2 (lij sin(ϕij ) +  d  lijd sin(θi − θ j − ϕijd ) − d sin(θi − θ j )))    Scientific Journal of Control Engineering

(12)

2×1

控制工程期刊 69


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

3 仿真测试与实验结果 3.1 仿真 采用 matlab 仿真验证本文提出的编队控制方法中位置跟踪误差相关变量的收敛性。仿真相关参数设置如下:

k1 =0.1, k2 =0.1, vi =0.3, ωi =0, d =1, lijd =3, ϕijd =30°, Ri 为领航者,它的初始位姿为(10,10,90°), R j 为跟 随者,它的初始位姿为(0,0,120°)。仿真结果如图 6 示: 2.5

5 4

2

3 2 1.5

0 -1

/cm

y 轴位置偏差

1

/cm

x 轴位置偏差

1

0.5

-2 -3 0

-4 -0.5

0

20

40

60

80

100 时 间t/s

120

140

160

180

200

-5

0

20

40

(a)x 轴方向的位置误差 ex

60

80

100 时 间t/s

120

140

160

180

200

(b)y 轴方向的位置误差 e y

40

30

10

0

前进方向偏差

20

-10

-20

-30

0

20

40

60

80

100 时 间t/s

120

140

160

180

200

(c)前进方向角误差 θ ∆ 图 6 仿真结果图

3.2 实验 利用机器鱼协作控制平台,多机器鱼系统由 4 条机器鱼组成,以组成队形为菱形为例,进行水环境实验验证, 队形参数矩阵 M 如下,实验所用水池长 3 00 cm,宽 2 00 cm。

0  M = 0 0 

20 -

π

3 1

20

π

3 1

20 π 3  2

实验结果如图 7 示: 70 SJCE 2012.4

Scientific Journal of Control Engineering


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制

(a)

(b)

(c)

(d) 图 7 实验效果截图

4 结束语 本文提出了一种基于混合算法的机器鱼编队控制方法,利用控制中转点的思想将机器鱼自身的非完整运动约 束转化为完整约束来控制。利用局部的实时反馈位置信息,采用误差跟踪的方法实现实时的队形保持。仿真和实 验结果验证了该方法的可行性和有效性。但该方法偏向于集中式队形控制,并未实现各机器鱼之间的信息相互反 馈,故下一步的工作重点就是实现多机器鱼的分散式队形控制。 参考文献 [1] 谭民, 王硕, 曹志强. 多机器人系统[M]. 北京: 清华大学出版社, 2005. [2] Cao Y U, Fukunaga A S, Kahng A B. Cooperative mobile robotics: Antecedents and directions[J]. Autonomous Robots, 1997, 4(1): 7-27. [3] 原魁, 李园, 房立新. 多移动机器人系统研究发展近况[J]. 自动化学报, 2007, 33(8): 785-794. [4] 张磊. 多智能体机器人系统设计与编队问题的研究[D].华中科技大学, 2005. [5] Lewis M A, Tan K H. High precision formation control of mobile robots using virtual structures[J]. Autonomous robots, 1997, 4(4): 387-403. [6] Mariottini G L, Morbidi F, Prattichizzo D, et al. Leader-follower formations: ncalibrated vision-based localization and control[C]//IEEE International Conference on Robotics and Automation. Piscataway, NJ, USA: IEEE, 2007: 2403-2408. [7] Balch T, Arkin R C. Behavior-based formation control for multirobot teams[J].IEEE Transactions on Robotics and Automation,1998, 14(6): 926-939. [8] Beard R W, Lawton J, Hadaegh F Y. A feedback architecture for formation control[C]//American Control Conference. Piscataway, NJ, USA: IEEE, 2000: 4087-4091. [9] 王醒策. 基于强化学习的多机器人编队方法研究[D]. 哈尔滨: 哈尔滨工程大学, 2002. [10] 徐宏根. 多水下机器人编队协调问题研究[D]. 哈尔滨: 哈尔滨工程大学, 2005. Scientific Journal of Control Engineering

控制工程期刊 71


www.sj-ce.org Vol.2 No.2 PP. 65-72

基于混合算法的多机器鱼编队控制 [11] 范士波. 多水下机器人编队控制方法研究[D]. 哈尔滨:哈尔滨工程大学, 2008.

[12] Jinyan Shao, Junzhi Yu, and Long Wang. Formation Control of Multiple Biomimetic Robotic Fish[C]. Beijing, China. Proceedings of the 2006 EEE/RSJ International Conference on Intelligent Robots and Systems, 2006:1412-1417. [13] 邵金燕. 多机器人协作控制研究[D]. 北京:北京大学, 2007. [14] M. Sfakiotakis, D. M. Lane, and J. B. C. Davies. Review of fish swimming modes for aquatic locomotion. IEEE J. Oceanic Eng., 24:237– 252, April 1999. [15] D. Barrett, M. Triantafyllou, D. K. P. Yue, M. A. Grosenbaugh, and M. J. Wolfgang. Drag reduction in fish-like locomotion. J. Fluid Mech., 392:183–212,1999. [16] Barrett D, Grosenbaugh M, Triantafyllou M. The optimal control of a flexible hull robotic undersea vehicle propelled by an oscillating foil. Proc. 1996 IEEE AUV Symp. New York: IEEE Press, 1996, 1-9. [17] Lighthill M J. Note on the swimming of slender fish. J. Fluid Mech. 1960, vol.9:305-317. [18] 张丹丹. 多仿生机器鱼协作控制方法研究: [学位论文]. 北京: 北京大学, 2007. [19] 李立, 孔峰. 水下仿生机器鱼控制平台的研究[J]. 广西工学院学报, 2008,19(2):15—19. [20] 杨丽, 曹志强, 谭民. 不确定环境下多机器人的动态编队控制[J]. 机器人, 2010, 32(2): 283—288.

【作者简介】 韩虹飞(1987-),男,汉族,硕 士研究生,研究方向为多水下机 器人系统和网络控制研究。 Email:hanhongfei216@163.com。

72 SJCE 2012.4

谭文(1969-),男,汉族,教授,博士生导师,主 要研究方向为鲁棒控制、工业过程控制。

Scientific Journal of Control Engineering


The Formation Control of Multiple Robotic Fish Based on Hybrid Algorithm  

To realize the formation control of multi-robot fish system, this paper presents a new control strategy based on a hybrid algorithm. The alg...

Advertisement
Read more
Read more
Similar to
Popular now
Just for you