1、ISSN 1006 7167CN 31 1707/TESEACH AND EXPLOATION IN LABOATOY第 42 卷 第 2 期Vol42 No22023 年 2 月Feb 2023DOI:10 19927/j cnki syyt 2023 02 028基于慧鱼模型的多移动机器人编队避障控制算法研究与实验朱晓林,高诚辉,洪玫(福州大学 机械工程及自动化学院,福州 350108)摘要:针对多移动机器人编队避障控制问题,提出一种适用于动、静态障碍环境中的编队避障控制算法。采用慧鱼模型搭建领航跟随多移动机器人系统模型,通过慧鱼 OBO Pro 编程软件,实现编队避障控制程序设计,并完成
2、了避障实验,验证了避障算法的有效性。通过该算法的研究,可为未知环境下多移动机器人编队控制研究提供参考,将其应用到实验教学中,可开发出“两性一度”实验,更好地服务于学校“双一流”建设。关键词:慧鱼模型;多移动机器人;领航跟随;避障控制中图分类号:TP 242文献标志码:A文章编号:1006 7167(2023)02 0135 07esearch and Experiment on Obstacle Avoidance Control Algorithm ofMulti-mobile obot Formation Based on Fischer ModelZHU Xiaolin,GAO Chen
3、ghui,HONG Mei(College of Mechanical Engineering and Automation,Fuzhou University,Fuzhou 350108,China)Abstract:To solve the problem of formation obstacle avoidance control for multi-mobile robots,a formation obstacleavoidance control algorithm is proposed for the dynamic and static obstacle environme
4、nt The system model of leader-following multi-mobile robot is built by using the Fischer model Through the control software OBOPro,the formationobstacle avoidance control program is designed,and the obstacle avoidance experiment is completed in the realenvironment,which verifies the rationality of t
5、he obstacle avoidance algorithm The algorithm can provide a reference forthe research of multi-mobile robot formation control in unknown environment When it is applied to experimentalteaching,the“two characteristics and one challenge”experiment can be developed to better serve the“double first-class
6、construction”of the schoolKey words:fischer model;multi-mobile robot;leader-following;obstacle avoidance control收稿日期:2022-07-13基金项目:国家自然科学基金项目(51875106);教育部产学合作协同育人项目(201802108028)作者简介:朱晓林(1976 ),男,福建福州人,硕士,高级实验师,主要从事机械创新设计、机器人技术等研究。Tel:18050178268;E-mail:zxl fzu edu cn0引言随着机器人、网络通信和自动控制技术的不断发展,多移动机
7、器人协同控制受到越来越广泛的关注。多移动机器人系统具有单个移动机器人所不具有的协作互补、调度协同等优势,在复杂环境中或者执行复杂任务时,可解决单个移动机器人无法解决的问题。多移动机器人在共同搬运、灾难救援和军事领域等方面得到了广泛的应用1。编队控制是多移动机器人协同控制最基础的研究问题之一,多移动机器人在完成任务过程中,相互之间既要保持期望的队形,又要能适应环境的约束安全避障。在存在动、静态障碍的未知环境中,多移动机器人的编队避障控制会变得更加复杂。未知环境中的机器人避障问题大多处于理论分析第 42 卷和仿真阶段2-6。慧鱼创意组合模型是技术含量很高的工程技术类拼装模型,利用符合工业标准的机械
8、类、电气类等元件,在传感器、控制器、执行器和程序的配合下,可实现几乎任何工程技术的模拟,在创新设计中应用越来越广泛7-9,众多高校已将慧鱼模型运用于实验教学环节10-12,基于慧鱼模型的多移动机器人编队避障控制研究迄今未见报道。针对这一问题,本文提出一种编队避障控制算法,利用慧鱼模型搭建多移动机器人系统模型,通过 OBO Pro 软件编写编队避障控制程序,完成动、静态障碍环境中的编队避障实验,验证了避障算法的有效性。通过该算法的研究,不仅可为未知环境中多移动机器人编队控制研究提供参考,还能作为实际案例应用到实验教学中,开发高阶性、创新性、具有挑战度的“两性一度”实验13-15,培养学生解决复杂
9、问题的综合能力和高级思维,提高学生的动手能力和创新能力,更好地服务于学校“双一流”建设16。1移动机器人坐标系统的建立为描述机器人的位姿,需建立移动机器人的全局坐标系和局部坐标系,如图 1 所示。图中的 X-O-Y 坐标系是移动机器人的全局坐标系,与大地相固连,用于描述机器人在全局环境下的位姿。全局坐标系的原点可以是任意的,X 轴和 Y 轴正交于原点 O。图中的 x-o-y 坐标系是移动机器人的局部坐标系,固连在机器人身上,以机器人两个前轮的中心为坐标原点、机器人机身轴线为 x 轴,以 x 轴逆时针旋转 90为 y 轴,x 轴与 X 轴的夹角为。移动机器人在全局坐标系下的位姿可由二维坐标(x,
10、y)和方向角 表示,即(x,y,)。图 1移动机器人坐标系2多移动机器人编队方法为研究基于领航跟随法的 3 机器人编队系统,采用三角形编队作为初始队形,如图 2 所示。在三角形队形中,最前面的机器人是领航者,领航者完成运动或者避障过程中的路径规划,其他跟随它运动的机器人是跟随者,跟随者主要完成跟随领航者的任务。在运动或者避障过程中,以领航者作为队形的参考点,跟随者通过与领航者的相对距离 l 和相对角度 来保持与领航者的相对位置,保持设定的队形。在避障过程中,若需要拆分队形,则避障结束后,需要恢复至初始队形。图 23 机器人编队系统3动、静态障碍环境中多移动机器人编队避障控制算法针对慧鱼模型的领
11、航跟随多移动机器人编队系统的避障问题,主要采用编队整体避障和编队拆分避障两种处理策略。整体避障将机器人编队作为一个整体,在不改变原队形的基础上,进行整体的避障;拆分避障将机器人编队拆分成一个个单独的机器人或者单独的编队进行避障。本文设计的避障算法是根据领航者和跟随者检测到的障碍物情况自主选择以上两种避障方式。3 1多移动机器人之间通信行为设计慧鱼模型多移动机器人编队中各机器人之间的通信是通过其搭载的 TX 控制器上的蓝牙模块实现的。若领航者传感器检测到障碍物,立即向所有机器人发送停止命令,临时遇障标识设为 1,编队停止并等待2s。2s 后,若障碍物仍在,则认为是静态障碍物,开始执行避障策略;若
12、障碍物消失,则认为是动态障碍物,临时遇障标识清除,向所有机器人发送继续直行命令。领航者检测到障碍物算法流程和对应的 OBO Pro 程序代码如图 3 所示。左(右)跟随者传感器检测到障碍物,立即向领航者发送临时遇障消息。2s 后,若障碍物仍在,则认为是静态障碍物,左(右)跟随者向领航者发送遇障消息,领航者开始执行避障策略;若障碍物消失,则认为是动态障碍物,左(右)跟随者向领航者发送无障碍消息,编队继续直行。左(右)跟随者检测到障碍算法流程和对应的 OBO Pro 程序代码如图 4 所示。3 2编队避障控制算法编队避障控制算法设计:631第 2 期朱晓林,等:基于慧鱼模型的多移动机器人编队避障控
13、制算法研究与实验(a)算法流程图(b)OBO Pro 程序代码图 3领航者检测到障碍物算法流程和 OBO Pro 程序代码(a)算法流程图(b)OBO Pro 程序代码图4左(右)跟随者检测到障碍算法流程和 OBO Pro 程序代码(1)不避障。当领航者、左右跟随者前方均未检测到障碍物时,编队无须避障,保持原队形整体通过。(2)整体避障。当领航者、左右跟随者前方检测到静态障碍物时,编队整体后退避障;当领航者和左跟随者前方检测到静态障碍物时,编队整体向右避障;当领航者和右跟随者前方检测到静态障碍物时,编队整体向左避障。(3)拆分避障。当左右跟随者前方检测到静态障碍物时,领航者直行通过,左跟随者单
14、独向左避障,右跟随者单独向右避障;当左跟随者前方检测到静态障碍物时,领航者和右跟随者直行通过,左跟随者向左避障;当右跟随者前方检测到静态障碍物时,领航者和左跟随者直行通过,右跟随者向右避障。编队避障控制算法流程和对应的 OBO Pro 程序代码如图5 所示。3 2 1编队整体向左(右)避障编队整体向左避障运动轨迹、算法流程和对应的OBO Pro 程序代码如图 6 所示。编队从初始位置出发,设领航者的坐标为(a,b),与 x 轴垂直摆放,则初始位姿(xL,yL,L)=(a,b,90)(1)左跟随者初始位姿(xF1,yF1,F1)=(a lcos,b lsin,90)(2)右跟随者初始位姿(xF2
15、,yF2,F2)=(a+lcos,b lsin,90)(3)编队运动速度为 v,从初始位置直行 t1s 后,领航者和右跟随者前方检测到静态障碍物,此时领航者、左右跟随者的位姿分别为:(xL,yL,L)=(a,b+vt1,90)(4)(xF1,yF1,F1)=(a lcos,b lsin +vt1,90)(5)(xF2,yF2,F2)=(a+lcos,b lsin +vt1,90)(6)编队左转后直行,领航者与右跟随者右侧障碍检测计时 t2s 后,领航者和右跟随者都避开障碍物,编队停止,此时领航者、左跟随者和右跟随者的位姿分别为:(xL,yL,L)=(a vt2,b+vt1,180)(7)(xF
16、1,yF1,F1)=(a lcos vt2,b lsin +vt1,180)(8)(xF2,yF2,F2)=(a+lcos vt2,b lsin +vt1,180)(9)编队右转后直行,领航者与右跟随者右侧障碍检测计时 t3s 后,领航者和右跟随者都避开障碍物,编队停止,此时领航者、左跟随者和右跟随者的位姿分别为:(xL,yL,L)=(a vt2,b+vt1+vt3,90)(10)(xF1,yF1,F1)=(a lcos vt2,lsin +vt1+vt3,90)(11)(xF2,yF2,F2)=(a+lcos vt2,b lsin +vt1+vt3,90)(12)编队右转后直行 t2s,编队停止并左转,此时领航者、左右跟随者的位姿分别为:(xL,yL,L)=(a,b+vt1+vt3,90)(13)(xF1,yF1,F1)=(a lcos,b lsin +vt1+vt3,90)(14)(xF2,yF2,F2)=(a+lcos,b lsin +vt1+vt3,90)(15)领航者与右跟随者右侧障碍检测计时算法流程和对应的 OBO Pro 程序代码如图 7 所示。编队直行开始时,计时器 T