武术擂台赛机器人自主登台与漫游初探

2020-05-18 11:32潘立武刘一攀孙文昊
关键词:擂台赛后轮前轮

潘立武,刘一攀,王 懂,孙文昊,刘 硕,杭 泽

(河南牧业经济学院 信息工程学院,河南 郑州 450011)

0 引言

近20年来,机器人技术快速发展,机器人不仅在制造领域被广泛利用,而且在医疗、教育、娱乐、家庭服务、应急救援、野外勘测、资源开发、军事装备等领域也大显神通。近年来, 国内高校相继开设了机器人相关专业,出现了许多以创新和竞赛为主的机器人学生团队。作为极具对抗性的机器人武术擂台赛是各级比赛的一个常规比赛项目,参赛的机器人在规定的擂台上,通过传感器感知自身及对手的位置,利用各种执行器互相搏击,直到一方获得胜利[1]。

机器人武术擂台赛因其观赏性和趣味性吸引着越来越多的人参加,2017年河南省机器人比赛在对抗的基础上引入了自主登台技术,进一步提高了机器人比赛的实战性。自主登台就是在比赛开始后,机器人需要从约30°的斜坡登上擂台,在擂台上寻找并将对手机器人推下擂台且保持自己不掉台,才能取得胜利。本文以参加2017、2018、2019年河南省大学生机器人大赛的武术擂台标准组一对一赛项经历为例,初步探究了机器人自主登台、登台成功后在擂台上该如何做和被推下擂台后如何再登上擂台等问题。

1 机器人的整体设计

图1 装配好的武术机器人Fig.1 The assembled martial arts robot

河南省机器人武术擂台赛分为标准平台和非标准平台赛两种。标准平台机器人要求采用标准的控制器、驱动器、电机、传感器,机器人主体材料须为塑料,即机器人除了螺钉、螺母、垫片(只能起连接作用,不得用于突出结构)、电机支架、轴套、驱动器外壳等之外,其他结构只能使用塑料件,装配好的武术擂台机器人如图1所示。在设计时,笔者使用博创公司提供的创意之星机器人标准套件。创意之星标准套件采用MultiFLEXTM2-AVR控制卡,微控制芯片是ATmega128@16 MHz,拥有8个AD转换器接口、6个机器人舵机接口,是很多机器人武术擂台赛的指定平台[2]。机器人采用四轮驱动,使用BDMC1203驱动模块以及直流电机,额外增加4个CDS5516舵机在登台时起支撑作用,由锂电池供电。笔者将机器人从上到下分为3个部分,上部机器人的4个角安装4个E18-D80NK红外传感器,用来检测机器人是否靠近擂台边缘;在中间前后左右各安装4个同样的红外传感器,用来检测对手的位置;在下部用菱形结构安装4个SEN1590-AD灰度传感器,用来检测机器人在台上的位置。最后,增加一个MPU6050姿态传感器,检测机器人在掉台后再登台时的姿态是否标准。

2 自主登台

2017年以来,为了提高比赛的技术含量,河南省机器人竞赛增加了武术擂台赛自主登台的要求。除了比赛之初机器人需要沿规定的斜坡自主登台之外,比赛中机器人被推下擂台后也要自主登台[3-6]。因此,比赛开始时的登台比较简单,在比赛开始后启动软开关,使机器人从规定区域沿斜坡登上擂台。

针对机器人被推下擂台之后需要自主登台的规则要求,笔者将4个通过舵机控制的机械臂安装在机器人的4个角,使其与底盘垂直,并可旋转到不同的角度。当机器人掉下擂台之后,实现的自主登台的过程如图2所示,具体的登台过程为:

1)当传感器检测到擂台边缘时,控制程序将前面两个机械臂旋转到与垂直面大约150°的位置,机械臂撑地抬起机器人的前轮,通过前轮旋转产生的动力,克服与擂台接触产生的摩擦力使前轮登上擂台。

2)前轮登台后将前机械臂收回,使其与底板垂直,同时,旋转后面两个机械臂撑地,抬起后面两个轮子,同样在电机驱动和机械臂的支撑下,实现自主登台。

3)自主登台后,控制舵机收回后面两个机械臂到最初的位置。

图2 机器人自主登台过程顺序图Fig.2 The sequence diagram of robot’s independent self-staging process

通过编写如下函数,实现武术擂台机器人的自主登台动作:

1)DefaultStaging():首次登台的控制函数,前后4个机械臂位于与底板垂直方向,即指向正上方;

2)FrontArm():控制舵机是前面两个机械臂旋转到150°左右,可以撑地使前轮抬起;

3)BackArm():同FrontArm()函数类似,旋转后面两个机械臂使其撑地,以抬起后轮;

4)Shovel():登台后机器人铲子的状态;

5)FrontSelfStaging():前轮登台实现函数;

6)BackSelfStaging():后轮登台实现函数。

