配置参考
| 编号 | 备注 | 主控 | 驱动与电机 | 传感器 | 供电 |
|---|---|---|---|---|---|
| 001 | 某东海洋大学(刘某贤) | STM32F103VCT6芯片的 Luby控制器 | 2个BDMC1203直流电动机驱动器,用于驱动4个20W直流电动机 | 14个E18-D80NK红外光电传感器,2个模拟灰度传感器 | |
| 002 | 某州大学(冯肖某) | STM32103VCT6 | BDMC系列开环电压控制驱动器,CDS5516机器人舵机 | 用9轴姿态角度测量模块, GP2Y0A21YK0F·红外测距传感器, E18-D80NK漫反射式红外光电传感器 | 用4S航模电池(14.8V) |
| 003 | 安康学院(梁某勇) | STM32F103ZET6 | IBT-2驱动,4个Z字减速385型电机, | 14个红外传感器, 3个光电开关 灰度传感器 | 24V2800maAH锂电池 |
| 004 | 长春理工大学(刘某宁) | BDMC1203驱动器作为电机驱动,2个BDMC. 1203驱动器,4个博创尚和创意之星组件原装 20W进口电机,CDS5516机器人舵机(控制铲子) | 8个红外光电传感器E18-D80NK, NPN型, 红外测距传感器, 倾角传感器 |
程序设计方案
基本功能需求
- 擂台识别
- 登台
- 目标检测
- 巡游
- 攻击
- 防掉台
擂台识别
比赛擂台有一定高度,借助于放置在机器人两边的光电传感器, 调整其光电传感器的范围值, 使得在擂台上和擂台边缘,因探测距离不同,而返回不同的电平,从而实现对擂台 边缘的识别。 如果边缘识别条件为真,轮式机器人刹车并执 行后退程序,并且延时一段时间,然后进行转向,回到巡航路 线,继续进行巡航
当机器人靠近擂台边缘时,红外光电传感器的探测点会落到擂台下,此时由于探测距离大于设定距离,传感器接收不到返回的红外光信号,控制系统识别为机器人已靠近擂台边缘。
由控制器通过模拟灰度传感器对黑色区域的检测数值做出判断,使机器人能判断出自身是否位于擂台上。在采集灰度数据返回值的同时还使用了单片机定时器设置每20 ms发生中断并采集一次数值,以免因采集过于频繁而增加主控器的运算负担。同时对检测回来的数值运用了中值滤波算法,在程序中定义了一个数组,每采集10组数据求一次平均值,进行滤波去噪的处理,避免偶然特殊值对擂台机器人的检测产生影响
登台方式
好! 我冲!!!
目前赛场上较为流行的设计方式为车身一体化,将车辆后部做成倒立斜面,车辆向后加速冲上6cm台面,利用机器人的行驶动能和结构设计。
仿生学支撑
小车首先背对台面加速,使小车后部紧贴台面,后电机增加转速全速倒退,同时下降后舵机臂使后轮登台,紧接着前舵机臂下降,抬起前轮至与擂台边缘接触,借助后轮的摩擦力登上台面,完成上台过程。
目标检测与行动逻辑
循环扫描函数对传感器传回的数据进行循环扫描, 若红外传感器检测到敌人,则进入搜寻攻击模式; 若红外传感器没有检测到敌人,则进入差速巡逻模式; 若防掉台红外开关检测到处于擂台边缘,则急速后退,调转方向,继续进行巡逻; 若检测到掉下擂台,则启动智能寻找擂台,对齐台面,主动上台模式
当擂台上物体检测函数被触发时,机器人会转向探测到的物体先进行摄像头识别,如果没有识别到二维码,判定其为敌方机器人并发动攻击;如果识别到二维码并判断出是敌方和中立能量块时,也进行攻击将其推下擂台;如果判断出是我方能量块就取消攻击指令并绕过。对于区分擂台上的物体,在程序处理方面本项目使用了OpenCV来进行识别
巡游状态
攻击状态
传感器组成的360°的圆形探测网络实时搜寻周围的敌人, 一旦发现敌人将触发攻击程序。进入攻击程序后,会对八个方向进行判别,当有且只有一个传感器检测到敌人之后,会以原地旋转的方式立刻调整车头方向,使车头正对敌人,之后根据接近传感器传回的ADC数值,判断距离远近。采用三段阶梯式设置攻击速度,距离越近攻击速度越快。
掉台
在经过了大量的测试之后发现,掉在非角落区时的情况可归为5种:侧对擂台、正对擂台、背对擂台、向左斜、向右斜。对于这5种情况,本项目在程序设计时都编写了相应的判断函数。而对于其他情况,控制系统会先让机器人左转一定角度,再直行一小段距离并如此循环,经过不停地调整 ,直至出现了那5 种 情况 为止,就执行对应的上台程序