question

Pinakin K avatar image
0 Likes"
Pinakin K asked tannerp converted comment to answer

addkinematics command does not take effect

I'm using

treenode kinematics = Model.find("AGVNetwork>variables/agvs/TaskExecuter1/kinematics");
addkinematic(kinematics, 1, 0, 0, 3000, 2000, 30000, 0, 0, time(),KINEMATIC_TRAVEL);

to change the speed profile of the agv. However, even if this command is executed, the agv does not change the speed profile. Moreover, if i put the "numx" = 0, the agv does not move and the model is stopped.

I'm not sure if i'm using the kinematics command correctly. Any help would be appreciated.

My aim is to change the speed profile of the agv mid motion and this should take effect right away.

agvtest-7.fsm

FlexSim 20.0.2
kinematics
agvtest-7.fsm (48.0 KiB)
· 2
5 |100000

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

tannerp avatar image tannerp commented ·

Hi @Pinakin K,

What is your goal in changing the AGV speed? Do you want it to be a permanent change? Adding a kinematic in the way you're doing just adds one kinematic operation to a set of kinematics. A simple example of when you might use this is if you wanted to animate a piston by having it travel from it's current location to a different location in one axis. This motion is the kinematic operation.

It sounds like you have an AGV traveling on a network and you want to change the AGV's speed while it's traveling to a destination. Is this accurate?

0 Likes 0 ·
Pinakin K avatar image Pinakin K tannerp commented ·

Yes correct. I want to change its speed as it approaches the destination. This is conditional though. How do i accomplish this? Is kinematics the right way?

0 Likes 0 ·

1 Answer

tannerp avatar image
0 Likes"
tannerp answered

I just clarified with the developers and apparently it's never a good idea to add or change kinematics during a simulation because all the travel tasks are pre-calculated and it can throw things off. I suggest using a control point or a separate path that the AGV can take where the speed is slower only for that path. This way, it's not interrupting a travel activity partway through.

You might run into issues with varying speeds of things mid-simulation, as this is not a typical functionality of FlexSim and it can mess up the simulation. What are you trying to model that requires the conditional variable speeds?

· 3
5 |100000

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

Pinakin K avatar image Pinakin K commented ·

Thanks for the clarification.

I want to change the speed 'Profile', the acceleration, deceleration and the max speed of the agv when it encounters another agv in front of it. The reason i want to do this is, when an agv is reaching a station, and there is another agv already there, this agv would stop because of the accumulation logic. However, when it starts to move, it would not cover the the distance it was going to cover when it started to travel from the previews station. Its going to travel less distance. In real world this happens as the agv would be at speed 0. In order to travel less distance, the agv does not need to accelerate at a high rate, it can accelerate at a lower rate and reach the point, to conserve energy, or avoid hard braking if the agv in front of it stops unexpectedly.

In flexsim, i was able to change the speed, acceleration, deceleration in the AGV Type field using code, however, this only takes into effect when the agv has stopped at a control point. But if i stop the agv before it reaches at the station the cycle time would be different and not accurate. As a result i want to change the speed profile when the agv does the Accumulation stop.

Thanks!

0 Likes 0 ·
tannerp avatar image tannerp Pinakin K commented ·

@Pinakin K,

This sounds like it's more of a suggestion for developers to add into the AGV network. The AGV network has customizable parameters, such as accumulation paths, acceleration/deceleration, travel offsets, etc. The logic that you've described is very specific and it would take a lot of custom paths and control points to set up.

Like I said before, I wouldn't adjust the kinematics during the simulation, but I do recommend that you post your AGV logic as a suggestion for something that developers can look into adding if you believe this is a prominent AGV functionality in industry.

For now, you can probably get relatively accurate simulation results by using the existing settings. After all, it's only a simulation, which means that it can be used to inform real-world decisions. FlexSim is not intended to drive AGV systems.

0 Likes 0 ·
Pinakin K avatar image Pinakin K commented ·

Thanks for your response. I'll look into adding that if i'm not able to achieve a fairly accurate result.

0 Likes 0 ·