您好,欢迎来到易配在线!登录 注册 经销商|联系我们|综合搜索
易福门IFM宜科ELCO天康TIANKANG纳川科技NC-TECH神钢KOBELCO欧姆龙OMRON松下Panasonic皮尔磁Pilz堡盟Baumer

基于FPGA的搬运机器人控制系统

2011/10/11 20:41:01              

目前,机器人控制器主要通过单片机来实现。但是,单片机是基于顺序语言的,其描述过程繁琐;处理速度受单片机时钟频率的限制,难于实现高速实时控制;并且外围电路复杂,不易在线修改。利用现场可编程门阵列(FPGA)器件实现搬运机器人控制系统则集成度高、高速、高效率;易于现场重新编程,实现多重配置;可以把其它控制模块集成在FPGA中,体积小、可靠性高;易于实现SOPC(可编程单芯片系统),整个控制系统由硬件实现。这是电子系统发展的方向和趋势。本文介绍基于FPGA的搬运机器人控制系统。

1 设计思想与总体方案

本搬运机器人能在任意区域内沿寻迹线行走,自动绕开障碍,并能停在指定地点;它的操作手能对货物进行升降、抓紧或放下等工作;它还能显示整个运行过程的时间和距离;并且在出现故障时发出报警。

机器人控制系统以FPGA器件(Altera公司的ACEX 1K器件)作为检测和控制的核心,采用红外光电传感器检测路面寻迹线,使用超声波传感器检测障碍物,利光电码盘测距,用光电传感器或者微动开关检测、判断机器手是否到位, 应用PWM技术动态控制电动机的转动方向和转速。本机器人控制系统利用有限状态机描述和硬件描述语言设计机器人控制器,实现机器人行走、转弯、绕障、停止以及机器手升降、抓紧或放下的精确控制。

机器人根据输入的各种检测信息,按照为机器人设置的要求,自动地进行信息处理、分析和计算,作出相应的控制决策或判断,并通过输出通道发出控制指令,控制各电机进行工作。采用控制芯片ACEX1K的控制器主要包括两部分:机器人行走控制器和机器手控制器。

机器人行走控制器是控制系统中最为关键的一部分。机器人要准确地走到设定的位置,才能执行后面的抓举和卸下物品的任务。机器人在地面上的移动方式为三车轮移动方式,即采用前轮辅助后轮驱动的移动配置方式。这种配置是前轮的万向轮为随动轮,仅仅起到支撑车体的作用,无任何导向作用;而后轮则分别为两个独立的驱动轮,利用它们的转速差控制机器人的运动方向。这种组合的特点是结构简单,易于控制,而且当两个驱动轮以相同速度、相反方向转动时,车体只能绕两个驱动轮连线的中点自转,易于定位。

机器手控制器的作用是当机器人行走到了指定位置(物品放置位置)时,能够成功地抓起或放下物品,主要是手臂的抓、放、提升、下降等功能。

本搬运机器人使用四个直流电动机进行驱动, 直流电动机的特点是在一个方向连续旋转或者在相反的方向连续旋转, 运动连续且平滑。目前,直流电动机可以达到很大的力矩/重量比,直流电机驱动具有高精度、加速迅速以及可靠性高的特点。

2 机器人行走控制。

机器人行走控制器实现机器人沿寻迹线前进、后退、左转、右转等行走功能。

行走控制器由计数模块(COUNTER)、行走驱动模块(QUDONG)、指令模块(JSKZ)和状态控制模块(CONTROL)组成。

2.1 计数模块

计数模块是机器人的“记忆”系统,实时地“告诉”机器人自己所处的位置。计数模块准确地计算出机器人行走的格数及光电码盘检测的驱动轮脉冲数。当机器人走过一格时,产生一个脉冲信号,计数模块实现一次计数。但是当机器人转弯时会有一个计数误差(根据计数探头的安装位置而定)。为了避免产生误差,当行走指令模块发出转弯命令时,计数模块将停止计数,保持以前的计数值。这样将保证计数的可靠性。

图中b为计数模块的输入信号。当b有一个脉冲时,计数模块计一次数;clr为计数复位信号(低电平效)。输入端updown接收由指令模块发出的指令(前进、后退、左转或右转),当updown=“11”(前进)或“00”(后退)时,计数器正常计数,最多可以计数到31(从0开始); updown=“01”( 右转)或“10”(左转)时,计数器的计数值保持。counter为计数模块输出信号,在此暂设为五位二进制数。

2.2 指令模块

行走指令模块的功能是按照货物搬运行走路径的要求,为机器人设置行走方式。计数模块输出的计数值作为指令模块发出行走指令的依据,通过设定指令模块可确定机器人的行走方式。机器人行走的每一步,都可以通过这个模块设定它的行走模式,这极大地方便了对机器人路径的修改和重新设置。要设定新的机器人行走路线时,直接更改这个模块便可以实现。 图中输入counter[]为计数模块输入的计数信号,它被作为指令模块发出行走指令的重要依据。输出lrd[]为指令模块发出的行走指令,发送给状态控制模块。lrd为“00”时机器人后退;lrd为“01” 时机器人右转;lrd为“10” 时机器人左转;lrd为“11” 时机器人前进。

