一、机器人发展
现代机器人的研究始于20世纪中期,其技术背景是计算机和自动
化的发展,以及原子能的开发利用。自1946年第一台数字电子计算机问世以来,计算机取得了惊人的进步,向高速度、大容量、低价格的方向发展。大批量生产的迫切需求推动了自动化技术的进展,其结果之一便是1952年数控机床的诞生。与数控机床相关的控制、机械零件的研究又为机器人的开发奠定了基础。另一方面,原子能实验室的恶劣环境要求某些操作机械代替人处理放射性物质。在这一需求背景下,美国原子能委员会的阿尔贡研究所于1947年开发了遥控机械手,1948年又开发了机械式的主从机械手。1954年美国戴沃尔最早提出了工业机器人的概念,并申请了专利。该专利的要点是借助伺服技术控制机器人的关节,利用人手对机器人进行动作示教,机器人能实现动作的记录和再现。这就是所谓的示教再现机器人。现有的机器人差不多都采用这种控制方式。作为机器人产品最早的实用机型(示教再现)是1962年美国AMF公司推出的“VERSTRAN”和UNIMATION公司推出的“UNIMATE”。这些工业机器人的控制方式与数控机床大致相似,但外形特征迥异,主要由类似人的手和臂组成。1965年,MIT的Roborts演示了第一个具有视觉传感器的、能识别与定位简单积木的机器人系统。
1967年日本成立了人工手研究会(现改名为仿生机构研究会),同年召开了日本首届机器人学术会。1970年在美国召开了第一届国际
工业机器人学术会议。1970年以后,机器人的研究得到迅速广泛的普及。1973年,辛辛那提·米拉克隆公司的理查德·豪恩制造了第一台由小型计算机控制的工业机器人,它是液压驱动的,能提升的有效负载达45公斤。到了1980年,工业机器人才真正在日本普及,故称该年为“机器人元年”。随后,工业机器人在日本得到了巨大发展,日本也因此而赢得了“机器人王国的美称”。随着计算机技术和人工智能技术的飞速发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。由于这些技术的发展,推动了机器人概念的延伸。80年代,将具有感觉、思考、决策和动作能力的系统称为智能机器人,这是一个概括的、含义广泛的概念。这一概念不但指导了机器人技术的研究和应用,而且又赋予了机器人技术向深广发展的巨大空间,水下机器人、空间机器人、空中机器人、地面机器人、微小型机器人等各种用途的机器人相继问世,许多梦想成为了现实。将机器人的技术(如传感技术、智能技术、控制技术等)扩散和渗透到各个领域形成了各式各样的新机器——机器人化机器。当前与信息技术的交互和融合又产生了“软件机器人”、“网络机器人”的名称,这也说明了机器人所具有的创新活力。
二、教育机器人
目前许多高等教育院校采用教育机器人进行课堂教学和培养学
生的创新能力。本文设计的教育机器人通过红外光电传感器阵列检测路面信息并利用模糊自整定PID算法将采集的路面信息和电机运行
数据进行实时处理,实现教育机器人的智能巡航并将机器人的状态显示输出。
1 机器人的组成及工作原理
机器人由硬件和软件两部分组成。采用STC12CSA60S2单片机作为系统控制的核心部件,完成路面信息检测、直流电机控制、电机转速检测、数码管显示、蜂鸣器报警以及键盘输入等功能,硬件系统框图如图1所示。
图1 硬件系统框图
软件部分主要完成路况检测、PID电机控制、输入输出人机接口,可实现各种机器人巡航动作、智能循迹等功能。 2 STC12系列单片机
本文采用的STC12C5A60S2单片机是是宏晶科技生产的STC12系列单片机。该单片机是单时钟/机器周期(1T),具有高速、低功耗、超强抗干扰和无法解密诸多优点。指令代码完全兼容传统8051,速度快8-12倍。工作电压为3.3 V~5.5 V(5V单片机),有6个16位定时器,兼容普通8051的定时器或4个外部中断,具有看门狗和EEPROM功能,并且内部集成MAX810专用复位电路。 3 硬件设计
3.1 系统电源
由于电机在启动瞬间电流很大,要求电源有足够大的驱动能力,因此系统采用双电源供电方式。利用LM7805将12 V锂电池组电压转换为5 V稳压电源给单片机最小系统电路、路面检测电路、数码管显示电路和电机测速电路供电。而电机驱动电路直接由另外一组锂电池输出的12 V电压直接供电。 3.2 电机驱动电路
本系统使用的直流电机额定电压为12 V,额定转速为300 rpm。电机驱动电路采用专用芯片L298N作为电机驱动芯片。用该芯片作为电机驱动,不仅稳定性好,大大地简化驱电路,而且驱动能力大,有利于电机转速的稳定。电机驱动电路如图2所示。
3.3 红外光电传感器寻迹阵列模块
红外光电检测电路工作原理是:红外线射到路面并反射,利用红外线在黑线和白线对光的反射系数不同的特点一白色反光线,黑色吸收光线,电路设计一个发射红外光和一个红外光敏二极管,当检测到
黑线时,检测电路向单片机发出一个高电平信号。当检测到白色时,检测电路向单片机发出一个低电平信号。
由7组红外光电检测电路排成一排构成一个红外光电传感器阵列模块,安置在机器人的车头位置。在对黑线循迹的过程中,红外光电传感器阵列模块可以求得机器人对黑线轨迹位移偏移量。单片机检测到红外光电传感器阵列模块的信号与机器人的位移偏移量如表1所示。
当机器人行驶的状态不一样时,7组传感器输出的值也对应不同,从表中可以得到机器人在巡航过程中机器人所处位置与黑色轨迹的偏移量。
3.4 车速检测模块
教育机器人系统通过车速检测模块来读取当前车速。采用的方法是在后左右轮上分别粘贴一个均匀分布有黑白条纹的编码盘(见图3(a)),利用图3(b)的检测电路来对编码盘上的黑白条纹进行检测。当车轮转动时,红外接收管接收到的反射光强弱高低变化就会产生与车轮转速相对应的脉冲信号,将该脉冲信号进行放大整形后输入
单片机的引脚P3.4和P3.5,记录单位时间内所得到的脉冲数,就能够表示出当前车左右轮子的速度,同时通过累加可以计算出小车所行走的路程。
3.5 其他电路
数码管显示电路主要是显示当前机器人的行走速度。采用LED数码管动态显示,段码用PNP三极管驱动。系统显示的距离范围在10米之内,选用4位LED共阳数码管,通过单片机编程实现动态扫描显示。显示字符由单片机P0口送出,P1.6、P1.7、P3.0和P3.1分别控制每一位数码管的动态显示。
报警电路通过单片机P3.7控制蜂鸣器来完成。P3.7输出低电平时,蜂鸣器报警;P3.7输出高电平,蜂鸣器不报警。单片机的外部中断输入口P3.2和P3.3与地之间分别接入轻触按钮作为系统的启动和停止开关,作为按键输入电路。 4 系统软件设计
系统控制的实现是由软件完成的。软件设计基于keilC51编写的,采用模块化结构设计,各个功能子块独立。在结构上由1个主程
序文件main.c和8个子程序文件(key.c、pid.c、detect.c、seg.c、speed.c和motor.c)组成。main.c主程序文件完成一系列任务的初始化工作和处理各个任务工作的协调。key.c文件完成按键中断检测和蜂鸣器报警任务;seg.c文件完成数码管显示;sp∞d.c文件完成电机速度检测;motor.c完成PWM的配置和电机的控制;detect.c文件完成红外光电传感器阵列检测;pid.c文件实现模糊参数自整定PID运算处理。其中定时器TO产生采样周期T秒定时中断,每间隔T秒中断一次,完成一次PID控制计算,同时调用模糊参数自整定PID运算子程序对测试转速和设定转速进行差值计算得到输出值,用于配置PWM的输出,控制电机转速。 编译和下载
Keil C51 是美国Keil Software 公司出品的51 系列兼容单片机C 语言软件开发系统。本设计编译模块通过shell 函数调用C51 编译器对已经生成的C 文件进行编译,以生成hex 文件。 教育机器人平台中已经设计好编译的流程,用户通过一个按键就可以完成编译工作,繁琐的设置工作交给平台软件去完成。编译工作正是基于这种考虑而设计的。下载模块通过调用CH341A 芯片的下载程序CH341DP.EXE 利用AT89S51 单片机的isp 以实现usb 下载功能。
二、结论
我们小组的专业是计算机科学与技术,学习的是电路以及软件程序编写方面的知识,通过对教育机器人的讨论,可以看到我们专业与机
器人之间的关系。机器人的运动依靠电路和程序驱动,这都是我们学习的方向,由此可见,我们与机器人之间的关系是十分密切的。
因篇幅问题不能全部显示,请点此查看更多更全内容