设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3224|回复: 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  ...
5 W! {: m/ s# D9 t- c: D即A,B,C三个Track段。AGV去A段上料,B段下料,返回C段(等待区)。这是我目前的流程。
5 r, `/ _/ _; n( X     . {) u) E1 i) y# b
这个和实际的AGV行为不符,实际的AGV在途可以接收任务,不用返回等待区就可以执行下一道任务。因此想更改这个规则。请教如何获取AGV的实时位置? 不然我怎么给AGV赋任务?  & m1 P, e3 ?6 N0 P, R3 Q
       
" k. X" W; a4 Y: H; a( m* x  x; g     
 楼主| 发表于 2014-3-18 22:53:42 | 显示全部楼层
请大家不吝赐教
发表于 2014-3-22 01:47:21 | 显示全部楼层
gxzhouyong 发表于 2014-3-18 22:53 1 U2 J+ ?' P/ U/ d: W) j
请大家不吝赐教
/ Y4 h2 K- [' C' [( m+ c' x/ D# m( a
初学者,爱莫能助啊
 楼主| 发表于 2014-3-22 16:32:46 | 显示全部楼层
taoyifei2000 发表于 2014-3-22 14:31 ( `, d2 {& S# d4 L
你说的没错,AGV在运行的过程中,只要处于空闲状态是可以实时接收任务的,而不是非要到达指定的区域接任务 ...
% Z5 G$ V4 P0 f0 O5 i; L
       多谢版主,目前正是这个思路。 : N" y2 I  f5 {) `) J$ f
    需要两个程序:
. W. X8 Z  r/ _; o9 j; n8 y    任务主动寻找AGV:任务列表中有任务 符合条件可以搬运了,触发 监控程序,监控程序再去找寻AGV的位置。将符合条件的下道工序的目标地址付给AGV。AGV再去根据这个目标地址的list去执行新任务。) I- x4 M& k1 ~7 B, k3 ^; }
     AGV主动寻找任务: AGV下料后,如果任务列表没有符合条件的任务,即监控程序不触发,则返回C段(等待区)。如果有负荷条件的任务,则去执行。2 E8 r  B) w( ]5 o& q
      求教,在任务寻找AGV的时候,怎样编程实现寻找AGV的位置?   一共20个track,判断这20个track.cont是否有不为空的?  然后获得这个AGV,给它赋予目标地址的list?  现在再想有没有简单的方法。
 楼主| 发表于 2014-5-9 08:47:27 | 显示全部楼层
关于这个问题,最后只要用obj.location,就可以获得agv的实时位置了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-14 11:38 , Processed in 0.017873 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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