导购机器人计划书,导购机器人,机器人导购员,国内有机器人导购员么 QQ空间素材网 > 服装导购工作计划书 > 导购机器人计划书,导购机器人,机器人导购员,国内有机器人导购员么 正文

导购机器人计划书,导购机器人,机器人导购员,国内有机器人导购员么

发布时间:2013-07-09 来源: 服装导购工作计划书

冰箱、洗衣机、手机、个人电脑一样的家庭必备品. 能“吃”会“舔” 在京城某大型超市有这样一款能够伏地爬行的圆形智能机器人,导购员介绍,之所以说它智能,是因为它能...

中国科技大学第十三届 RoboGame 机器人大赛 参赛计划书 队伍名称:A 杖地卜师 所在院系:工院九系 参赛内容:机器人导购 负责人姓名:何启明 负责人电话: 队员信息: 职 务 队 长 队 员 队 卢强 曹龙轩 何启明 PB1100 9 PB1100 9 PB1100 luqiang@mail.ustc @mail.ustc.edu.cn @mail.ustc.edu.cn 姓名 学号 手机 学校邮箱 1 员 队 员 队 员 杨金钊 成亚能 9 PB1100 9 PB1100 9 .edu.cn @mail.ustc.edu.cn @mail.ustc.edu.cn 指导老师: 承诺书 组委会承诺:

我们组委会保证及时解决各参赛队就比赛相关问 题提出的疑问,为各参赛队的制作计划等保密,公正 处理机器人比赛相关事务,选拔优秀成员担任比赛裁 判,保证裁判的公正。

组委会负责人(签字): 2 2013 年 5 月 22 日 参赛者承诺:

我们队承诺对本人填写的各项内容保证是本队的 原创,没有抄袭他人。

我们保证以本承诺为有约束力的协议,遵守中国 科学技术大学第十三届 robogame 组委会的有关规 定,认真进行机器人的设计制作等工作,就比赛相关 问题积极与组委会交流,服从组委会的活动安排与最 终裁判。

对于由本队引发的一切不良后果由本队承担相 应责任。

参赛队员(签字):

何启明 3 曹龙轩 卢强 杨金钊 成亚能 ——2013 年 5 月 22 日 序:

战队简介 队伍取名渊源:地卜师生活在黑森林中,最初被赫尔 马尼的异族所崇拜的神 Meepo,是个淘气的小土 灵。身体偏小的土精一点也不弱小,造世主给予了他 们过人的智慧。它的强大在于它“分则能成”的强力大 招,出 A 杖后五只精灵一起进攻更是强大到不可思 议,我们战队的五个人就代表了这五精灵。 4 战队宣言:五只精灵团结一致,同进同退,我们相信 在队长的带领下我们一定能发挥出“分则能成”的强大 力量,秒杀一切,马到成功! 战队分工:何启明:程序设计及调试 曹龙轩:程序设计及调试 卢强: 机械设计,加工及调试 杨金钊:程序设计,加工及调试 成亚能: 电路设计及调试 一.机械部分 1. 机器人总装配图 主视图: 5 6 俯视图: 7 侧视图: 2.机器人各零部件介绍 2.1 三角钢 8 我们机器人的构架由三角刚来搭建,三角钢较易 购买,易打孔与其他构件连接,而且性能稳定。

三角钢: 2.2 底框 底座俯视图: 9 底座主视图: 10 上面是底座的俯视图和主视图,是 50cm 乘 50cm 的方形结构,由三角钢搭成。

2.3 轮子 底座框架前面和后面的正中间有两个从动轮(万 向轮),20mm 的宽度,类似超市里的手推车的前 轮,起到支撑和导向的作用。

前后万向轮: 11 12 左右两侧是两个主动轮,用俩控制行走和转向, 每个轮子分别用一个电机控制。

左右主动轮: 转向轮和电机和底边三角钢: 13 2.4 机器人直线行走及转向问题 当左右轮子转速相等时,机器人走直线。在机器 人转弯的问题上,我们采用原地转的方式,即机器人 向左转时,左侧轮子反转,右侧轮子正转,同理,机 器人右转时左轮正传右轮反转。用原地转能很好地控 制机器人的位置,不至于在转弯过程中机器人因发生 位移而使后面的运动跑偏。

底部是一块铁板,铺在方形框架上,用来放电机 等其他东西。 14 底板: 从底边框架的立起四个三角钢的竖直杆,用来支 撑其他结构。在杆的中部和顶部会搭建两个平板,中 部的平板用来放置传送带的电机和篮子,顶部的电机 用来丝杠电脑及其它的一些东西。

2.5 底座加杆 15 底座加杆后视图: 支撑平板用的是与竖直丝杠焊接的三角铁。

2.6 三角铁及固定 三角铁: 16 三角铁固定于三角钢上: 2.7 电机 下面介绍一下电机和传送带分类装置。 17 电机简介: 电机固定板: 18 我们的机器人总共需要五个电机,左右两个轮子 各一个,传送带两侧各一个,还有一个用来收放绳 子。

