ionicons-v5-f

智能羽毛球捡球机器人

实验题目:基于 ARM 的智能捡羽毛球机器人

1. 实验内容与任务(限500字)

项目需要完成的任务(如需要观察的现象,分析某种现象的成因、需要解决的问题等);是否有不同层次的要求

项目内容:

1)基于 ARM 设计具有捡拾羽毛球功能的机器人,并能够通过传感器对回收到的羽毛球进行计数;

2)在回收羽毛球的基础上能够对收集到的羽毛球进行简单整理,将羽毛球自动摆放整齐;

3) 提高抗干扰能力,加入颜色传感器进行对杂物的识别判断;

4)手动模式下能够通过遥控的方式对捡球机器人的行进、转弯、回收动作进行控制;

5)自动模式下捡球机器人具有规划路径和自动运行能力,可以在无人监控的情况下完成预设捡球任务。

2. 实验过程及要求(限300字)

如对学生在实验过程中在自学预习、思考讨论、设计电路、软件仿真、构建平台、选择器件、设计过程、设计表格、观察现象、测试数据、总结报告、验收答辩、演讲交流等各方面的要求。

1)实验之前要求学生熟悉 STM32F103单片机的使用和程序设计方法,熟练掌握 keil环境下的C语言编程;

2)学生学习光电传感器、颜色传感器、编码器等常用传感器的工作原理;

3)选择适当型号的外围器件、焊接电路板以及外围硬件调试;

4)对机器人的行走路径进行建模及计算;

5)掌握步进电机的控制方法及工作原理;

6)编写程序及软件仿真

7)撰写设计总结报告,并通过分组演讲,学习交流不同解决方案的特点。

3. 相关知识及背景(限150字)

实验涉及知识、方法、技能

市场上对于捡球机大多还是依靠人来操作,只是通过长柄来省去人弯腰的动作,达到省力的目的,但这些捡球机却都是针对网球、乒乓球、高尔夫球等球形的球类的,而针对羽毛球这种异形球类的捡球机却鲜有出现,同时一款能够完全解放人力的全自动羽毛球捡球机目前也没有出现。

这是一个基于 ARM 编程和设计解决现实生活问题的典型案例,需要运用传感器及检测技术、单片机原理、通信原理、模拟信号转换、PWM控制、PID控制、数学建模等相关知识与技术方法。并通过理论课的学习掌握基本模块的工作原理、系统搭建和 ARM编程等技术与方法体现学生综合运用知识的能力。

4. 教学目的(限100字)

如学习、运用知识、技术、方法;培养、提升能力、素质。

在解决现实生活问题等工程项目中引导学生掌握及灵活运用 ARM 的编程方法、数学模型建立、传感器及检测技术及硬件设计制作,培养学生们灵活选择元器件、程序编写及设计完整系统的能力,提升学生的动手能力和创新意识。

5. 实验教学与指导

实验前讲课内容,如:知识讲解、方法引导、背景解释;实验中的指导或引导。本实验是一个综合性较强的工程实践工程,需要经历方案论证、系统设计、器件选购、电路焊接、硬件组装、程序编写、单元调试、系统联调、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:

1) 学习 STM32F103 单片机的编程及程序设计,引导学生根据需要合理设计完整程序流程图
2)讲解光电传感器、颜色传感器、编码器等常用传感器的工作原理及使用方法,让学生能够读懂简单的芯片手册及掌握典型应用。
3) 引导学生进行单元电路的设计与选择,
4) 让学生将自动控制原理运用到实际设计中,让学生学会 PID 控制及参数整定;
5) 在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,拓宽知识面。在设计中,要注意学生设计的规范性;如系统结构与模块构成,模块间的接口方式与参数
要求;在调试中,要注意工作电源、参考电源品质对系统指标的影响,电路工作的稳定性与可
靠性;在测试分析中,要分析系统的误差来源并加以验证

传感器使用原理及操作指南:

1)对羽毛球的计数方法

在传送带两侧安装光电传感器,使用激光测距和光敏电阻组成光电门,当羽毛球通过时会挡住激光,使光敏电阻阻值发生改变,通过监测光敏电阻阻值的变化,达到检测的目的,以实现对羽毛球计数。

2)手动模式下对机器人的控制