2.3 状态控制模块

状态控制模块的功能用来控制机器人顺利进行转弯。该模块采用有限状态机的描述方式和硬件描述语言进行设计。图中输入信号a1、a2为机器人前进方向的红外探头检测信号,用于检测机器人的寻线和转弯是否到位;clr为控制器复位信号;clkb为状态机的时钟信号;tmp[]为指令模块发出的指令信号,tmp[]=“11”时为直走指令信号;tmp[]=“01” 时为右转指令信号;tmp[]=“10”时为左转指令信号;tmp[]=“00”时为后退指令信号;输出信号updown[]为状态控制模块输出的机器人行走指令信号,最后输入到行走驱动模块中。

s0状态为初始状态(直走),当指令模块发出右转命令(tmp=“01”),并且前进方向的红外探头检测到寻迹线(a1=‘1’,a2=‘1’)时,s0状态跳转到s1(右转状态);当指令模块发出左转命令(tmp=“10”),并且前进方向的红外探头检测到寻迹线(a1=‘1’,a2=‘1’)时,s0状态跳转到s2(左转状态);当指令模块发出后退指令(tmp=“00”)时,s0状态跳转到s6;不符合以上条件的都保持在s0状态。

s3为右转状态,此时前进方向的两个红外探头已经离开寻迹线(a1=‘0’,a2=‘0’),当有一个探头检测到寻迹线时(即a1或a2有一个为1时),s3跳转到s5状态(强行直走状态);s4为左转状态,它的跳转条件与s3一致,满足条件也是跳转到s5状态。

s5为强行直走状态,不受指令模块的控制。当沿寻迹线行走一格时(即b=‘1’),s5跳转到s0初始状态。s6为后退状态。

2.4 行走驱动模块

行走驱动模块的功能是根据状态控制模块和指令模块发出的行走指令产生驱动信号,控制机器人的寻线及转弯工作。图中,输入信号a1、a2为前进寻线红外检测信号;输入信号a3、a4为后退寻线红外检测信号;clr为复位信号;clk为时钟信号;updown为状态控制模块发出的指令信号;输出信号acount[]为电机的控制信号。

该模块采用有限状态机的描述方式和硬件描述语言进行设计,保证机器人能沿着寻迹线实现前进、后退和转弯的操作。在机器人沿着寻迹线快速行走过程中, 由于寻迹线的宽度有限(几个厘米),两个驱动轮存在转速差,使机器人容易偏离寻迹线行走。为了解决这个问题, 采用有限状态机设计,使该模块具有“记忆”功能,无论从哪个方向完全偏离寻迹线,都能够返回到寻迹线上,这样就增加了寻线行走的可靠性。实际应用表明,将有限状态机设计的行走驱动模块运用在一个快速行走且惯性较大的机器人上,机器人能够沿着寻迹线呈“S”形行走,始终保持以寻迹线为中心运动。

3 机器手控制器

机器手主要完成升、降、抓紧和放下物品等工作。机器手控制器结构图如图4所示。主要由手臂指令模块和手臂执行模块组成。机器手控制器实现的控制主要是一个顺序控制的问题。当手臂指令模块发出取物品的命令时,手臂执行模块将产生取物品的一系列顺序信号,驱动手臂电机,完成机器手取物品的工作。在取物品时,首先将手臂升降到指定位置,夹紧物品并保持;然后将整个物品提升或下降到位,整个取物品的操作结束。机器手放物品与取物品的工作相似。机器手必须是在机器人行走到指定位置时才能进行操作,行走计数值和超声波与光电检测信号为手臂指令模块提供机器人行走到位信号。

3.1 手臂指令模块

手臂指令模块与行走部分的行走指令模块相似。这个模块比行走指令模块只是多了超声波与光电检测信号。为了提高机器手的可靠性,采用了双重检测,由行走计数值检测是否已进入物品区域,并且通过超声波与光电信号检测机器手是否已达到取放物品的位置。若缺一个条件,机器人将不会发出取物品或放物品的指令。

3.2 手臂执行模块

手臂执行模块主要是根据手臂指令模块发出的指令,产生一系列输出信号,驱动手臂

  • 喜欢 ( 0 )
  • 不喜欢 ( 0 )

网友评论

(查看全部0条评论)

您好 ,喜欢这篇文章吗?  

您还未登录,登录后才可发表评论,请立即登录注册

站点地图| 会员服务| 关于网站| 招聘信息| 法律声明| 联系我们| 友情链接

邮箱:1010196856@qq.com 客服热线:0571-88802870(工作时间:周一至周五8:30至17:30)
Copyright@2014-2016 www.epiol.com All Rights Reserved 版权所有:杭州锐联工业科技有限公司   浙ICP备13025252号-2   公安机关互联网站安全 浙公网安备33010502003191号

微信扫一扫


技术咨询