找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 智能吸尘机器人设计方案

[复制链接]
admin 发表于 2013-3-22 02:39:01 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  吸尘机器人作为服务机器人领域的一个新产品,结合了机器人和吸尘器技术,能在无人看守情况下轻松地完成室内环境的吸尘等清洁工作,越来越受到人们的欢迎。

   
  其结合了机器人和吸尘器的核心技术,能在无人看守情况下轻松地完成实现家庭、宾馆、写字楼等室内环境的全自动清洁。虽然自主吸尘机器人已经形成产品并推向了市场,但其性能还有待进一步提高。
     作者在结合传统的行为技术和传感器技术的基础上,选取最有效的行为搭配构建了整个系统,使整个系统的工作效率较传统的随机覆盖有了很大的提高。
     l 基于行为
     Rodney Brooks在1986年发表的论文中提到的包容式结构表明了基于行为的编程方法的正式起源。包容式结构:在进化过程中,人类永远不会丧失比较低级的和原始的大脑工程,而高级功能则在此基础上进行添加,因此在每个人的大脑内部都保留有类似于爬行动物的低级意识残余。与此类似,采用基于行为的方法需要为机器人设计一系列简单行为(所谓的行为也就是通过感知信息控制执行过程的算法),这些行为相互协调和协作,产生所需求的机器人整体行为。系统的行为并不是完全确定的,而是包含了很多随机的东西。执行过程并不十分稳定,但系统的整体行为是非常稳定的。基于行为的机器人将尽可能地将传感器信息同执行过程直接连接。具有很强的反射性:只要机器人对相关环境做出了判断,就立即采取行动。一有信息就立即据此动作。
     2 行为设计
     行为分为2种类型:伺服行为和弹道式行为。伺服行为采用反馈控制环作为他的控制单元。弹道式行为,自始至终都会按照预先没定好的模式运行。弹道式行为的整体规划过程同实现程序代码密切相关,执行过程中的环境变化或者行为初始化过程中的任何微小错误(如噪声假信号所导致的误操作),都会给机器人带来麻烦,导致彻底失效。伺服行为具有良好的抗噪声能力,对工作过程中的其他微小故障也具有较强的容错性。 本文的行为采用有限状态机(Finite state Machine,FSM)使能够更方便地理解系统工作过程,从而可以容易地编写系统实现代码。
     2.1 巡航行为
     巡航行为是一种最简单的预定义行为,该行为具有两个参数:左轮速度和右轮速度。在每个运动时步内,巡航行为都要求左右两个驱动轮的速度被设定为指定值!  
     2.2 沿墙行走行为
     机器人借助左右两个红外接近觉传感器能够执行沿墙行走操作。它与逃离行为非常相似,它也起始于开始状态start,并且保持该状态,直到左侧或者右侧物体接触到接近觉传感器,该行为就会进入左侧有墙状态或者右侧有墙状态。然后控制机器人向左或者向右行驶。当执行有墙状态沿曲线前进时,如果转向太大以至于相应的接近觉传感器不再能检测到物体,那么机器人将进入左墙迷失状态或者右墙迷失状态。左墙迷失状态将会驱动机器人向左前方行驶,右墙迷失状态状态将会驱动机器人向右前方行驶。直到某个传感器触发,将会返回到左侧有墙或者右侧有墙状态。如果墙壁迷失状态超过设定时间,沿墙行走行为将会彻底返回到开始状态。此进程和逃离等行为必须是并行操作。如图1所示:
    2012110705233327613523.jpg
     2.3 归航行为
     归航行为试图驱动机器人到达某个光源位置。只要机器人的光电传感器检测到某个光源,机器人使自己对准光源,然后再进行前进操作就能完成整个归航过程。机器人对准光源进行快速调整由某个增益参数决定,而速度参数决定了机器人行驶过程的快速性能。 机器人前进的同时旋转,旋转角度ω=k(L一R),其中k为增益参数;L,R为红外接受器接收到的接受信号强度。当机器人电量不足时,机器人未必处于充电的房间,因此检测不到红外信标的信号,此时应触发沿墙行走行为使机器人走到能检测到信标信号的房间再触发归航行为。如图2所示。
    2012110705233329175524.jpg
     2.4 逃离行为
     逃离行为时一种弹道式行为,执行三步操作:后退,旋转和前进。该行为具有三个参数,分别对应三步操作的执行时间长度:t-backup,t-spin,t-forward。逃离行为以有限状态机的方式实现,每个操作对应行为的一个状态,因此,行为的命令请求完全取决于行为的状态。当行为进入某个状态的时候,开始为该状态进行计时;一旦经过了指定的时间,该行为就会转换到下一个状态。
        逃离行为的初始状态为开始状态start,此逃离行为不会执行任何操作,直到机器人与某物体发生碰撞后,该状态转换为后退状态back-up,经过t-backup后,后退状态结束,行为开始进入左转spin-lift或者右转spin-right状态,这两种状态都能够控制机器人向相应的方向进行t-spin秒的原地旋转操作。当旋转完成后,此时,机器人将会执行t-forward秒的前进操作,然后返回至开始状态。如图3所示。
    2012110705233338550525.jpg
     2.5 防堵转行为
     在增益参数为正值的情况下,蔽障行为能够在右侧红外接近传感器的感知信号有效的控制机器人向左前方行驶;反之相同。按照这种工作方式,蔽障行为能够使机器人避开所遇到的障碍物。如果增益参数的值为负值,机器人将会向正对障碍物的方向行驶。增益参数g的幅值大小决定了机器人运行轨迹的曲率半径大小。
     2.6防静止行为
     虚拟静止检测传感器只要通过软件实现即可。机器人在运动时各传感器的输出信息都可能在不停地变化,而一旦停止运动,所有传感器的输出信息都将保持不变。
  
     机器人的功能和运行方式决定了机器人的结构。系统结构图如图4所示。
    2012110705233343237526.jpg
     2.7 差速驱动
     差速驱动底盘通过控制2个驱动轮之间的运动差异来控制机器人的整体运动。无论多么复杂的运动都可以分解为平移运动和原地旋转运动。图5为差速驱动模型,描述了2个驱动轮的速度同机器人曲率半径之间的关系,曲率半径为rL=VLW/(VR一VL)。当两个驱动轮的旋转速度完全相同时.半径rL的值将趋于无穷大,此时机器入沿直线行驶的过程可以理解为机器人沿某个半径为无穷大的圆的旋转过程;当左轮速度为O时,rL等于0,机器人将会围绕左轮进行原地旋转操作,此时vL=v,Vr=wW+v;当左右2个轮子的速度相同而符号相反时,机器人将会围绕着自己的中心位置进行原地旋转(rL=w/2)。差速驱动机器人可以围绕2个驱动轮轴心连线上的任意一点进行旋转操作(包括机器人本体外的点)。负半径表示机器人沿弧线方向逆时针行驶;正半径方向表示沿弧线方向顺时针行驶。
     3仲裁器设计
     在某个时刻仅有一个行为触发,系统能够比较平稳地运行。但当多个行为同时触发,并且每个行为都需要机器人执行不同的操作时,机器人就需要利用仲裁机制来妥善处理这种关系。这里采用固定优先级仲裁,每个行为都被惟一地赋予一个优先级值,冲突发生时,执行优先级高的行为。行为在发出控制请求后,需要知道自己是否已经得到仲裁器的批准。仲裁器带有一定的输出,每个行为都赋予一个惟一标识符(ID:Identifer)。仲裁器输出仲裁获胜行为的标识符。每个行为通过将自己的标识符同仲裁器输出相比较,能够确定出自己是否已经拥有了对仲裁资源的控制权。
     机器人在运行时,环境存在很多不可控因素,机器人的实际运行方式与所期望的有很大差异,有时传感器彻底失效,有时在信息检测过程中经常出现漏报和误报错误(漏报是指当环境中存在某种传感器应该能够检测到的信息时,传感器却检测不到;误报则是指传感器所检测到的信息在环境中是不存在或不正确的)。尽管在重要信息损失或者运动控制命令变质的情况下,性能会受到一定程度的影响,机器人程序也应该能够尽其可能地做到最好,而不是完全彻底地瘫痪。在子系统发生错误或者工作失败的情况下,系统这种能够降低水准继续工作的能力被称为优雅降级。本文设计的机器人具有完善的优雅降级功能。在碰撞传感器失效的情况下,防堵转和防静止行为将保证机器人继续完成任务。
     4机器人仿真及分析
     对以上提出的基于行为吸尘机器人设计方案进行仿真,机器人采用随机覆盖的模式,不知道自己的具体位置,因此不可避免地会再次访问已访问过的某个区域。机器人的覆盖率=(1-e-t/a)其中,f为时间变量;a为一时间常数。表明了机器人在不访问旧区域的情况下进行确定性覆盖所花费的时间。通过实验仿真运行情况来看,本文的设计方案完全可以满足要求。虽然随机覆盖方法没有确定性覆盖的低重复性,但他却能避免确定性覆盖所带来的价格、复杂性以及系统脆弱性问题。
     5 结 语
     由于机器人的行为不同,不采用价格昂贵的单一类型传感器去获取难以达到的精度和可靠性,而是综合使用多个可靠性相对来说比较差一些的传感器系统,通过这些系统之间的优势互补使机器人具有更强的鲁棒性。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-23 17:25 , Processed in 0.060712 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表