Hi,
I need to use the .getCost function to calculate the remaining time for an AMR to complete its current mission, as well as the time from the end of that mission to a potential next mission.
I’m using .getCost because it is the only function I’ve found that allows me to calculate the travel time while considering the restrictions of that AMR type within the AGV Network, including cases where the starting point of the calculation is not the AMR’s current position.
The first issue I encountered is that, if I pass the Object BasicFR1 as the destination, .getCost always returns the distance instead of the time. This can be worked around by using the Control Point in the calculation.
However, I’ve now noticed that the calculation is not working correctly because of the AMR’s deceleration. If I set a very high deceleration value, the calculated time gets much closer to the actual time.
Could you please investigate and fix this issue? It is very relevant for evaluating mission assignments based on travel time.
I’ve attached an example where you can execute the function as the AMR moves and see how the calculated value changes. When the deceleration is set to a very high value, the calculated time gets much closer to the actual value. You will see that there are two cylinders in the 3D model. I’m using them to access the mission origins through pointers. This is only so that the code can be used directly inside a list field without having to edit it.
As a workaround, I also tried using a dummy AMR with the same parameters as the real AMR but with a very high acceleration as the third parameter. However, .getCost still fails when I use the current location of the AMR performing the trip as the starting point. This makes me think that the issue is related to how the current position is handled when deceleration is taken into account.
I’ve tried 25.0.10, 25.0.11, 25.0.12, and 26.0.2, and the same issue occurs in every version.
Can't find what you're looking for? Ask the community or share your knowledge.