基于STM32F103单片机的罗弗礼仪机器人控制系统
2015-10-19 罗弗HUST实验 罗弗机器人 罗弗机器人 微信号 功能介绍 我们专业定制生产智能的服务机器人。我们致力于机器人拟人化的研究。 0 引言 随着科技的大力发展,目前机器人已经发展到第三代类似人类的智能机器人,机器人的应用范围大大地扩展,除工农业生产外,机器人应用到各行各业,为人类生产和生活服务。其中礼仪机器人是其中一个重要的分支,可以应用在展览馆、科技馆、会展中心、商场等服务行业的迎宾礼仪和导航服务。高端的礼仪机器人融合了机器人视觉、智能人机交互、网络技术、实时系统和系统集成等核心技术,虽然功能强大但价格昂贵、复杂而暂时无法普及,因而并不实用。传统电子电路控制的礼仪机器人灵活性较差,位置发生变化则硬件需要进行修改致使应用并不方便。本文综合考虑了降低成本与功能灵活性方面的要求,利用STM32F103单片机作为控制系统核心,设计了一种机械结构简单实用、成本低廉并且控制灵活的礼仪机器人。 1 系统概况 礼仪机器人是一台基于展示用的移动机器人,传动部分由底盘行走机构、手腕部关节、肘部关节、肩部关节、头部摆动关节等组成。其可以做出点头、摇头、摆手、手臂转动等联合动作,在车轮的驱动下可以在平面上做出前进、后退和转弯等动作。在机器人身上安装有热释电红外传感器、光电传感器、超声波传感器等。机器人能够实现迎宾、引导、表演和解说等功能。上位PC机通过可视化编程语言VB做出的人机界面建立起了良好的人机交互系统,用户可以利用键盘、鼠标等硬件设备和菜单,窗口等逻辑输入设备向机器人发出命令。通过控制底层的遥控模块,用户也可以利用遥控来向机器人发出迎宾,引导等各种命令。如图1为礼仪机器人的系统框图。 图1礼仪机器人系统框图 2 控制系统的硬件设计 单片机的控制电路为机器人硬件的控制核心,该系统采用美国Atmel公司生产的低电压、高性能CMOS8位单片机STM32F103,其片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器,器件采用Atmel公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器和Flash存储单元,可以很方便的完成机器人的控制。 2.1 主控板 机器人硬件的控制部分,如图2所示。实时采集各传感器的输入信号,控制各电机的输出,通过RS232串行通讯与上位机通讯,将信息处理结果传给上位机,接收并执行上位机的功能指令,并通过无线遥控接收装置接收并执行遥控器的指令。它由单片机STM32F103,A/D转换ADC0809,D/A转换TLC7226,串行通讯MAX232,遥控接收器PT2272,通用接口芯片8255等组成。它通过两个40针接口与转接板2连接,通过转接板2和转接板1实时采集各传感器输入信号,控制各电机的输出。 图2主控板原理图 2.2 上位PC机 上位PC机采用的是研扬GENE-QM77 Rev.A。其支持SODIMM DDR3 1333/1600内存,最大可达8 GB。这款3.5"单板计算机配置有丰富的I /O接口和扩展能力,包括2个千兆以太网口、1个CRT (或可选DVI)、2个18/24位双通道LVDS接口、高清双声道音频、2个SATA 6.0Gb/s (支持RAID 0,1) 、1个CFast™、2个USB3.0接口、6个USB2.0接口、4 个COM、1个8位数字I/O、1个Mini Card插槽、板载4/5/8线电阻式触摸屏控制器及支持TPM供需要高度安全性的设备应用。此外,GENE-QM77 Rev. A还支持研扬的Hi-Safe/Hi-Manager套件与功能,帮助客户执行智能远程设备管理和监控。在保证能高效的完成上位PC机功能的同时,其丰富的接口也增强了礼仪机器人的可扩展性。 2.3 传感器模块 机器人通过传感器来获得外界的信息,并对所采集的信息加以综合处理,从而完成预定义的动作。传感器及其信息处理系统相辅相成,为机器人的智能作业提供了决策依据。该系统中使用了热释电传感器,光电传感器和超声波传感器来采集信号,其分布如图3所示。 图3 传感器分布图 2.3.1热释电红外传感器模块 红外探头是根据探测人体发射的特定波长10um左右的红外线进行工作的,人体发射的红外线经菲泥尔滤光片增强后聚集到热释电元件,这种元件在接收到人体红外辐射温度发生变化时就会失去电荷平衡,向外释放电荷,后续电路经检测处理后就能产生触发信号。为了仅仅对人体的红外辐射敏感,在它的辐射照面通常覆盖有特殊的菲泥尔滤光片,使环境的干扰受到明显的抑制作用。在礼仪机器人胸前的左中右分别安装有3个热释电红外传感器,其结构和原理都相同,都可以用来探测是否有人接近,并且根据探测信号来源的不同,单片机还可以判断接近的人是进入还是出去,从而做出相应的动作。如果单片机先接收到机器人红外右探测信号,然后依次接收到红外中和红外左的探测信号,则可以判定人有客人前来参观,机器人会主动打招呼,同时微微点头并抬起右手表示欢迎。 2.3.2光电传感器模块 光电传感器的测距基本原理为发光管发出红外光,光敏接收管接收前方物体的反射光,据此判断前方是否有障碍物,根据发射光的强弱可以判断物体的距离,接收管接收的光强随反射物体的距离而变化,距离近则反射光强,距离远则反射光弱。在礼仪机器人的胸膛下方安装有3个光电避障传感器,分别居于左中右,前方有障碍物的时候,单片机根据接收到的探测信号做出相应的避障动作。机器人的底盘前方安装有4个防撞光电传感器,后方安装有2个防撞光电传感器。机器人行走中遇到台阶或障碍物时,单片机也会根据接收到的探测信号做出相应的决策动作。 2.3.3超声波传感器模块 超声波传感器是通过超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播时碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为v ,而根据计时器记录的测出发射和接收回波的时间差△t ,就可以计算出发射点距障碍物的距离S。礼仪机器人安装有2个超声波传感器,单片机根据接收到的探测信号可以计算出距障碍物的距离,从而做出相应的决策动作。 2.4 驱动模块 礼仪机器人的转动部分由底盘行走机构、手腕部关节、肘部关节、肩部关节和头部摆动关节组成,其驱动模块原理框图如图4所示。 图4 驱动模块原理框图 礼仪机器人控制系统要求电机具备高精度、重量小、转矩大、便于控制等性能。综合考虑,我们选用了瑞士maxon motor公司的3种不同型号的直流电机和减速器来作为底盘行走电机和减速器、肩部电机和减速器以及肘部、腕部电机和减速器。底盘行走机构的驱动电机通过驱动轴套及两个平键带动锥齿轮转动,实现行走的功能。转向电机通过转向轴套及两个平键带动蜗杆转动,蜗杆带动斜齿轮,斜齿轮带动主动轮架实现主动轮齿轮绕铅直轴的转动,从而实现主动轮的左右转动,由齿轮带动电位器实现方向检测。肩部转动机构主要由电机及减速器组成,工作时电机带动齿轮进行转动,大齿轮轴的转动带动大臂传动。手腕部关节由电机经减速器带动主动锥齿轮转动,经锥齿轮转动带动转轴转动,实现手部的摆动。右肘部关节由电机经减速器带动码盘及与码盘固定连接的小臂实现小臂的回转动作。头部由电机经减速器减速带动摆杆及连杆使头部连杆转动,实现机器人的点头动作。 图5为电机的驱动电路,AO0、AO1、AO2、AO3分别是行走驱动、转向驱动、右肩驱动和左肩驱动。数模转换器TLC7226的DB0~DB7分别与单片机的P00~P07相连,由单片机来控制AO0~AO3的输出,以达到控制各电机的效果。 图5 电机驱动电路 2.5 遥控模块 遥控模块选择的是冲冠5V四路超再生带解码遥控接收模块和12键遥控器。其原理是通过基于PT2262设计出的无线电发射电路,PT2262编码相应的脉冲信号,再通过无线发射电路发射出无线电信号。基于SC2272设计出无线电接收电路,天线接收到信号后再经过滤波、放大后把信号传送给SC2272的接收管脚。接收板的工作频率是315M,工作电压为DC5V,工作电流不超过3毫安,调制方式是ASK,解码芯片SC2272,遥控距离在10到20米之间。接收模块的七根引脚分别为D3、D2、D1、D0、GND、VT、VCC,其中VCC为DC5V的供电端,GND为接地端,VT端为解码有效输出端,只要发射器的数据码有输出,VT都能同步输出高电平;D3、D2、D1、D0是2272解码芯片的四位数据输出端,有信号时能输出5V左右的高电平,驱动电流约2mA,与发射器的四位数据码输出一一对应。D3、D2、D1、D0分别与单片机的P13、P12、P11、P10相连,当发射器发射信号时,解码芯片四位数据输出端输出数据给单片机,单片机根据接收到的数据做出相应的动作。其中PT2272解码芯片的外形与引脚图如图6所示。 图6 PT2272外形与引脚图 3 控制系统的软件设计 整个控制系统软件采用C语言编写,由主程序、子程序和中断服务程序组成。主程序负责整个系统的协调控制工作,通过调用不同的子程序来完成不同的工作。子程序主要包括自主避障子程序、迎宾子程序、舞蹈动作子程序、上肢活动子程序以及机器人的前进、后退、转弯等子程序。系统主要流程如图7所示。主程序开始后,进行一系列的初始化后延时等待检测,再对机器人的初始动作进行初始化,串口接收与上位机连接,检测电压之后,单片机根据上位机的指令来进行一系列的动作,如迎宾、自动表演、引导客人至电梯等。比如,通过上位机或遥控启动迎宾功能后,机器人就会进入迎宾模式。进入迎宾状态后,判断有没有人进来,如果有则做出相应的欢迎动作和语音,如果有人出去则做出再见动作和语音,如果客人提供上位机的迎宾界面点击健力宝,则健力宝公司的一些信息将会显示出来。迎宾模块流程图如图8所示。 图7主程序流程图 图8迎宾模块流程图 结束语 利用STM32F103单片机来完成的礼仪机器人控制系统的设计,具有硬件结构简单,软件编程容易,可扩展性强的特点。该系统的人机界面简单直观,实现了人与机器人的友好交流。遥控模块的引入更加方便了人与机器人的沟通。礼仪机器人根据不同的环境可能放置在大门内或外、左或右等不同的位置,因为采用了单片机软硬控制相结合的方法,机器人的硬件不需要做任何的变动,只要对软件程序进行简单的修改,机器人即可以适应不同的环境,使用十分的方便。实际应用中,经过反复的测试,礼仪机器人可以实现迎宾、引导、表演和解说等基本功能,表现出来预想的工作性能,达到了预期设计的目标。 |