2.8 分类装置介绍:

我们用传送带的传送来完成分类任务。

传送带左侧和右侧各焊接一个矩形铁框,框下吊 着一个布袋子,布袋用来缓冲压力,以免物品落下后 摔碎。

传送带电机的正传和反转由程序控制,电机带动 传送带向左或向右转动,从而使放到传送带上的物品 掉到左侧(生活类)或右侧(食品类)的篮子里,达 到分类的目的。 19 本来我们打算只用一个电动机,另一个带轮用从 动轮,但考虑到一个电机可能动力不足,最后决定两 侧带轮均由电机控制。

传送带装配图: 下面详细介绍一下传送带这一部分用到的各个部件: 传送带履带: 20 传送带带轮: 传送带履带和带轮: 21 传送带固定 1: 传送带固定 2: 22 传送带装配图及固定: 23 左右分类框及固定板: 2.9 提篮装置 下面介绍机器人完成导购任务后,最后一步走向 收银台将货物打包并提到收银台上的过程。

由于我们的传送带分类装置已经直接把两类物品 分别放到两个购物袋里面,所以机器人下面只需将购 物袋从篮子里面提出即圆满完成了任务。

我们设计用一个丝杠来完成提袋的任务。购物袋 放在篮子里,两个袋口用一根线穿起来(不系),与 左右两侧连接的两根线最后均通过一根总线与丝杠连 接。 24 丝杠上面还有一节杆,杆端有一个定滑轮,总线 通过定滑轮连接到下面的一个电机,通过电机的转动 来控制总线的收放,从而来完成购物袋提起和放下的 任务。

丝杠水平放置,可以前后运动。机器人到达收银台 后,在完成提起购物袋的过程中,丝杠往前伸,同 时,控制拉绳子的电机开始转动,使绳子开始收缩。

这两个部分的综合作用,能使购物袋同时提到收银台 的上方,最后电机反转,绳子伸长,购物袋放到桌面 上,即圆满完成任务! 下面具体介绍一下提篮的装置:

2.9.1 提篮工具总图: 25 2.9.2 丝杠和电机: 2.9.3 混合步进电机 86BYGHS: 26 该电机放在丝杠的一端,电机转动来控制丝杠的 前伸和后缩,从而来完成提袋和放袋的过程。

2.9.4 定滑轮: 27 我们需要两个这样的定滑轮,一个固定在丝杠的 前端,另一个固定在框架的上平的下方。

滑轮固定 1: 滑轮固定 2: 这个滑轮固定装置相当于一个轴承,把滑轮固定 在滑轮固定 1 当中。

2.9.5 拉绳电机 28 下面讲一下转动电机部分。

拉绳转轴: 上面是拉绳转轴,中间有一个洞,绳子从洞中穿 过。该转轴与电机相连,电机固定在中间的平板上。

电机转动时带动拉绳转轴旋转,从而达到收缩绳子的 目的。

拉绳电机及固定: 29 在机器人完成任务的过程中,需要电脑随时控 制,电脑放在框架中部的平板上。

2.9.6 电脑: 3:重要步骤介绍 以上,我把机器人地卜师每个机械部分及其工作 原理都做了详细介绍,下面具体介绍一下机器人执行 任务两个重要步骤的动作。

3.1 重要步骤一:物品分类 30 在分类过程中,人取物品后放在传送带上,机器 人的程序控制传送带电机旋转,物品即落入左边或右 边的框中,完成分类任务。

机器人在进行物品分类: 31 3.2 重要步骤二:提袋过程 在完成所有的导购任务后,机器人走到收银台前 面,机器人转向,正面面对收银台。然后开始完成提 袋任务。

购物袋很难用 solidworks 画图画出来,就简单 地用一个立方体代替。

在该过程中,固定在框架中部控制拉绳的电机开 始转动,绳子收缩,两个购物袋同时从左右两侧的框 中被提到半空中。 32 机器人在提袋: 3.3 重要步骤三:放袋过程 最后,控制丝杠的电机转动,丝杠前伸,同时控 制拉绳的电机反转,使绳子略微放长。两个购物袋被 放到收银台的上空。 33 然后,控制拉升的电机继续反转,绳子伸长,购 物袋被到收银台上,本次比赛任务圆满完成! 二.程序部分: 程序的目的是让机器人自主完成导购过程与跟随过程,以 及最后的分类与装袋过程,现分不同的阶段逐一讨论: 1.导购阶段 34 导购阶段要求机器人自主寻找已经设定好的商品位置,主 动前往并且绕过路上的障碍(可能是绕过障碍,或者直接 换路行走)。分析可知,该阶段的重点是机器人自动生成 最优路径,并且在最优路径检测到障碍物之后,重新生成 最优路径,并沿着新生成的路径行走。

