|
有20台机床布置在一条通道的两侧,AGV在中间通道上做往复直线运动,给这些机床上料和下料。程序中是用了20个Track来铺设通道,编排为S0--S20。现在实现了AGV在等待区接收任务,执行完毕任务后回到等待区。意思是每次执行完任务之后必须要回到原点才能执行下一道任务。实现原理是,AGV每次都会停在等待区的一个固定位置,用Generator 每隔5秒去遍历AGV的任务列表,有满足条件的任务,取排序第一个的任务赋予AGV。这时AGV在等待区内,因此AGC:=Depot.cont; if AGC/=void then ...
8 ^1 h& S) H' k2 e) \即A,B,C三个Track段。AGV去A段上料,B段下料,返回C段(等待区)。这是我目前的流程。
5 |! Z9 q- d3 G4 Y+ U" N ! |" S, U ~& l' G- ~9 m
这个和实际的AGV行为不符,实际的AGV在途可以接收任务,不用返回等待区就可以执行下一道任务。因此想更改这个规则。请教如何获取AGV的实时位置? 不然我怎么给AGV赋任务?
8 f1 M5 V9 r3 v, v. i, @' b# [
6 s# f2 B7 r5 ^+ ?' h# M, s5 a0 o |
|