AGV调度系统设计要点
一直做输送机的调度,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分之一,运算而且更快;主要就是稳定性的考虑;
如果技能经验足够丰富,其实也不是问题,在这个低价横流的时代,从硬件上,从设计上,全方位的节约成本,同时又简化了对
的下位高手的需求,大大缩短设备调试时间, 会给项目总体成本的下降带来不可估量的节约;
No comment