考虑到现行流行 rpg 游戏人物定位方法可以应用到路径自 动生成中,我们预在游戏人物定位算法的基础上编辑机器 人自定位算法。游戏中人物当前位置被记录,如果鼠标指 向已经储存在电脑中的地图某处,计算机就会自动生成最 优路径并且命令人物沿着生成路径行走。如果人物行走过 程中遇到移动型障碍(我们称之为卡位)一直挡在路径前 方,电脑就会随时更新生成最优路径,绕开障碍达到目的 地。在最优路径设计过程中,依靠先验地图(可行路线与 不可达位置)和后验勘测(发现障碍并生成新路径)的算 法可以应用在机器人实践中。这种算法被专业人士称为 A 星算法。

A 星算法简介:首先将地图分为不同的节点,储存节点与 相邻节点的关系,将地图中不可达的地方设置为死节点。

其次,从起始点开始检索相邻活节点,并计算相邻节点的 G 值与 F 值。 35 如上图所示,G 值可以看做从绿色节点到周围节点的距 离,H 值是可以看做相邻节点到目的地红色节点的距离。

在计算 G 值时,正向相邻记作 10,斜向相邻记作 14 (1.414 倍),之所以不用小数是考虑到计算机执行效率。

而计算 H 值时采用简单的曼哈顿算法(移动像过街道一样 只有横向与纵向位移),每经过一个格子加十,死节点也 需计算进入。这样在上图的节点中生成了 F=G+H 值(左上 角 F,左下角 G,右下角 H),选取 F 值最小的节点,重 复检索该节点的相邻节点(父节点不予考虑以免重复检 索)。这样重复下去就可以生成一条相对较短的路径 36 如上图所示就是 A 星算法生成最短路径的过程。A 星算法 避免了深度优先和广度优先算法的遍历,也避免了狄杰斯 特拉算法的繁琐,用较简单的方法找到了类优路径。

下面给出 A 星算法的伪代码实现:

