设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2745|回复: 4

[求助] 怎样获得AGV小车的实时位置?

  [复制链接]
发表于 2014-3-18 22:53:03 | 显示全部楼层 |阅读模式
    有20台机床布置在一条通道的两侧,AGV在中间通道上做往复直线运动,给这些机床上料和下料。程序中是用了20个Track来铺设通道,编排为S0--S20。现在实现了AGV在等待区接收任务,执行完毕任务后回到等待区。意思是每次执行完任务之后必须要回到原点才能执行下一道任务。实现原理是,AGV每次都会停在等待区的一个固定位置,用Generator 每隔5秒去遍历AGV的任务列表,有满足条件的任务,取排序第一个的任务赋予AGV。这时AGV在等待区内,因此AGC:=Depot.cont;        if AGC/=void then  ...
% U9 Q, F* v+ l) V+ o# L: F即A,B,C三个Track段。AGV去A段上料,B段下料,返回C段(等待区)。这是我目前的流程。
& P; j1 s8 S: Y( ?7 K% G2 F     
$ M7 h+ s+ [' E2 w. r' j* _ 这个和实际的AGV行为不符,实际的AGV在途可以接收任务,不用返回等待区就可以执行下一道任务。因此想更改这个规则。请教如何获取AGV的实时位置? 不然我怎么给AGV赋任务?  
4 q" O9 h- }7 D        . ^" O2 H$ r/ ~* d
     
 楼主| 发表于 2014-3-18 22:53:42 | 显示全部楼层
请大家不吝赐教
发表于 2014-3-22 01:47:21 | 显示全部楼层
gxzhouyong 发表于 2014-3-18 22:53 4 f6 O! b( }# n
请大家不吝赐教

$ Y$ E/ Q3 ^) E# c2 M8 m初学者,爱莫能助啊
 楼主| 发表于 2014-3-22 16:32:46 | 显示全部楼层
taoyifei2000 发表于 2014-3-22 14:31
0 N# V" ]* P2 S0 I+ H3 D8 j9 G3 ]你说的没错,AGV在运行的过程中,只要处于空闲状态是可以实时接收任务的,而不是非要到达指定的区域接任务 ...

9 {; O* T. s( o4 w9 R       多谢版主,目前正是这个思路。
& ^- H3 @& i. [. p; F    需要两个程序:
, G/ @# ~2 h8 I& E3 R, r* B: a! w    任务主动寻找AGV:任务列表中有任务 符合条件可以搬运了,触发 监控程序,监控程序再去找寻AGV的位置。将符合条件的下道工序的目标地址付给AGV。AGV再去根据这个目标地址的list去执行新任务。$ n4 {* I9 d# h6 Z" T
     AGV主动寻找任务: AGV下料后,如果任务列表没有符合条件的任务,即监控程序不触发,则返回C段(等待区)。如果有负荷条件的任务,则去执行。
) E9 Y/ f( c1 a* @3 I$ E) L      求教,在任务寻找AGV的时候,怎样编程实现寻找AGV的位置?   一共20个track,判断这20个track.cont是否有不为空的?  然后获得这个AGV,给它赋予目标地址的list?  现在再想有没有简单的方法。
 楼主| 发表于 2014-5-9 08:47:27 | 显示全部楼层
关于这个问题,最后只要用obj.location,就可以获得agv的实时位置了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2025-1-23 01:07 , Processed in 0.014735 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表