[西门子] AGV(自动引导车)调度方法入门

[复制链接]
查看89 | 回复0 | 2024-5-18 14:26:11 | 显示全部楼层 |阅读模式




目的
  首先介绍AGV调度中的基本概念和主要问题,然后分析现有调度方法的特点。

1 AGV及其调度问题
1.1 AGV调度分析1
     单独看一个AGV的工作并不复杂。例如机床要加工零件时通过更上层的MES控制系统给AGV的调度系统发出请求命令,后者派遣(dispatch)一台 AGV 负责把原料从仓库运送到机床。这个过程可以被称为一个任务(job),一个任务就是在一对工作地点之间移动。在这个例子中,机床只提出需求(我要在什么时间加工什么零件),至于选择哪个 AGV 运送零件原料,AGV 该沿哪条路线运动,这些都是调度系统的工作。

      调度系统一旦为AGV指定好路径后,AGV上的车载控制器会根据指令完成具体的运动控制任务,例如速度保持在多少,遇到路口转向时轮子怎么转动等等。所以在一个完整的大系统中,AGV调度系统位于上层控制系统和底层控制系统的中间,其到管家的作用。
  但是对于多个AGV,调度问题就会变得非常困难,而且AGV数量越多,难度越大。因此,调度系统成为AGV行业的一个关键技术。


       而能够调度的AGV数量也成为评判一个调度系统强大与否的重要指标。根据笔者的判断,虽然目前从事AGV行业的企业很多,但是具有自主调度系统的企业并不多,而能够真正把调度系统优化的很好、能够最高效率地利用AGV系统的企业更是屈指可数。

       当然,如果站在AGV厂家的立场,他们并没有太大的动力把调度系统做的很高效。因为提高调度效率会减少AGV的投入量,这意味着卖出的AGV就少了。对实际应用的AGV调度系统软件,它的功能通常是非常丰富的,一般包括:任务管理、车辆状态监控、路径规划、地图编辑、数据库查询等。
1.2 AGV调度分析2
       大多数人虽然未必了解调度的方法和细节,但对它或多或少都有一些直觉上的感性认识。如果你在火车站或者飞机场用电脑看本文,那么你同时正在经历两种调度过程:大量的火车和飞机需要调度,与此同时你电脑里的操作系统也在对大量的任务进行调度。


       当很多事件同时发生,而且存在竞争时就需要调度了。如果只有一个事件发生,那么所有资源都由这个事件支配(火车可以在任何一条铁轨上跑),我们不需要调度;如果多个事件同时发生,但是没有竞争关系(美国的一列火车和中国的一列火车),我们也不需要调度,因为它们不会发生冲突。
  
       首先,我们应该能分辨一个问题是不是调度问题。假设工厂中只有一台AGV在工作,此时调度问题就退化成简单的路径规划问题了。因为不需要考虑该将任务分配给哪台AGV的问题,也不需要考虑在一个路口谁先走谁后走的问题。所以调度问题的前提是多个AGV共享路径网络,换句话说AGV之间存在资源争夺。就像马路上的车辆一样,谁都想怎么快怎么开车,如果每个司机都只考虑自己而不考虑对方,那么后果很可能是谁都别想走(拥堵在一起)。于是,个人追求自己局部的最优解却变成了全局的最差解,所以调度是有存在的必要的,而且有时很重要(红绿灯、交警都起到某种“调度”的作用)。

  
        多数情况下,调度系统需要统筹所有AGV的行为(上帝视角),它追求的不是某几个AGV的最优解(当然它有能力这么做),而是整体的最优。我们可以设想一下,能不能做一款调度软件来调度一个城市里所有的车辆,让整体解是最优的(例如所有人耗费的汽油加起来最少)。这个最优解一定存在,但是实际上却几乎不可能解出来,因为有两个难点。首先,调度系统要掌握海量的信息,比如张三八点从家里开车到单位,赵四九点开车送孩子,王五的车油量不够,需要中途加油等等。

      更困难的是这些信息是变动的,例如张三的车开着开着抛锚了把路堵死了。第二个问题是,调度问题的复杂度随着参与者的数量呈指数增加。如果只有几十辆车,现在的算法和计算机硬件还能勉强解决,如果要处理成千上万辆车,那恐怕只有上帝才能做到了。信息缺乏和维度诅咒是调度问题面临的主要困难。扯远一点,其实计划经济也面临同样的问题,要对经济进行计划需要决策者掌握海量的信息,并拥有超级大脑,在那个多数人连电脑是什么都不知道的落后年代搞计划经济必然不会太好。
  
       正因为调度问题是极其复杂的,所以大多数时候我们只能退而求其次找一个说的过去的近似最优解,这也是实际生活中每个路口的交通信号灯闪烁背后的逻辑。



2 路径规划方法


  多个AGV的调度需要规划不同AGV的路径,所以我们先了解下现有的路径规划方法。AGV是个听话的笨蛋,如果调度系统想让一个AGV从A走到B,它不能简单地将A和B站点的信息给AGV,而是要将A到B之间的完整路径告诉AGV。

       目前普遍用“图”(graph 数学概念)对AGV的行驶空间进行建模,“图”由节点和边组成。所以AGV的行驶路径可以表示为一系列相邻的节点。


3 AGV调度方法

        
       因为AGV调度问题很有理论深度,所以吸引了大批的学者,他们不同的角度讨论这个问题,提出了各种花哨的方法。不过很多理论难以转化成实际可行的方法,所以实际和理论有很大的差异。



3.1 多机器人协调问题


  AGV调度问题可以看成多机器人协调问题(Multi-Robot Coordination)的特例。多机器人共享一个环境,如何协调它们的运动使所有机器人都能能达到目标。讨论多机器人协调问题是为了对调度问题有更好的理解。最早的方法也是最简单的方法之一,就是为不同的机器人设置不同的优先级(Priority)。优先级高的机器人先规划自己的路径,优先级低的机器人将比它高的机器人的路径视为障碍物,进而再进行规划。当然这种方法有个明显的缺点:优先级高的机器人过于霸道,它把所有的路都堵死了,以至于优先级低的机器人怎么也找不到路。这时我们就要调整优先级了。
---------------------
作者:robinvista
来源:CSDN
原文:https://blog.csdn.net/robinvista/article/details/73348711
版权声明:本文为博主原创文章,转载请附上博文链接!

放心!PLC不会被淘汰该学还得继续学。但有3点要重视
全球最先进机器人大集结

工业机器人控制系统架构介绍

搞了10年非标自动化设备,今天终于明白应该这样搞
都是搞PLC有人月薪5000但有人年薪30万,他们是怎么做到的

10万人正在用的PLC仿真学习软件
搞工业自动化不懂常用英语确实有点亏,以下是工业自动化常用英语
非标自动化设备开发流程
详细用西门子S71200作为AGV控制器的方案


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则