question

Steven Chen avatar image
0 Likes"
Steven Chen asked Steven Chen edited

How to predict the arrival time of an object

Dear everyone,

As titled, I attempt to estimate in advance the time of arrival of an object in my simulation model. To be more specific, I want to predict the arrival time of AGV and apply the calculated time to a conditional judgment in the model where there are two AGVs, A and B. When A is currently loading items at a control point to which B is heading, B needs to check if A can finish its loading task and leave that point within 3 minutes. If the judgment is true, B will wait and go until the point is empty. If false, B will go on an alternative path.

So far, I have come up with an idea of accessing the recorded time from a list after estimation. But I am uncertain what I should do before appending the time data to the list. Can anyone offer suggestions about this?


Thank you for your time


agvarrivalsestimatejudgment
· 2
5 |100000 characters needed characters left characters exceeded

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Hi @Steven Chen, was Felix Möhlmann's answer helpful? If so, please click the "Accept" button at the bottom of their answer. Or if you still have questions, add a comment and we'll continue the conversation.

If we haven't heard back from you within 3 business days we'll auto-accept an answer, but you can always unaccept and comment back to reopen your question.

0 Likes 0 ·
Steven Chen avatar image Steven Chen Connor A ♦ ·

Yes, the proposed method is very useful. Thank you for the reminder.

0 Likes 0 ·

1 Answer

· Write an Answer
Felix Möhlmann avatar image
1 Like"
Felix Möhlmann answered Steven Chen commented

My idea would be to use "cpdistance()" to get the distance the AGV still has to travel. Divided by the maximum speed, this would yield an estimation of the needed travel time.

This has two obvious problems:

1) The time estimation will be off by far the AGV has already traveled since it last passed a control point. To work around this, I'd use waypoint logic to store the time when the AGV passed the last control point. The difference between that time and the current time can then be used to reduce the estimated travel time.

2) Using the maximum speed doesn't take into account acceleration/braking times and, more importantly, being forced to stop due to traffic. I don't really have a good fix for this right now. Possibly just use a value v < v_max for the travel time calculation to try and factor in some amount of delay. Finding the best value would require some experimentation.

You could record the difference between estimated times and actual arrival times over a model run and vary the speed value/multiplier to minimize the error.

eta.gifAGV_ETA.fsm


eta.gif (1.2 MiB)
agv-eta.fsm (133.6 KiB)
· 1
5 |100000 characters needed characters left characters exceeded

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Dear Felix,

Your idea about time estimation is particularly brilliant, and I will give it a go.

Thank you for your helpful explanation.



0 Likes 0 ·

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.