设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4790|回复: 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  ...
3 H# L/ s$ M6 _3 c/ w即A,B,C三个Track段。AGV去A段上料,B段下料,返回C段(等待区)。这是我目前的流程。
* h/ G! \7 b5 r1 F6 K     # S0 f& d% c6 b, E9 ?4 O1 G
这个和实际的AGV行为不符,实际的AGV在途可以接收任务,不用返回等待区就可以执行下一道任务。因此想更改这个规则。请教如何获取AGV的实时位置? 不然我怎么给AGV赋任务?  
$ I: ]# E# Z3 e7 x+ J0 B       
6 m( C5 x9 v+ E5 q     
 楼主| 发表于 2014-3-18 22:53:42 | 显示全部楼层
请大家不吝赐教
发表于 2014-3-22 01:47:21 | 显示全部楼层
gxzhouyong 发表于 2014-3-18 22:53 2 Y2 \4 a9 g, k! q5 u+ I
请大家不吝赐教
7 @2 I7 r6 Y% i9 O3 L
初学者,爱莫能助啊
 楼主| 发表于 2014-3-22 16:32:46 | 显示全部楼层
taoyifei2000 发表于 2014-3-22 14:31
0 r$ B: a+ j" f0 t: ?你说的没错,AGV在运行的过程中,只要处于空闲状态是可以实时接收任务的,而不是非要到达指定的区域接任务 ...

" G0 A, m) S- k/ s       多谢版主,目前正是这个思路。
0 y$ N8 y% ]% {9 O5 j" y    需要两个程序:
9 |# j& f8 K: l& V    任务主动寻找AGV:任务列表中有任务 符合条件可以搬运了,触发 监控程序,监控程序再去找寻AGV的位置。将符合条件的下道工序的目标地址付给AGV。AGV再去根据这个目标地址的list去执行新任务。
6 `# [% P" B) j# A, _     AGV主动寻找任务: AGV下料后,如果任务列表没有符合条件的任务,即监控程序不触发,则返回C段(等待区)。如果有负荷条件的任务,则去执行。
1 A' q! B! t2 ?: i      求教,在任务寻找AGV的时候,怎样编程实现寻找AGV的位置?   一共20个track,判断这20个track.cont是否有不为空的?  然后获得这个AGV,给它赋予目标地址的list?  现在再想有没有简单的方法。
 楼主| 发表于 2014-5-9 08:47:27 | 显示全部楼层
关于这个问题,最后只要用obj.location,就可以获得agv的实时位置了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-21 14:15 , Processed in 0.014680 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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