手动模式下利用蓝牙串口通信的方式对机器人进行遥控,利用串口中断可以快速高效的对捡球机器人进行实时控制。

3)对其他杂物的辨别

颜色传感器进行判别时,设置定时器为一固定时间(例如 $1 0 \mathrm { m s } )$ ,然后选通三种颜色的滤波器,计算这段时间内 TCS3200 的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为 255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的 R 、G 和 B 的值。

4)自动模式下对机器人的定位

普遍机器人的定位是利用编码器进行相对定位,这一种定位技术在短时间、短路程内具有很高的精度,价格低廉,操作简单,并且有较高的额数据采样率。但是随着时间的额增加,由于相对定位的局限性,会导致定位过程中误差的不断增大,导致定位过程的失败。考虑到上述问题,本设计采用编码器和电子罗盘进行组合定位,同时引入卡尔曼滤波,对传感器进行数据融合,获得机器人位置的最优估计值。

5)机器人的避障

用四组超声波同时工作控制机器人进行避障动作,超声波分别装在较低位置处(高于地面羽毛球高度)和较高位置处;同时,机器人工作时为了感知环境的信息,因此底盘上布置三个红外光电传感器,检测障碍物位置制定行走路线;两个编码器分别检测两个电机的移动距离;

一个电子罗盘来测量机器人的角度信息。底盘传感器具体分布情况如图 1 所示。


图 1 机器人底盘传感器分布示意图

6)机器人的算法研究

机器人采用全区域规划路径式算法,以最小的重复率遍历环境中的所有非障碍物区域。机器人通过自身的传感器感知环境信息,并利用高低位置不同的超声波将行走过程中遇到障碍物情况分为两类,一类是墙壁类障碍物,机器人无法穿过,作为环境的边沿来处理。此时,机器人高低位置不同的四组超声波全部检测到障碍物;另一类障碍物是指机器人在全覆盖过程中遇到的障碍物,该类障碍物范围大小可以确定,如羽毛球场地用来悬挂球网的支架,此时,位于较低位置的超声波检测到有障碍物,较高位置的超声波无检测。根据两类不同的障碍物,机器人规划行走路线如图 2 所示。


图 2 机器人规划设计路线

项目完成步骤

本设计基于 STM32F103 系列芯片丰富的中断资源,在主程序中完成各个模块和端口的初始化,各部分的协调运作主要在中断中完成,这样能使整个系统反应更加灵敏,使得机器人动作更加灵活。

1.本设计总体软件流程图如图 3 所示。


图 3系统总体程序流程图

2.蓝牙串口通信

本设计使用蓝牙串口与手机通信,使用手机端 APP 可以控制机器人移动、回收羽毛球、选择工作模式。蓝牙与单片机 USART1 端口连接,波特率 $9 6 0 0 \mathrm { b i t / s }$ ,8 位数据位,1 位停止位,0位奇偶校验位。当单片机收到来自手机的控制指令后,在串口中断中判断指令内容修改相应标志位或执行相应子程序。

蓝牙通信软件实现程序流程图如图 4 所示。


图 4 蓝牙通信软件实现程序流程图

3.羽毛球计数器软件设计

羽毛球计数器利用当激光被羽毛球挡住后,光敏电阻模块 OUT 端电平降低的现象。将光敏电阻的 OUT 端接至用作外部中断的 GPIOA2,外部中断配置为下降沿触发。考虑到羽毛球的羽毛间有很多缝隙,激光可以从中穿过,会导致外部中断多次触发,所以配置基本定时器 TIM6用作延时。羽毛球计数器软件实现程序流程图如图 5 所示。


图 5 羽毛球计数器软件实现程序流程图

4.颜色传感器调试分析

接好电路后开始测试时,要进行白平衡测试,所谓白平衡,就是告诉 TCS3200什么是白色的。首先找一个白色光源或比较纯净的白色环境,打开串口,得到“白色”的 RGB 值,后面所有的测试颜色值都是以这个“白色”值为基准。最佳测试距离 10MM。设置定时器为一固定时间 $1 0 \mathrm { m s }$ ,然后选通三种颜色的滤波器,计算这段时间内 TCS3200 的输出脉冲数,计算出一个比例因子,通过这个比例因子可以把这些脉冲数变为 255。在实际测试时,使用同样的时间进行计数,把测得的脉冲数再乘以求得的比例因子,然后就可以得到所对应的 R 、G 和 B 的值。结果如图 6 所示。


