![]() |
|
||||||||||||||
| | 网站首页 | 综合电子 | 51单片机 | AVR单片机 | ARM专栏 | MSP430 | 网上商城 | PSOC | 下载中心 | 公司事项 | DSP专栏 | | ||
|
||
|
|||||
| 基于PSoC的智能吸尘机器人控制系统的设计 | |||||
| 基于PSoC的智能吸尘机器人控制系统的设计 | |||||
作者:未知 POSC专栏来源:本站原创 点击数: 更新时间:2008-2-18 ![]() |
|||||
|
关键词:片上系统;智能吸尘机器人;运动控制 0引言 吸尘机器人作为服务机器人领域的一个新产品,结合了机器人和吸尘器技术,能在无人看守情况下轻松地完成室内环境的吸尘等清洁工作,越来越受到人们的欢迎。 目前国外在吸尘机器人研究开发方面已取得一定的成果,并有成品上市。如英国Dyson公司推出的DC06智能吸尘器,控制器由3台小型计算机控制,外部备有70个传感器;澳大利亚FloorBotics公司推出的V4型机器人,配有内置搜索雷达[1]等。国内也已有相关的研究,但与国外有较大差距。控制系统是机器人性能的关键部件之一,它在相当大的程度上决定了机器人的智能程度。为减小尺寸和降低功耗,吸尘机器人控制系统的设计应尽可能采用功耗小和集成化程度高的器件。 文中介绍的智能吸尘机器人控制系统是基于Cypress公司生产的PSoC(Programmable System on Chip)芯片CY8C 26643开发完成的。该芯片内部自带主振荡器,可提供24/48 MHz时钟,使控制系统具有较强的实时控制能力。该芯片具有相当高的集成度,内部集成了丰富的数字和模拟功能模块[2],为控制系统的设计提供了灵活可重构资源,使得其硬软件 设计更加便捷。采用了多路红外传感器来感知外部环境信息,控制系统据此可自动识别室内可能出现的各种遇障情况,与市场上已有控制系统相比,实现了仅采用较少的元器件完成外围电路设计,并实现机器人自主吸尘、自动避障等功能。 2 控制系统硬件设计 图1为吸尘机器人控制系统的组成框图。该机器人为轮式移动机器人,移动机 构由2个后轮和1个前轮组成,两后轮由直流电机驱动,前轮为从动轮。片上系统CY8C 26643内部配置的PWM1、PWM2模块输出脉宽调制信号,经功率放大后驱动电机最终控制吸尘机器人的后轮;计数器1、计数器2模块分别用于计数来自安装在后轮的光电码盘信号,反馈后轮的速度和位移信息;A/D模块SAR6用于实时检测充电电池的电量,保证机器人的正常运作;定时器为配置的各模块提供时基,同时也为系统提供定时中断;接近觉传感器检测机器人的3个轮是否离地;多对红外传感器用于检测机器人外部环境信息,以作为自主清扫、自动避障 的判断依据,由PWM3控制发射管的工作;片上系统通过PWM4发送不同频率的脉宽调制信号,使扬声器发出不同的声音,以告知用户其工作状态,为机器人提供友好的人机交互。
驱动部分作为吸尘机器人的主体,速度的控制精度直接影响到机器人的清扫性能。控制系统采用速度闭环控制,在两后轮上分别安装了光电码盘,CY8C 26643内部的8位计数器模块在一定周期内计数来自码盘的脉冲个数,通过一定的转换比例因子即可获得轮的实际转速和位移,以此作为反馈信息,调整8位PWM模块输出脉冲占空比,使机器人以期望的速度运行,最终实现速度的闭环控制。 PSoC片内不仅有丰富的功能模块,而且为各模块的配置和调用都提供了丰富的API(Applicat ion Programming Interface)函数,调用API函数,在程序中修改模块参数非常方便。 当机器人任务完成或遇其他紧急情况停止工作时,可以关闭PWM等模块,减小控制系统的功耗,节省电源。 2.2传感器部分 移动机器人的智能化主要体现在机器人自动识别障碍物、避开障碍物以及自主清扫地面等方面[3],实时采集环境信息成了吸尘机器人控制系统需完成的重点任务之一。鉴于传感器的性价比,该实验机器人采用了红外传感器。机器人前端装有缓冲装置,结合红外传感器,可检测机器人左前方、右前方、正前方是否遇障,当缓冲器碰撞障碍物时,机械装置挡住接收管而产生检测信号。安装在机器人侧面的传感器可判断侧面是否有障碍物。为防止机器人遇楼梯或高的阶梯而坠落,在机器人底部也装有多对红外传感器,当机器人前端悬空时,传感器发射管发射的红外光因没有地面的反射而使接收管没有信号输入,CPU捕捉到 异常信号采取解救措施。此外,在3个轮的旁边分别装有接近觉传感器,用于检测轮子是否离地。各路传感器检测信息为机器人自动避障提供了必要的环境判定信息。 图2为一路红外传感电路的驱动电路,R1端接CY8C 26643中PWM3模块的输出I/O口。确定好各电阻值,使Q2工作在合适的静态工作点后,采用PWM输出驱动红外发射管,这样即使在电路元器件参数固定的情况下,仍可通过在程序中调整PWM占空比来改变D1的工作电流。接收管的信号则需经多级放大滤波 后再送入CY8C 26643。
3.1概述 软件是在PSoC开发环境下完成的,主程序源代码主要用C语言编写。这样可以缩短程序开发周期,提高程序的可读性和可移植性,但同时C语言也存在一些不足之处,与汇编语言相比,主要体现在需占用较大的程序存储空间,对一些硬件的控制不如汇编语言方便直接。因此,在控制系统的软件设计中,部分代码用汇编语言编写,主要有键盘扫描、各路传感信号扫描和所有的中断(包括定时中断、计数器溢出中断等)程序,主程序的某些关键部分也嵌入了汇编语言,PSoC开发环境中在C语言程序中嵌入汇编语言非常方便。 直线和圆弧是轮式机器人的两种基本运动模式[4],该机器人的路径主要由基本的渐开螺旋线、圆弧和直线组成。机器人启动后,先按照螺旋线轨迹清扫地面,运行5~6圈后以直线清扫并寻找墙,运行一定时间后继续以螺旋线和直线清扫。在软件中设定了多种避障模式:左转/右转一定角度后继续直线行走、绕障碍物逆时针清扫一圈或沿墙直线清扫,转过的角度大小在程序中设定为10°、30°、90°、120°、150°不等。结合各路传感信息,机器人可识别左前方遇障、右前方遇障、正前方遇障、右侧面为墙、前方遇坑或楼梯口等异状,CPU进行判定后选择相应的避障模式,自动避障。该路径规划与直线随机清扫相比,大大提高了机器人的工作效率。 3.2运动控制 机器人坐标原点取为两后轮中心轴线的中点,其速度v和角速度ω计算公式:
4 结论 笔者从实用的角度出发,设计的吸尘机器人控制系统充分利用了PSo C内部集成的功能模块资源,实现了以较少的器件完成控制系统的外部电路设计,提高了系统的稳定性。经多次试验,结果表明:该控制系统能成功地实现自动避障,自主清扫房间,并能覆盖房间的大部分面积,良好的人机交互使机器人更具人性化。 参考文献 [1]胡跃明.吸尘机器人的研究现状与展望[J].机器人技术与应用,2002. [2]何永义.基于PSoCTM片上系统的原理与应用[M].上海:上海大学出版社,2003. [3]丁承君.基于IPC的智能移动机器人控制系统[J].控制工程,2003. [4]L.Huang,W.Yu,S.K.Jhajharia.Speed Control of Differentially Driven Wheeled Mobile RobotsTracking and Synchronization[J].IEEE Instrumentation an d Measurement Technology Conference.VAIL,CO.USA.2003,20-22. |
|||||
| POSC专栏录入:dycxin 责任编辑:dycxin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 没有相关POSC专栏 |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | | 设为首页 | 购买方法 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 联系我们 | 网络答疑| | | |||
|