AGV调度系统设计要点

daizhicun
daizhicun This guy is lazy,Introduction has not been set

0 People liked this article · 1204 views

一直做输送机的调度,AGV调度和其有类似地方,
但也有不少区别;

AGV调度系统的特点:
1.灵活,布线可以任意调整;
2.无线通讯,所以要考虑网络的不稳定;
3.位置识别常用RFID标签的方式识别

4.地标5要素:1.分支;2.站点,3 速度调节 4.交通管制 5.防避障;
5.自动停靠点的运算;
6.呼叫小车的优化;7.人机IO的处理;


下面分别简述:

1.布线灵活,到了现场,客户可能会常常做出磁条位置的调整,这在输送机系统里,是不可想象的;
  这么随心所欲的调整,就让下位系统"彻底"放弃了对"动线逻辑"的控制权;
  完全由上位掌控线路布局调度逻辑;下位每到一个拐点,就由上位提供左拐或右拐的信息;
  甚至小车没有方向概念,在众多的拐点,处,上位事先判断好拐点的处理

2. 无线通讯  AGV毕竟是动态运行的,和调度系统通讯,低成本的做法,就是在小车上放一个无线通讯模块,通过WIFI和上位通讯;
   因为小车是不停移动的,类似以前的小灵通一样,所以如果AP基站覆盖的不够彻底,可能行驶到某个死角,就可能和上位
失去通讯,所以上位调度的时候,要把各种信息提前通知,为了以防万一,一般小车每通过一个站点,上位都会把信息再次通知
一遍;

3. RIFD标签的方式识别 简单的调度系统,是在磁条上贴垂直的认址地标磁条,类似穿梭车或堆垛机中常用的认址片,这样的系统只适合简单的调度系统,
甚至不用上位,到一个认址地标就主动停止一下;
如果需要复杂的调度,那么这种简单的认址方法,就很麻烦了,需要上位不停的计数,加上人工干预,通讯中断的干扰,认址必然是不可靠的;
而用RFID这种低成本的识别方式,通过硬件提供了精确的位置,给上位调度带来和很大的便利;

4.地标5要素:1.分支;2.站点,3 速度调节 4.交通管制 5.防避障;
    1.分支是AGV调度系统里最重要的概念; 上位如果要告诉小车从A到B,不能直接说,让小车从A到B;
      这样是远远不足以指导小车运作的;你要告诉小车,如果让小车到达B点,当小车时经过各个分支时,到底左拐或右拐;
      所以在给小车配置路径的时候,你不要关心小车现在的位置,只要根据计算出到达目标位置所经过的所有分支的拐向,提前告诉小车就行;
      这样,小车总能走到目标位置;
      当然下位系统为了方便,分支一般都设计成二叉的,如果需要三叉怎么办,那就做成两个二叉,也就是提前一段做分叉,后面在做一段;
      这样程序容易控制;
    2.站点:站点主要用来做停止/启动的识别;用来做人工操作使用;
    3,速度调节:AGV自己是不会主动调节速度的,因为它是一个“盲人”,漫无目的的走着,不知道到那里要停,不知道前方要不要拐弯,
        如果要知道,也是读到前面一个地标再说,而且它也不知道前面的地标号是多少,只要到了才知道;所以上位要根据任务的位置,提前  
     把小车经过每个地标位置时候的速度信息(一般分低速,中速,高速)三种控制模式;
    4.交通管制,其实就是分支的反方向模式;分支是从1支分成2支,交通管制室2支汇流成1支;当两个小车汇合的时候,下位小车是独立控制的,
      它不知道两个小车同时强红灯,所以需要上位来做交警,先放行其中一个,等这个走完交通管制区域后,放后面一个;这一块也是有不少细节的;
      同一支线进入时,是不需要干预的,如果两个支线进入,就需要做好优化控制,既不要让小车无谓等待,也不能产生碰撞;
    5.防避障:小车自己有红外避障功能,但是有的时候,到了墙角处,被挡住了,但是实际上是能够通行的,但是小车自己不知道这个信息,所以上位要
     在相应的位置上告诉小车;