heap.add(firstnode) openlist do { fleast=heap.pop();

//将开始节点加入堆,同时也是加入 //从 openlist 取 fcost 最小的元素 current=fleast;

//取出的元素作为当前节点 fleast.flag=1 //1:on close 0:not on open nor on close for(int i=current.x-1;i<current.x+1;i++) //考察当前节点的 所有相邻节点 for(int j=current.y-1;j<current.y+1;j++) { if(map[i][j]!=unwalkable||!onclose(node(i,j))) 点可通并且没有考察过 { 37 //相邻节 if(!onopen(node(i,j))) { heap.add(node(i,j));

节点 node(i,j).calculate(f,g,h);

if(node(i,j)==dest) //相邻节点不在 openlist 中 //加入 openlist node(i,j).parent=current;

//设置相邻节点的父节点为当前 //重新计算 fcost,gcost,hcost //如果加入的节点是目标点则找到 路径 path=find;

} else { temp.gcost=parent.gcost+addcost;

//相邻节点已经在 openlist 中 node(i,j).hcost=10*(abs(i-parent.x)+abs(j-parent.y));

node(i,j).fcost=node(i,j).gcost+node(i,j).hcost;

if(tempgcost<node(i,j).gcost) node(i,j).parent=current;

node(i,j).recaculate(f,g,h);

//重新计算 fcost,gcost,hcost } } }while(!hp.isempty()) //如果堆空则没有找到路径 if(path==find) outpath;

//输出路径 else cout<<"path not find;!"<<endl; 38 A 星算法应用在本次机器人制作需要以下几个工作:

1.1、地图的划分 A 星算法需要知道地图的分布,因此合理将场地划分是执 行程序的第一步。考虑到现实情形,机器人有碰撞体积, 并不能将场上所有的空地设置为活节点,可以设置机器人 型心为质点,考虑该型心所能到达的地方,如果机器人型 心超出此范围,则其边界有可能碰到货架或者场地边界, 地图的分块是建立在此范围之内,下图显示了计算过机器 人大小的型心运动区域分布图,其中阴影部分就是机器人 的型心可以到达的区域。 之后在这个区域上划分小块,考虑到机器人绕障碍的精度 要求,我们将可行区域划分为 200X200MM 的小区域,以 39 区域中心作为节点所在位置,如下图所示,所画区域恰好 分成诸多小块 1.2、节点的储存 为了避免不稳定性,我们设定机器人只能沿节点横向 或纵向移动(G 值不能为 14),将每个节点与其邻居节点 用结构体储存,结构体应该包括节点编号,节点死活,节 点邻居指针,节点中心坐标等元素。

1.3 节点的定标 我们拟采用加速度计与陀螺仪判定机器人当前位移与身 姿(详见电路部分)加速度的积分是速度,速度的积分是 位移,只需知道水平面上的加速度,通过计算机的积分运 算可以得到位移数据,只要知道机器人的具体坐标值,就 可以判定机器人现在位置属于哪个具体的节点。这对于绕 障碍以及出现故障重新开始时重新定标起到帮助作用。 40 1.4、相邻节点间的移动 控制转向的节点结构体具体包含的几个变量如下:

typedef struct{ float x;

float y;

float G;

float H;

rect R;

rect L;

rect T;

rect D;

//该方块的 x 坐标 //该方块的 y 坐标 //该方块的 G 值 //该方块的 H 值 //该方块的右邻方块(right) //该方块的左邻方块(left) //该方块的上邻方块(top) //该方块的下邻方块(down) //该方块的死活状态 int isLive;

Int N }*rect; //该方块的编号 为了使机器人能够判断怎样走到相邻的方块(如应该先旋 转多少角度后再移动),则机器人必须先知道自己现在的 朝向(朝向可以通过之前走过的路径判断,如果出现故 障,可以采用电子罗盘辅助寻找朝向,具体见电路部分) 为此,我们将四个方向标记为不同的值以资区分,各个方 向对应的值如下图: 41 设机器人当前朝向方向的值为 direct,则机器人要走到 R 方 块(右邻方块),则需要顺时针旋转的角度为:

angle= (direct%4-1)*(-90)%360; 下面为各个值对应的顺时针旋转角度:

若 direct==1,则 angle=0*(-90)%360=0; 若 direct==2,则 angle=1*(-90)%360=-90; 若 direct==3,则 angle=2*(-90)%360=-180; 若 direct==4,则 angle=(-1)*(-90)%360=90; 同理可以得到要走到 T 方块需要顺时针旋转的角度:

angle= ((direct%4-1)*(-90) - 90)%360;

同理可以得到要走到 L 方块需要顺时针旋转的角度:

angle= ((direct%4-1)*(-90) - 180)%360; 42 同理可以得到要走到 D 方块需要顺时针旋转的角度:

angle= ((direct%4-1)*(-90) + 90)%360;

当角度转完后,再前行 200mm 即可到达下一节点 这样就可以从一个节点移动到它任意邻居节点。 1.5、卡位节点的删除 如果机器人在行进过程中偶遇障碍物,需要将障碍物所在 处的节点删除并重新生成最优路径(绕障碍或者换路)。

首先发现障碍并且确定障碍位置和障碍所在节点(发现障 碍的算法见程序部分的识别板块),之后并不能简单删除 该节点,如果只删除单一节点有时并不能生成符合实际的 最优路径。 43 如图,假设机器人处于蓝色方块的位置检测到障碍物的存 在,如果仅删除一个节点,其余节点仍然可以行走,则机 器人可能走到如图所示位置,会碰到障碍 因此为了保证行走的可行性与避障不碰障碍的要求,我们 采用以下方法:首先检测到障碍中心所在节点,其次删除 其所有相邻节点,删除相邻节点时检测相邻节点的相邻节 点(邻居的邻居),如果邻居邻居节点中心到障碍中心的 横坐标(或纵坐标)之差的绝对值小于 400mm,就将该节 点删除,否则不删除。改进以后的删除方式见下图 44 这样机器人若想到对面去只有一条路可以选择就是绕道 (我们设定机器人转向只能原地旋转再前行)。经多次测 试,这种方法可以保证准确删除障碍节点,并完成绕路算 法。如果路被堵死的情况: 机器人前行检测到障碍并删除节点 45 机器人重新生成最优路径并转向。

3.商品的定位 商品的位置可以对应到相应最近的节点上,由于我们分块 的时候已经照顾到商品的位置,故只需将机器人目的地设 置在商品旁边的位置,这样也方便机器人接近货架 200mm 以内 46 如图绿色框图所在节点就是商品所在的节点,可以将商品 编号与节点进行一一映射,从而让机器人方便的找到目的 地。

综上,我们可以对基于 A 星算法的导购过程进行一个概 述: 1、开始时机器人 受到指令,了解 商品节点位置 2、机器人生 成最优路径并 按照路径行走 3、机器人发现 障碍,将障碍位 置节点删除,重 新生成最优路 径,再次遇到障 碍之后重复删除 步骤和最优路径 生成步骤 5、报 价,导 购阶段 结束 4、机器人到达商品位置,移 动到与商品间距不超过 200mm 处,重复 2 过程寻找 下一物品 47 2、跟随部分: 跟随部分不再需要机器人自己寻找最优路径,而是只 要跟着人走就可以了,因此也就不再需要使用划分的方 块,考虑到前后的一致性,机器人按照如下图的路径行走 比较合适(与导购阶段的路径相比只是将方块去掉了): 跟随阶段有几个主要的问题需要解决:

2.1.识别人和障碍。识别需要摄像头。但由于导购阶段人跟 随在机器人后方,因此机器人只需要通过超声波传感器测 出与人之间的距离,就可以通过调整自己的速度来达到距 离上的要求,这样来看机器人后方并没有安装摄像头的必 要。而跟随阶段机器人需要跟随着人行走,并且还有可能 遇到障碍,因此机器人前方一定至少有一个摄像头,以识 别人和障碍。 48 2.2.测量与人之间的距离以及与障碍之间的距离。机器人通 过超声波传感器测量与人之间的距离。但是由于超声波传 感器基本上只能测量与它正对的物体的距离,而机器人需 要测量的人的位置不是固定的,因此在机器人上安装多个 超声波传感器是必要的;由于测量与障碍之间的距离是非 常重要的(这涉及到导购阶段的挖掉死方块),为了保证 尽可能准确地测出机器人与障碍之间的距离,我们通过双 目识别来测量,这需要机器人前方有两个摄像头。这些装 置我们认为按下图(俯视图)放置比较合适。 其中前方的两个摄像头的高度在 500mm(障碍的高度) 以下,通过双目识别技术,这两个摄像头可以比较有效精 准地识别圆柱体障碍物到机器人的距离。由于人的中心位 置不好测定,因此我们不打算也用双目识别来测量机器人 与人之间的距离,而是通过超声波传感器直接测量。由于 测量人的上半身的距离比较容易,因此前后的超声波传感 49 器都放置在机器人的顶部,这样可以达到人的腰部的高 度;由于安装在机器人前面(后面)的超声波传感器之间 的距离为 200mm,超声波传感器与机器人边缘的距离为 150mm,而人的腰部宽度一般大于 200mm,因此可以保证 在跟随过程中只要人大致在机器人前方时,就能保证至少 有一个超声波传感器是正对着前方的人的,如下图所示: 在导购和跟随过程中,只要人的中心位置在上图所示两条 绿色虚线范围之内,机器人就能比较准确地测定与人之间 的距离。由于超声波传感器有一定的发射角(约 15°),因 此图中所示范围与实际相比还要略小一些。

跟随阶段的大致流程图如下: 50 跟随阶段 开始 机器人跟随人走, 并保持与人之间的 距离为 400~500mm 人转弯时机器人记下最后 一次测出的人的位置,并 在最接近此位置的路径上 转弯 人向下一个 商品的位置 出发 人取下商品交与 机器人并通过机 器人获取价格 机器人识别出人到达货 架旁停下,机器人到达 商品旁边停下等待人取 放商品 人取完商品 后向收银台 出发 机器人跟随人到 达收银台区,并 停在指定的位置 跟随阶段结 束 分类装袋与报价过程 由于已知商品分为食品类与生活类两种,机器人需要准确 区分两种商品,并自主将其分类在不同的位置。我们的机 械结构设计留出了这种装置。简单而言,通过已经储存在 电脑中的商品位置来判断商品种类,通过带轮正反转来将 放置在平台的商品转送到不同的袋子中。

导购阶段商品的位置是提前输入给电脑,而跟随阶段的商 品由摄像机识别条形码,由电脑将条形码信息与商品信息 对应并顺利完成计算与报价、分类等过程。下简单介绍条 形码的实现。

在跟随过程中,商品的识别我们决定采用条形码识别的方 案,现今的商品上都贴有条形码标识,很容易通过商品上 的条形码来判别商品的各项信息(类别,价格等)。 51 条形码(barcode)是将宽度不等的多个黑条和空白,按照一 定的编码规则排列,用以表达一组信息的图形标识符。常 见的条形码是由反射率相差很大的黑条(简称条)和白条 (简称空)排成的平行线图案。

条形码的扫描需要扫描器,扫描器利用自身光源照射条形 码,再利用光电转换器接受反射的光线,将反射光线的明 暗转换成数字信号。不论是采取何种规则印制的条形码, 都由静区、起始字符、数据字符与终止字符组成。有些条 码在数据字符与终止字符之间还有校验字符。关于识别的 部分,我们可以采用摄像头的拍照传输给计算机,然后通 过特定的识别软件将分析得出的结果传给单片机,从而达 到机器人识别商品的目的。

相对于手动输入,条形码识别主要有以下几点好处:

1.输入速度快:与键盘输入相比,条形码输入的速度是键 盘输入的 5 倍,并且能实现“即时数据输入”。

2.可靠性高:键盘 输入数据出错率为三百分之一,利用光 学字符识别技术出错率 为万分之一,而采用条形码技术误 码率低于百万分之一。

机器人需要实现的另一项任务是计算总价并报价,我们计 划用扩音器让机器人发声,机器人将每件已购产品储存并 计算出总价值并通过电脑传输指令播放音频,通过扩音器 发出声音。该过程用简图表示如下 52 获取商品(导 购阶段直接了 解商品信息) 条形码识别商品 (导购阶段记录 所选商品) 语音播报当前商品 名称,现有商品总 价,并由机械系统 进行分类 3.基于双目视觉的障碍识别系统 由之前的循迹算法可知,定位绕路等算法的核心在于如何 准确识别障碍物所在的节点,我们考虑使用计算机视觉中 的双目视觉来实现对障碍物的识别。

双目立体视觉,即由不同位置的两台或者一台摄像机 (CCD)经过移动或旋转拍摄同一幅场景,通过计算空间点在 两幅图像中的视差,获得该点的三维坐标值。

当一个摄像 机拍摄图像时,由于图像中的像素点坐标相对于真实的世 界坐标并不是唯一的,这就造成深度信息的丢失。然而用 两个摄像机同时拍摄图像时,可以获取同一场景的两幅不 同的图像,通过三角测量原理计算图像像素间的位置偏 差,复原三维世界坐标中的深度信息。融合两只眼睛获得 的图像并观察它们之间的差别,使我们可以获得明显的深 度感,建立特征间的对应关系,将同一空间物理点在不同 图像中的映像点对应起来,这个差别,我们称作视差 (Disparity)图像,如图。 53 以下对双目视觉原理进行简单阐述:

立体视觉系统由左右两部摄像机组成。如图所示,图 中分别以下标 l 和 r 标注左、右摄像机的相应参数。世界空 间中一点 A(X,Y,Z)在左右摄像机的成像面 Cl 和 Cr 上的 像点分别为 al(ul,vl)和 ar(ur,vr)。这两个像点是世界空间 中同一个对象点 A 的像,称为“共轭点”。知道了这两个共轭 像点,分别作它们与各自相机的光心 Ol 和 Or 的连线,即 投影线 alOl 和 arOr,它们的交点即为世界空间中的对象点 A(X,Y,Z)。这就是立体视觉的基本原理。 54 在平行光轴的立体视觉系统中,左右两台摄像机的焦 距及其它内部参数均相等,光轴与摄像机的成像平面垂 直,两台摄像机的 x 轴重合,y 轴相互平行,因此将左摄像 机沿着其 x 轴方向平移一段距离 b(称为基线 baseline)后 与右摄像机重合。

由空间点 A 及左右两摄像机的光心 Ol、Or 确定的极平 面(Epipolar plane)分别与左右成像平面 Cl、Cr 的交线 pl、pr 为共轭极线对,它们分别与各自成像平面的坐标轴 ul、ur 平行且共线。在这种理想的结构形式中,左右摄像机 配置的几何关系最为简单,极线已具有很好的性质,为寻 找对象点 A 在左右成像平面上的投影点 al 和 ar 之间的匹配 关系提供了非常便利的条件。 55 将上述原理应用于计算机识别还需要进行特征点匹配,特 征点匹配分为稀疏点匹配和密集点匹配,由于本次任务对 识别对象形状要求并不高(红色圆柱体),并且只需要定出圆 柱体型心所在的坐标值,故只需采用基于窗口的稀疏点匹 配。下面将结合圆柱实物简单介绍特征匹配的方法并定出 型心。 56 实验所用的圆柱 对上述识别图像进行轮廓提 取 由于图形轮廓具有很好的连续性,在一些弱角点的地方无 法提取到角点却可以提取到轮阔点。

提取到特征点以后,以左摄像机的图像为参考对象,对右 图进行匹配,用极点坐标法中的向量夹角匹配的方法计算 两图同一行特征点的 cos 值,将取值最大且大于 0.9 的特征 57 点作为对应匹配点,两个点 x 坐标差值为视差值,视差越 大则三维点离摄像机距离越近,反之越远。 d1 ? d min I p ? 255? d max ? d min 上式中的最大视差 d max ,最小视差 d min ,则视差图中的灰 度值 I p 就可以帮助计算出视点离摄像头的距离。

在获取多个视点之后,就是圆柱型心的判定。 上面通过灰度值算出了圆柱边缘到摄像机的距离,为了简 化起见,我们现将机器人视为质点,计算出圆柱的位置, 如下图: 设测出的机器人到圆柱边缘的距离为 d1,圆柱半径为 r(已 知量),设圆心到摄像机的距离为 x,则由勾股定理容易得 到:

x^2 = (d1^2-r^2), 又因为 h 为已知量,则圆心到摄像 58 机的水平距离 s = x^2+h^2 = (d1^2+h^2-r^2)^0.5,摄像机 的位置是已知的,则圆柱圆心的坐标也就很容易得到,为 (x 摄-s , y 摄+h)。 三.电路部分 1.电路总体框图: 计 摄像头 算 机 传(加速度传感 器) 感(超声波传感 器) 器(电子罗盘) 外围 电路 移动系统 功 能 机械臂系统 单 片 机 传送带系统 实 现 59 2.电源电路: 鉴于这次的机械部分较为复杂,简化后可以将电 源分为三部分。其一,是为传感器,单片机这类低功 耗器件提供电力的电源;其二,是为机器人下部的移 动部分以及机械臂牵引绳子的部分提供电力的电源; 其三,是在机器人上部平台处提供机械臂丝杠部分以 及传送带部分电力的电源。这三处电源我们决定采用 一个三端子稳压器变压来给低功耗器件提供电力,其 余电机的可以使用两个电池分别在机器人的上,下方 供电。

正电压输出的 78 系列的三端稳压集成电路输出的 电压范围是 5V~24V,可以在选购时挑选出符合需求 的规格 下图为 TO-200 封装的 78 系列恒压电路芯片 60 从左至右三个针脚依次对应 INPUT,COMMON 以及 OUTPUT 下图为下位 7805(输出电压为 5V)原理图: 61 3.控制电路: 由于传感器的数目和种类较多,运算较为复杂, 所以我们决定采用计算机与单片机联合控制的方法。

计算机方面,我们将把诸多传感器(超声波,加 速度等)所得到的信息传递给计算机,由计算机程序 得出最优算法,并传递给单片机。具体的算法实现过 程见程序部分。

单片机方面,根据往年的经验及性价比,可以采 用基于增强的 AVR RISC 结构的 ATmega 16 单片 机。

下图为 ATmega 16 单片机的引脚图: 62 相对于其他的单片机,ATmega16 具有高性能, 低功耗的特点。它具有先进的 RISC 结构,以及非易 失的程序和数据存储器。它的内核具有丰富的指令集 以及 32 个通用工作寄存器,工作于 16MHz 时,性 能高达 16MPS,大大提高了代码效率。同时它具有 32 个可编程的 I/O 口,完全可以满足本次机器人的 设计需求。 63 4.移动系统: 由于机器人的行进过程较为复杂,转向和定位需要 精确,所以应当采用直流伺服电机,并相应的要求电 机的功率放大器具有良好的电压调节特性。现在最常 用的功率放大器为桥式 PWM 功放电路,及 H 型功 放电路。

下图为双极性桥式 PWM 晶体管放大器的结构图:

由左图可以看出, H 型结构的晶体管按 Q1、Q4,Q2、Q3 配 对工作。Q1、Q4 导通 则 Q2、Q3 截止,反 之 Q2、Q3 导通则 Q1、Q4 截止。实际工作时,要 靠在晶体管上施加不同的占空比的脉冲信号来控制电 机的正反转。显然两路不能同时导通,故若 Q1、Q4 的导通时间比 Q2、Q3 长,则电机正传,反之则电 机反转,导通时间相等则电机停止不动,从而实现对 电机的控制。 64 而市场上最常见的基于 H 型功放电路的驱动芯片就 是 L298N 驱动芯片了。L298N 内含两个 H 桥的高电 压大电流双桥式驱动器,可以驱动 46V、2A 以下的 电机。

下图为采用 15 脚 Multiwatt 封装的 L298N 的管脚示 意图: 其中,2、3 脚,13、14 脚可分别输出控制两个直流 电机,5、7 脚,10、12 脚可由单片机向驱动芯片输 入控制信号,从而对两个电机进行控制。

下图为其使能、输入引脚、输出引脚的逻辑关系。 65 5.机械臂部分 由于丝杆部分需要完成推进的任务,需要很高的 精度,并且不需要很高的速度,所以采用混合式步进 电机来作为丝杆滑台移动的动力。

步进电机驱动的速度和位移大小,可由电气控制系 统发出的脉冲数加以控制。由于步进电机的位移量与 脉冲数严格成正比,故步进电机驱动可以达到较高的 重复定位精度。由于步进电机的步距或转速不受电压 波动和负载变化的影响,不受环境(温度、压力等) 的限制,仅与脉冲频率同步,能按控制脉冲的要求立 即启动、停止、翻转或改变转速,它每一转都有固定 的步数,在不丢步的情况下运行时,步距误差不会长 期积累,所以十分适合完成写字这种精度较高的工 作。

下图为混合式步进电动机剖面图: 66 在考虑承重的条件下,我们选用 57BYGH56 型电 机,它可以提供一个较为合适的移动速度。

下图为 57BYGH56 型电机及其参数: 机身长 mm 56 重量 kg 扭 0.7 转 动 惯 量 静 300 g.cm2 相电流 A 矩 12.6 kg.cm 距 脚 2.8 步 1.8。 67 6.传感器电路 6.1 超声波传感器 机器人在行进过程中需要识别障碍物以及人的位置与 自身的距离,所以需要超声波传感器来测距。

下图为超声波传感器实物图: 超声波感应器的原理比较简单,向传感器输入至少 10us 的高电平信号,模块会自动发送 8 个 40kHz 的 方波,自动检测是否有信号返回,若有信号返回,通 68 过 I/O 输出一高电信号,高电平信号持续时间及时超 声波从发射到返回的时间,这样就可以得出测试距离 S=(高电平时间*声速)/2. 超声波传感器的主要参数为 使用电压:DC5V 电平输出:高 5V 感应角度:不大于 15 度 高精度 可达 0.2cm 由参数可以看出,超声波感应器完全可以胜任探测机 器人与障碍和人之间距离并调整的任务。

6.2 加速度传感器 在这次制作过程中采用加速度传感器(带陀螺仪)的 作用在于测算机器人走过的路径以判断机器人所在位 置并获知机器人位姿朝向。

静态电流:小于 2mA 电平输出:低 0V 探测距离:2cm-450cm 下图为加速度传感器的实物图: 69 加速度传感器的工作原理简单来说就是由于加速度产 生某个介质产生变形,通过测量其变形量并用相关电 路转化成电压输出。 规格如下:

使用芯片:MPU-6050 供电电源:3-5v(内部低压差稳压) 通信方式:标准 IIC 通信协议 芯片内置 16bit AD 转换器,16 位数据输出 70 陀螺仪范围:±250 500 1000 2000 °/s 加速度范围:±2±4±8±16g 采用沉金 PCB,机器焊接工艺保证质量 引脚间距 2.54mm 可以看出,该型号的加速度传感器可以满足机器人的 需求。

6.3 电子罗盘 使用电子罗盘的目的在于时刻找到某一确定的正方 向,使得机器人能够在需要校准方向时不至于出错, 同时配合加速度传感器可以时刻定位机器人的位置与 朝向。 下图为电子罗盘的实物图: 71 三维电子罗盘由三维磁阻传感器、双轴倾角传感器和 MCU 构成。三维磁阻传感器用来测量地球磁场,倾 角传感器是在磁力仪非水平状态时进行补偿;MCU 处理磁力仪和倾角传感器的信号以及数据输出和软 铁、硬铁补偿。该磁力仪是采用三个互相垂直的磁阻 传感器,每个轴向上的传感器检测在该方向上的地磁 场强度。向前的方向称为 x 方向的传感器检测地磁场 在 x 方向的矢量值;向左或 Y 方向的传感器检测地 磁场在 Y 方向的矢量值;向下或 Z 方向的传感器检 测地磁场在 Z 方向的矢量值。每个方向的传感器的 灵敏度都已根据在该方向上地磁场的分矢量调整到最 佳点,并具有非常低的横轴灵敏度。传感器产生的模 拟输出信号进行放大后送入 MCU 进行处理。磁场测 量范围为±2Gauss。通过采用 12 位 A/D 转换器,磁 72 力仪能够分辨出小于 1mGauss 的磁场变化量,我们 便可通过该高分辨力来准确测量出 200-300mGauss 的 X 和 Y 方向的磁场强度,不论是在赤道上的向上 变化还是在南北极的更低值位置。

总体来讲,电子罗盘的主要特点有:

1. 三轴磁阻效应传感器测量平面地磁场,双轴倾角 补偿。

2. 高速高精度 A/D 转换。

3. 内置温度补偿,最大限度减少倾斜角和指向角的 温度漂移。

4. 内置微处理器计算传感器与磁北夹角。

5. 具有简单有效的用户标校指令。

6. 具有指向零点修正功能。 我们决定采用的是 HMC5883L 数字罗盘 Honeywell 数字输出三轴磁阻传感器 规格为:数字量输出:2C 数字量输出接口,设计使 用非常方便。

尺寸小: 3x3x0.9mm LCC 封装,适合大规模量产 73 使用。

精度高:1-2 度,内置 12 位 A/D,OFFSET, SET/RESET 电路,不会出现磁饱和 现象,不会有累加误差。

支持自动校准程序,简化使用步骤,终端产品使用非 常方便。

内置自测试电路,方便量产测试,无需增加额外昂贵 的测试设备。 功耗低:供电电压 1.8V,功耗睡眠模式--2.5 微安 测 量模式--0.1mA 可以满足机器人的设计需求。 74 75

导购机器人计划书 导购机器人计划书 暂无评价 | 0人阅读 | 0次下载 | 举报文档 浏览后50页 你可能喜欢 今日推荐 116份文档 1028988份文档 您的评论 *感谢支持,给文档评个星吧! ...

robogame2014规则已发布~详见bbs机器人技术版~大家可以准备开始写计划书啦~后续培... 2013 RoboGame比赛已圆满结束,现通报比赛结果如下: 导购组冠军:Nevermore 导购...

robogame2014规则已发布~详见bbs机器人技术版~大家可以准备开始写计划书啦~后续培... RoboGame比赛已圆满结束,现通报比赛结果如下: 导购组冠军:Nevermore 导购组亚...

导购机器人计划书,导购机器人,机器人导购员,国内有机器人导购员么》出自:QQ空间素材网
链接地址:http://www.qzoneai.com/sucai/JxlNgSdQS0iYa7uW.html

网站地图 | 关于我们 | 联系我们 | 广告服务 | 免责声明 | 在线留言 | 友情链接 | RSS 订阅 | 热门搜索
版权所有 QQ空间素材网 www.qzoneai.com

导购机器人计划书,导购机器人,机器人导购员,国内有机器人导购员么