|
【S071】智能教室灯光控制小车
作品说明 |
作者:宋冠雄 刘佳霖 汪世佳 刘家硕 刘旭
单位:唐山学院
指导老师:袁娜
1. 引言
随着人工智能技术的迅猛发展,众多人工智能控制产品应用到了各行各业中,人们的生活正在逐渐向智能化转变,嵌入式技术及其他新技术的快速发展,使人们的生活和工作变得越来越智能化。如今智能产品已经深入到人类生活和生产的多项领域,在一定范围和程度上,已经为人类提供了多项基于科技发展的智能服务。智能小车也叫轮式机器人,以四足和六足最为常见。其以汽车电子技术为背景,综合计算机、机械、控制以及传感技术等多学科技术,属机器人的一个分支。此外,通过人为的控制,智能小车可进入如矿井、废墟等人们不易进入的地方工作。目前智能小车应用于传感、汽车电子、电气、计算机、导航、信息等多个领域,在仓库搬运、快递投送、军事侦察等方面都有广泛应用,但智能小车在教学场景中的应用仍较缺乏。
因此本文设计了一款可以用于灯光控制的智能小车,该智能小车充分考虑了教室场景特点,在使用的过程中,是通过设定模式进行运行,小车按照设定路线行驶,通过传感器自动判断路径,自主完成全部过程,可为管理人员提供诸多便利。
作品说明
智能教室灯光控制小车实物图
2. 场景调研
随着社会飞速发展,科学技术不断进步,工业领域生产模式发生变化,人工智能时代势不可挡,尤其是智能产品得到更大范围的推广与应用。智能机器人的突出优势是精准度较高,工作效率高,能够承受较大工作强度,为整个领域产量的提升以及质量的提高创造更加优质的条件。由此可见智能机器人已成为现代发展的趋势与方向,在满足生产、生活所必需的用电条件下,如何减少电能的消耗是当今科技发展的重要课题之一。目前教学楼的节电措施仍比较陈旧,大多采用人工方式来限制电能,而智能灯光控制小车恰恰解决了这一问题,它不仅能够轻松实现大规模范围的教室灯光控制,而且操作简便、效率高、节约人力和时间成本。
采用智能教室灯光控制小车主要的优势有以下几点:
① 工作成本低。成本可分为时间成本和经济成本,长期来看,智能化产品的引入代替了人工操作,降低了成本。
② 工作效率高。智能小车可多车同时工作,在大中规模学校中更加凸显。
③ 工作准确率高。智能小车可实现百分之百操作正确率,并且小车自带纠错系统,可第一时间进行修正,确保工作顺利完成。
3. 方案设计
3.1 整体设计
智能教室灯光控制小车结构简单、操作方便,可进行自动循迹和灯光检测,整体设计方案图如下所示:
整体设计方案图
机械部分采用四轮驱动移动方式,在所有路况下都有着强大的牵引力,可以保证均匀的轮胎磨损以及起步和爬坡能力的增加。主要控制系统安装在车的底部,安全性好,同时车体受力平衡。车体框架为探索者套件组成,重量轻,质量好。车前安装灰度传感器来实现循迹功能,保证车沿着正确的轨迹行走。
工作原理:四驱电机带动车辆沿着轨迹移动,当到达目标位置时,机械臂舵机开始工作,使机械手下放,关闭开关,完成工作。整体模型图如下所示:
整体模型图
3.2 行走驱动系统
智能教室灯光控制小车的行走驱动系统为四驱系统,共由四个TT电机组成,负责整体的驱动,转向,与蓄电池配套使用,TT 电机操作简单,运行平稳,功率大,适合此项目的要求,所以选用此电机作为驱动电机。利用差动转向式的方式,机器人的四个驱动轮速度变化从而可以更好的控制小车的速度和转向能力,从而可以更好的避障。四电机均由控制系统的Arduino开发板控制,TT电机实物图如下所示:
TT电机实物图
小车对路径的选择是靠灰度传感器、超声波传感器和Arduino开发板共同完成的。其中灰度传感器可以利用光敏电阻对不同颜色的检测面对光的反射程序不同,其阻值变化在的原理进行颜色深浅检测。在有效的检测距离内,发光二极管发出白光,照射在检测面上,检测面反射部分光线,光敏电阻检测此光线的强度并将其转换为机器人可以识别的信号。与Arduino专用传感器扩展板结合使用,可以感知地面或桌面不同的颜色而产生相应的信号,智能教室灯光控制小车通过小黑线可实现指定路线的循迹功能。灰度传感器如下图所示:
灰度传感器
3.3 舵机机械臂系统
小车对教室灯光是否关闭的判断是依靠光强传感器,光强传感器负责将光信号转换为电信号,并且在传感器内的三极管的反向电流会随着光照强度的改变而变化。将教室内的光强转换为单片机可以读取的模拟量数值,由于外界干扰的影响,所以在传感器返回的模拟量数值中设定一个阈值,当返回的数值高于阈值时,说明小车所处的教室内的灯处于开启状态,此时运行关灯程序,通过机械臂关闭教室灯光的开关实现关灯,当返回的数值低于阈值时,说明教室内的灯处于关闭状态,不需要关灯。光强传感器如下图所示:
光强传感器
关灯所用到的机械臂为模拟舵机驱动的三轴机械臂,运动范围接近半球型,虽然自由度不及六轴机械臂,但是可以满足模拟人手关闭灯光开关的需要,且控制简单。舵机是一种位置伺服驱动器,在编程中调用Servo舵机库,使用库中的函数即可实现对舵机的角度控制,所使用的6-42a舵机组成的机械臂关节模组如下图所示:
舵机机械臂关节模组
3.4 控制系统
控制系统为Arduino开发板及其扩展板,板子上有微控制器通过Arduino的编程语言来编写程序,编译成二进制文件,通过Arduino IDE烧录进微控制器。行走驱动系统的四个电机、灰度传感器和光强波传感器均由其控制。
4. 示例程序
#include<Servo.h> Servo J1,J2,J3; int pin[3] = {A2,A4,A3}; byte value; byte value_his = 0; void setup() { J1.attach(4); J2.attach(7); J3.attach(11); Serial.begin(9600); pinMode(A0,INPUT); pinMode(5,OUTPUT); pinMode(6,OUTPUT); pinMode(9,OUTPUT); pinMode(10,OUTPUT); analogWrite(9,1); analogWrite(10,1); analogWrite(5,1); analogWrite(6,1); } void loop() { if(!(digitalRead(A0))) { J1.write(90); J2.write(30); J3.write(180); } else { J1.write(90); J2.write(90); J3.write(120); } value = 0; for(int i=0;i<3;i++) { value |=(digitalRead(pin[i])<<i); } if(value == 0x07) { value = value_his; } switch(value) { case 0x00: Stop(); break; case 0x01: while(digitalRead(pin[1])) { Right(); } case 0x03: while(digitalRead(pin[1])) { Right(); } case 0x04: while(digitalRead(pin[1])) { Left(); } break; case 0x05: Forwards(); break; case 0x06: while(digitalRead(pin[1])) { Left(); } break; default: Stop(); } value_his = value; } void Left() { digitalWrite(5,HIGH); digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,HIGH); } void Right() { digitalWrite(5,LOW); digitalWrite(6,HIGH); digitalWrite(9,HIGH); digitalWrite(10,LOW); } void Forwards() { digitalWrite(5,HIGH); digitalWrite(6,HIGH); digitalWrite(9,HIGH); digitalWrite(10,HIGH); } void Stop() { digitalWrite(5,LOW); digitalWrite(6,LOW); digitalWrite(9,LOW); digitalWrite(10,LOW); } |
5. 作品的创新点
5.1 可设置循迹导向
在本次智能教室灯光控制小车的设计上,实现按照已设置轨迹导向的作用是本次设计的一个亮点。在本次项目中,针对循迹功能及其设置轨迹的设计,实现小车的自动循迹,在技术上得到了更好的完善。
5.2 自动识别灯光
在本次智能教室灯光控制小车的灯光检测设计上,通过被测教室光强的大小来判断教室灯是否亮,来判断是否需要关灯,实现小车的自动灯光检测及关灯。
6. 设计难点和解决方法
在设计过程时,我们最开始选用的是履带带动整体运动,但在调试后,由于履带的长度和零件的长度无法匹配,导致履带要么过紧要么过松,履带过紧使得电机无法带动其运动,使小车无法运动,履带过松导致连接接电机的驱动齿轮在带动履带的运动过程中,会造成滑齿导致一边履带丢步。之后又选择行星轮来作为小车的运动机构,但是在实际的调试过程中,由于行星轮是由一个电机驱动多个齿轮来运动而电机的动力不足,导致小车在左右差速拐弯的过程中会造成对角的两个行星轮卡住,使小车整个被别住,无法运动。以上两种运动机构都是为了小车能够实现爬楼这个功能,但最后经过实际的调试,两种机构均存在电机动力不足问题,无奈只好暂时放弃爬楼,选用的轮子带动运动,使其它的功能能够实现。
参考文献
[1]孙富春.机器人学导论——分析、控制及应用(第二版).北京:电子工业出版社出版,2019
[2]蔡自兴、谢斌.机器人学(第四版).北京:清华大学出版社,2021
[3]周有成.基于扩展功能模型的智能产品概念结构设计.河北,河北工业大学,2020
[4]陈吕洲.Arduino 程序设计基础(第 2 版).北京:北京航空航天大学出版社,2015
* 本项目未获得作者开源授权,无法提供资料下载。