5.自动停靠点的运算;
     小车有任务的时候都好办,该去那里按照目标位置锁定好分支,站点,速度等信息提前告诉小车;
     但是小车在做完任务的时候,就需要停靠在码头上等待,一个厂区可能有多个停靠码头;
     如何让小车走到合适的码头;
     之前一直困扰这个问题,后来想到了一个简单的方法,思路是:
        1.让小车在主线上孤魂野鬼般的在主线上漫无目的的跑着;
        2.一旦有人呼叫,里面根据目标站点执行;
        3.如果没人呼叫,在靠近码头位置,设置一个码头进入判断地标点,在码头上再设置3个地标;
         最远的是停止地标,最近的是进入LOCK地标;中间一个是UNLOCK地标;
         这样在进入时,发现LOCK地标没有小车,就进入缓存码头;
         这就类似于围棋造个“活眼”至少6个棋子;AGV做一个缓存码头的控制,至少4个地标,就可以不复杂的逻辑简单的实现;

6.呼叫的优化:
      这个问题可能会困扰很多人,想到要可能要用到很复杂的算法,
    其实也不复杂,不管动线多么复杂,我们首先把线路图中最近的两个点的距离属性记录下来;
    然后做程序,提前计算出所有两两站点组合的距离权重; 呼叫的时候,找一个距离自己距离最近的即可;
    这里有个问题,排列组合太多怎么办,比如10个站点,两两组合就有81个,也就是n-1的平方;
    问题不大:1.1个项目由100个站点算比较多了,那么也就10000左右的组合;不算多;
              2.如果站点实在太多,可以把位置很近的做合并,这样组合就会很少;
    当然,呼叫的时候,要注意,如果是停靠码头的,只能调度第一个车,因为后面的会排队堵住,及时调度了,也出不来;


7.人机IO的处理;
    首先,要有一个漂亮的监控,真实的反映小车的位置,状态,目标点,异常等;
    其次,每个呼叫点,要有一个方便的人机IO ,最传统的就是用电脑呼叫了,但是成本奇高啊,几十条生产线,总不能每个工位放一个电脑,而且地方也是问题;
    用单片机做一个呼叫盒,上面放一排按钮,做呼来呼去控制,也麻烦,成本也高;不灵活,况且通讯也是问题;
   最后想到用平板,做一个网页,成本最低,效果最好(其实用自己手机也可以);

其实一只幻想一个自动化系统的调度,完全由上位控制,但是很难有这个机会;

特别是输送机调度,很多时候,都是上位提供一个目标地址,让下位电控自己去判断绕圈,走近路,交叉自己做交通管制,发现下位调度的不够合理时,又很难干预,只能干着急;因为下位自己调度不仅逻辑控制麻烦,而且它自身掌控的信息没有上位全面;
这些让上位控制,逻辑都很容易实现,而且优化的余地最大;
如果多个设备,下位很多时候是单独设备控制的,优化必然不行,上位掌控了所有设备的状态和任务信息,可以灵活的做提前量运算;

但是常见的项目中,都是下位自己去做;这就导致了成本奇高,每次不同项目,下位都要
根据线路图重新开发,调试周期长,对下位研发人员要求也特别高,调试周期也长;
  我一直偏向于下位输送机和堆垛机一样,是一个产品,固定程序,每个项目都不需要做修改的,越是下位,越容易固化;

所以PLC的控制最容易做产品,因为可以把大部分逻辑扔给上位;WCS端做好路径管理模板,也容易做产品,WMS就相对难很多;

   AGV这块更多的偏向于用单片机去实现,主流用ARM,和现在智能手机用的一样;反应周期一般都在1,两个毫秒左右,特别是
拐弯的时候,对电机控制需要高频修正;这样据说用PLC就难来得及反应;因为PLC的一个指令周期一般都在10毫秒以上,

当然,其实成本最重要,ARM及其外围电路的成本只是plc系统的10分之一,运算而且更快;主要就是稳定性的考虑;
如果技能经验足够丰富,其实也不是问题,在这个低价横流的时代,从硬件上,从设计上,全方位的节约成本,同时又简化了对
的下位高手的需求,大大缩短设备调试时间, 会给项目总体成本的下降带来不可估量的节约;

Published on 2020-10-13 11:39

Disclaimers:

This document is written by daizhicun Original published on 大董知识库 ,The copyright belongs to the author。

Log in,More exciting content waiting for you to find,Contribute wonderful answers,Participate in comment interaction

go Sign in! No accountgoregister

All Rights Reserved Powered BY WeCenter V4.1.0 © 2023 京ICP备16065701号