|  不需要人干预的自动仓库(车库)在越来越多地应用,这里给出了一个使用乐高制作的自动仓库模型,其最大的特点是通过“条形码”来放/取货物。 
 自动仓库
 主要部件:带齿轮箱马达:3
 微型马达:1
 光线传感器:2
 触动传感器:1
 角度传感器:1
 
 编程语言:
 ROBOLAB 2.0/2.5
 特殊部件:小木块,用作货物。
 未来的改进:1. 硬件部分
 a. 叉车结构还需要优化,速度更快,并保证更高成功率。
 b. 货架更大(只是为了更吸引人)。
 c. 添加AGV(自动导航小车)
 d. ……
 2. 软件部分
 a. 自动辨别是否有货,避免去不到货或将货物放在有货的地方。
 b. 通过互联网取货。
 c. ……
   详细资料
 整个系统由货架、叉车、读卡器组成。货架大小为3*4,用于存货。叉车用于运输货物,通过接收读卡器发来的邮件,确定是送货还是放货,还有具体的位置。读卡器可以读取不同颜色的条形码,转化成邮件值,发送给叉车。
  图1 整个系统图
 系统的工作流程如下,首先,根据编码规则,将条形码做好,放入读卡器,读卡器将条形码编码,翻译成邮件值,马上发送给叉车,叉车接收到邮件值后,进行解码,确定动作,如果是取货,则叉车移动到货物所在位置,然后将货取下,放在指定位置,最后复原到起始状态,等待下一个任务。如果是放货,则将货物装上,然后到指定位置,然后将货物放下,最后回到起始终位置复原到起始状态。
 具体的机构介绍如下:
 叉车:叉车的功能是送/取货。图中C位置就是叉车的叉,可以前后伸缩,由红色的微马达控制。上下移动则由下图B来控制。为了保证正确到达指定位置,做了如下努力:
 1. 叉车没有使用轮子,而改用履带(下图3 E),这样可以保证叉车不会偏离轨道。
 2. 叉车前头安装了光感(下图3 D),并在地面安装用于定位的白色小积木(图1中间部分可以看到),这样可以精确控制水平位置。
 3. 上下移动使用了乐高角度传感器(下图2 A),这样可以精确控制垂直位置。
  图2 叉车1
  图3 叉车2
   货架:仓库由一个3*4的货架构成,其编号如下:
 
                
                    
                        | 9 | 10 | 11 | 12 |  
                        | 5 | 6 | 7 | 8 |  
                        | 1 | 2 | 3 | 4 |  如下图:
  图4 货架
 货物为小木块。
 读卡器:读卡器的机械结构较为简单,触动传感器用做启动按钮,光感用于分辨积木颜色。当按下启动按钮,马达转动,当光感识别到黄色积木时,开始读条形码,并且开始编码,一直到最后一个条形码。如果条形码没有错误,将马上发送邮件,否则鸣叫,表示出错。
  图5 读卡器结构
  图6 放入条形码,并按下启动按钮
  图7 正在读取条形码
   条形码编码原理:无论放货或取货,都需要条形码来告诉叉车。条形码含有两个信息,一个是告诉叉车取货还是放货;另一个是取货/放货位置。
  图8 条形码
 条形码由6位二进制的数组成,每一位分别使用一根白或黑的积木表示,白色为二进制1,黑色为二进制0,每一位的定义如下:
 
                
                    
                        | 位置(上图从右到左的6根积木条) | 1 | 2 | 3 | 4 | 5 | 6 |  
                        | 名称 | 开始位 | X轴高位 | X轴低位 | Y轴高位 | Y轴低位 | 信息位 |  
                        | 意义 | 表示条形码开始 | X轴位置(从0-3)由如下公式得到: 2* X轴高位+ X轴低位
 | Y轴位置(从0-2)由如下公式得到: 2* Y轴高位+Y轴低位
 | 黑色:送货 白色.取货
 |  
   图9 使用X,Y轴表示的仓库
 根据上面的编码规则和图9,我们可以得到任意位置的条形码:
 仓库位置 条形码2 条形码3 条形码4 条形码5
 1 黑色 黑色 黑色 黑色
 2 黑色 白色 黑色 黑色
 3 白色 黑色 黑色 黑色
 4 白色 白色 黑色 黑色
 5 黑色 黑色 黑色 白色
 6 黑色 白色 黑色 白色
 7 白色 黑色 黑色 白色
 8 白色 白色 黑色 白色
 9 黑色 黑色 白色 黑色
 10 黑色 白色 白色 黑色
 11 白色 黑色 白色 黑色
 12 白色 白色 白色 黑色
 由于Y不能等于3,所以如果条形码4和5都为白色时,读卡器将鸣叫,表示编码错误,并全部发送邮件。编码成功后,将产生位置值(从1~12),接着读最后一位信息位,如果是黑色,则位置值不变,如果是白色,则位置值加上100,最后将这个位置值发送出去。叉车在解码时也先判别邮件是否大于100,如果是,则作放货处理,否则,作取货处理,然后再将位置值译码成XY轴信息。
 系统图片:
  图10 系统图
 摘自《西觅亚教育资源01》   |