登台实现函数参考代码如下:

FrontSelfStaging()//前轮登台

{

move(0,0);//停下来,防止前一状态是转弯改变登台的方向

UP_delay_ms(100);//延时100 ms

DefaultStaging();//将4个机械臂恢复到与底板垂直的位置,准备登台

UP_delay_ms(350);//延时350 ms

move(500,500);//将机器人前轮对准擂台边缘

UP_delay_ms(650); //延时650 ms

FrontArm();//旋转前面两个机械臂约150°,使其撑地,抬起前轮

UP_delay_ms(850); //延时850 ms

UP_CDS_SeAngle(5,384,512);

UP_CDS_SeAngle(6,640,512);

UP_delay_ms(500); //延时500 ms

BackArm();//旋转后面两个机械臂使其撑地,抬起后轮

UP_delay_ms(800); //延时800 ms

DefaultStaging();

UP_delay_ms(1000);// 延时1 s

move(0,0); //将机器人对准擂台

UP_delay_ms(500); //延时500 ms

}

BackSelfStaging()//后轮登台

{

move(0,0);//停下来,防止前一状态是转弯改变登台的方向

UP_delay_ms(100);//延时100 ms

DefaultStaging();//将4个机械臂恢复到与底板垂直的位置,准备登台

UP_delay_ms(350);//延时350 ms

move(-500,-500);//将机器人后轮对准擂台边缘

UP_delay_ms(600); //延时600 ms

BackArm();//旋转后面两个机械臂使其撑地,抬起后轮

UP_delay_ms(850); //延时850 ms

UP_CDS_SeAngle(7,640,512);

UP_CDS_SeAngle(6,384,512);

UP_delay_ms(500); //延时500 ms

FrontArm();//旋转前面两个机械臂撑地,抬起前轮

UP_delay_ms(850); //延时850 ms

DefaultStaging();

UP_delay_ms(1000);// 延时1 s

move(0,0);// 将机器人对准擂台

UP_delay_ms(500); //延时500 ms

}

3 漫游

由于武术擂台赛的擂台是一个有限的空间环境(长、宽、高分别为2 400 mm、2 400 mm、 150 mm),场地四周(距擂台700 mm处)有高500 mm的方形黑色围栏,出发区坡道水平长度为400 mm,宽度为400 mm,坡道项端高度与擂台平齐,即150 mm,所以在机器人登台后需要采取一系列动作识别擂台,以便更好地投入比赛,河南省武术擂台赛擂台尺寸如图3所示。

为了能够让机器人检测自己的位置,武术擂台表面采用不同的颜色覆盖,从擂台中心到四周分别用纯白到纯黑渐变的不同灰度值标识擂台的不同区域。因此,可以将比赛擂台分为如图4所示的3个不同区域。在区域1之内,机器人可以全速行驶,可视为安全区;区域2接近擂台边缘,当机器人在该区域时需要采取相应的措施,防止机器人跌落擂台,可视为警戒区;区域3位于擂台4个角,灰度变化不大,灰度传感器不容易辨识,属于危险区,轻易不要进入该区域。

图3 擂台大小示意图/mmFig.3 The diagram of arena’s size/mm

图4 灰度大小变化与擂台区域划分Fig.4 The change of gray scale and division of arena area

如图5所示,机器人在擂台上的漫游策略可分为随机运动、圆圈运动和“米”字形运动3种[7-9]:

1)随机运动,即机器人在擂台上无规则运动,达到区域3即擂台的4个角时转向再继续前进。这样做的弊端是随机性太强,路线盲目且容易掉台。

2)圆圈运动,此路径最简单。使机器人围绕某一确定的中心做圆周运动。弊端是机器人路线固定,不宜发现敌人,而且容易被敌人从侧面攻击。

3)“米”字形运动,在擂台上以“米”字形运动,使机器人始终正面或者背面面向擂台中心。在运动时,位于机器人前后的红外传感器均可检测到敌人。因此,这样漫游最为安全。

图5 漫游策略Fig.5 The diagram of roaming strategy

4 结语

本文对机器人武术擂台赛无差别组一对一中的机器人自主登台和台上漫游技术进行了分析,并提出了切实可行的方案。依据河南省机器人武术擂台赛项目的比赛规则和相关要求,河南牧业经济学院机器人团队对武术擂台赛机器人进行了设计组装,并对各个登台、漫游和攻击等动作进行分解,编写了程序代码,比较全面地完成了大赛规定的任务,并在近3年的省赛中均取得了一等奖的好成绩。

猜你喜欢
擂台赛后轮前轮
2019款起亚K5 Pro车左后轮电子驻车制动功能失效
动物擂台赛
春秋——诸侯争霸的擂台赛
创意涂鸦
郑州擂台赛纪实
前轮和后轮
后轮主动转向和可变转向传动比对辅助转向系统的影响
拆前轮不蹭碟
第9期“成语城擂台赛”答案