图6 颜色传感器测试结果分析界面

6. 实验原理及方案

1)系统结构

系统结构框图如图 7 所示。


图 7 系统结构框图

2)实现方案

首先考虑到捡拾羽毛球需要快速、高效,因此放弃慢吞吞的机械手的思路。通过观察生活,决定采取模仿日常生活中扫地的方式,设计一个旋转扫帚,能够不断的将羽毛球扫进铲斗中。

其次,通过对羽毛球的观察,发现羽毛球在下落时永远都是重端的球头向下坠落,因此设计了传送带,先将羽毛球运送到高处,再让其自由落体至球桶中,可实现对羽毛球的简单整理;同时在传送带两侧安装光电传感器,以实现对羽毛球计数。考虑到清理的羽毛球数量较多,我们设计了三个可旋转球桶,提高机器人的工作效率。

第三,利用四组超声波同时工作来进行避障,1、2 组超声波安装在靠近顶端位置,3、4组位于较低位置,其高度高于地面上羽毛球高度。若其中一个超声波检测到障碍物,机器人进行避障动作。

第四,考虑到羽毛球大多数为白色,为了将其他杂物与羽毛球区别开,在机器人铲斗的上方加入颜色传感器进行识别,排除杂物的干扰。

最后,将机器人的运行分为两种模式,一种是利用蓝牙串口通信的方式可快速高效的对捡球机器人进行实时控制,另一种是捡球机器人利用运动传感器实现机器人的定位和机器人运动的路径规划,利用监测到的数据实现在预设范围内机器人的自动运行。

以 STM32F103ZET6 单片机为核心,使用 TB6560 芯片控制机器人两侧步进电机,实现机器人的移动、转弯;使用 $3 6 0 ^ { \circ }$ °舵机控制机器人进行回收羽毛球动作;利用羽毛球下落时球头朝下的原理,通过传送带配合,完成整理羽毛球动作;设计四组有高度差的超声波模块来进行机器人的避障;在机器人内部设计光电传感器实现羽毛球计数功能;利用编码器和电子罗盘等惯性传感器实现机器人的路径规划;设计蓝牙通信串口,通过上位机实现对机器人远程遥控。

7. 实验报告要求

需要学生在实验报告中反映的工作(如:实验需求分析、实现方案论证、理论推导计算、设计仿真分析、电路参数选择、实验过程设计、数据测量记录、数据处理分析、实验结果总结等等)

实验报告需要反映以下工作:

1)实验需求分析
2) 实现方案论证
3) 电路设计与参数选择
4) 各功能模块硬件电路设计
5) 电路测试方法
6) 系统软件设计
7) 实验数据记录
8) 项目报告
9)个人总结

8. 考核要求与方法(限300字)

考核的节点、时间、标准及考核方法。

1) 实物验收:机器人捡拾羽毛球的功能与性能指标,捡拾一桶球的完成时间。
2) 实验质量:电路方案的合理性,焊接质量、组装工艺。
3) 自主创新:功能构思、电路设计的创新性,自主思考与独立实践能力。
4) 实验成本:是否充分利用实验室已有条件,材料与元器件选择合理性,成本核算与损耗。
5) 实验数据:测试数据和测量误差。
6) 实验报告:实验报告的规范性与完整性。
7) 学生答辩

9. 项目特色或创新(可空缺,限 150字)

羽毛球捡球机器人采用编码器和电子罗盘进行组合定位,同时引入卡尔曼滤波,对传感器数据进行融合,获得机器人位置的最优估计值,对于相对空旷的场地能全自主进行捡拾工作。对于场地环境相对复杂且杂物较多的区域,可选择人工模式,指挥机器人完成作业。同时融合了定位、路径规划、传感器融合、电源等多方面的知识。本设计将大量的节省人力,让羽毛球爱好者更加有效的训练。略微调整可用于更多领域。

实验案例信息表

案例提供单位西安科技大学相关专业自动化、测控
设计者姓名李红岩电子邮箱lihongyan@xust.edu. cn
移动电话13310940531通讯地址(含邮编)陕西省西安市雁塔路中段58号西安科技大学 电控学院 710054
设计者姓名祝文君电子邮箱1096131889@qq.com
移动电话18792405291通讯地址(含邮编)陕西省西安市临潼区西安科技大学临潼校区 电控学院710054
设计者姓名王奕琛电子邮箱15529090661@163.com
移动电话15529090661通讯地址(含邮编)陕西省西安市临潼区西安科技大学临潼校区 电控学院 710054
相关课程名称ARM 技术及应用学生年级三年级学时(课内+课外)32+16
支撑条件仪器设备STM32开发板,Jtag 调试器,学生电源、3D打印机
软件工具Keil编程软件,c#软件
主要器件颜色传感器、红外传感器、摄像头、陀螺仪、超声波传感器

基于ARM的羽毛球捡球机器人

指导教师:李红岩

参赛学生:祝文君、王奕琛

实验内容与任务

基于ARM设计具有捡拾羽毛球功能的机器人,并能够通过传感器对回收到的羽毛球进行计数

在回收羽毛球的基础上能够对收集到的羽毛球进行简单整理,将羽毛球自动摆放整齐

提高抗干扰能力,加入颜色传感器进行对杂物的识别判断

手动模式下能够通过遥控的方式对捡球机器人的行进、转弯、回收动作进行控制

自动模式下捡球机器人具有规划路径和自动运行能力,可以在无人监控的情况下完成预设捡球任务。

教学实施进程

教学方式: 集中实训总学时:16学时

步骤教学内容
1实验方式、目的、要求、报告生成及评分方法说明1
2STM32工作原理讲解2
3学生分组、小组内任务分配、实验实施及进度安排1
4硬件搭建4
5程序编写与调试4
6系统运行调试3
7实验报告生成及答辩1

分组:2人/组, 任务可交叉进行

评分方法

成绩包含内容:组操作分及成员贡献度

成绩给出:组操作分X50%+成员贡献度=学生成绩

组操作分
子单元测试20%
任务分配和进程管理10%
综合调试50%
答辩和报告20%
贡献度
得分应参考任务分配和进程管理报告

实验过程及要求

1.实验之前要求学生熟悉STM32F103单片机的使用和程序设计方法,熟练掌握keil环境下的C语言编程;
2.学生学习光电传感器、颜色传感器、编码器等常用传感器的工作原理;
3.选择适当型号的外围器件、焊接电路板以及外围硬件调试;
4.对机器人的行走路径进行建模及计算;
5.掌握步进电机的控制方法及工作原理;
6.编写程序及软件仿真

相关知识及背景

这是一个基于ARM编程和设计解决工程问题的典型案例,需要运用传感器及检测技术、单片机原理、通信原理、模拟信号转换、PWM控制、PID控制、数学建模等相关知识与技术方法。并通过理论课的学习掌握基本模块的工作原理、系统搭建和ARM编程等技术与方法体现学生综合运用知识的能力。

教学目的

在解决现实生活问题等工程项目中引导学生掌握及灵活运用ARM的编程方法、数学模型建立、传感器及检测技术及硬件设计制作,培养学生们灵活选择元器件、程序编写及设计完整系统的能力,提升学生的动手能力和创新意识。

实验教学与指导

本实验是一个综合性较强的工程实践工程,需要经历方案论证、系统设计、器件选购、电路焊接、硬件组装、程序编写、单元调试、系统联调、设计总结等过程。在实验教学中,应在以下几个方面加强对学生的引导:

(1)学习STM32F103单片机的编程及程序设计,引导学生根据需要合理设计完整程序流程图

(2)讲解光电传感器、颜色传感器、编码器等常用传感器的工作原理及使用方法,让学生能够读懂简单的芯片手册及掌握典型应用。

(3)引导学生进行单元电路的设计与选择,

(4)让学生将自动控制原理运用到实际设计中,让学生学会PID控制及参数整定;

(5)在实验完成后,可以组织学生以项目演讲、答辩、评讲的形式进行交流,了解不同解决方案及其特点,拓宽知识面。

实验原理及方案

教学成果展示


扫帚
传送带
羽毛球计数器


球桶
电机驱动保护

球捡球机器人整体实

THANKs FOR lIsTeNINg!

获奖信息

获奖等级 一等奖
年份 2017

作品信息

作者信息

作者
李红岩,祝文君,王奕琛
学校
西安科技大学

电工电子实验教学资源平台 苏ICP备09069895号-19