question

Ashish avatar image
0 Likes"
Ashish asked Ashish commented

Priority to the network node path

Hi Team,

In the model attached I want to give the priority for the path1. So if there is any AGV moving on path one, the other truck on path2, path3 and path4 should wait.

I tried this with the help of traffic controller using Untimed Traffic Modes. But was not able to control the movement. I tried using multiple traffic controllers but still was not able to give the priority to path1.NetworkNode_MutipleTC_1.fsm

So please help me with this or suggest some alternate option to give priority to the path.

Thank you

NetworkNode_Nonpassing_1.fsm

@Jason Lightfoot @Felix Möhlmann



FlexSim 24.1.0
network nodestraffic controlcollision avoidance
· 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.

Felix Möhlmann avatar image Felix Möhlmann commented ·

Can the trucks on the horizontal paths move across the intersection in parallel or are those paths also limited to only allow one vehicle in the intersection at a time (like the traffic modes are currently set up)?

0 Likes 0 ·
Ashish avatar image Ashish Felix Möhlmann commented ·

Hi @Felix Möhlmann

Trucks can move in parallel in the intersection.
0 Likes 0 ·
Jeanette F avatar image Jeanette F ♦♦ commented ·

Hi @Ashish,

Thank you for contributing to our community! We couldn't identify a maintained license or subscription linked to your account.

You may need to update your profile information to identify yourself as a license owner or their associate. Check out our article for how to ensure you receive timely support. If you update your profile comment back to let us know - we'll adjust the priority of your post accordingly.

If your current license is expired, please contact your local distributor to renew.

0 Likes 0 ·

1 Answer

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Ashish commented

If the trucks can move in parallel then it's essentially a question of enforcing a FIFO rule for entering the intersection, so any trucks wait after the AGV has arrived at the intersection.

My idea would be to enforce this through a zone in Process Flow. The zone has a subset called "Limit". It has a calculation called "TotalWeight" that sums up the "Weight" labels of all tokens in the subset. A subset constraints limits this sum to 1. A token belonging to the AGV has a value of 3, those belonging to trucks of 1. This means that while up to 3 trucks can enter in parallel, the AGV token must be alone in the zone in order to be allowed to enter.

Using the "Enforce Queue Order" option of the zone, whenever an AGV token wants to enter the zone, any subsequent tokens will wait for it.

Note that in order to allow the easy of the Event-Triggered Source and the Wait for Event activity, I switched some connection ranks of the paths, so driving into the intersection is always the first path from a node ("To Edge" = 1 in those activities).

networknode-nonpassing-1_1.fsm


· 21
5 |100000

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

Ashish avatar image Ashish commented ·

Thank you for the solution.

Is it possible to vary/change the speed of truck or Agv inside the intersection.

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ashish commented ·

You can use the traffic control object to limit the speed depending on the number of travelers within the area.

1719209545755.png

You can also set the maximum speed as part of the Process Flow (token.traveler.setProperty("MaxSpeed", value)), but that will only take effect if the traveler is stopped, then the speed is changed and then the traveler is resumed.

0 Likes 0 ·
1719209545755.png (7.6 KiB)
Ashish avatar image Ashish commented ·
Can the connection type of node be changed to either Passing/Non passing/No connection using code (In process flow).
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ashish commented ·

Yes, that is possible. The connection type is stored as a node value in the Network Nodes attributes. (1 - No connection, 2 - passing, 3 - non-passing)

1719306682731.png

Changing between passing/non-passing seems to work right away (the next traveler that enters the path will behave accordingly). If you switch from No connection to one of the other nodes, you have to run the command "optimizenetwork()" so the routing table is recalculated.

pathtype-swap.fsm

0 Likes 0 ·
1719306682731.png (17.4 KiB)
pathtype-swap.fsm (42.8 KiB)
Ashish avatar image Ashish Felix Möhlmann commented ·
This is exactly what I needed. Thank you @Felix Möhlmann


0 Likes 0 ·
Show more comments
Ashish avatar image Ashish commented ·

Hi @Felix Möhlmann

I tried to implement the same logic into the model I've attached, but it didn't work.

As I can see that the event is not getting trigger when Truck moves from Point A to Point B.

Would you please help me with it. And please let me know where I'm making mistake.

Thank you

NN_Avoid_Collision_At_Intersection.fsm

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ashish commented ·

The logic needs to know whether the traveler is moving towards the intersection of away from it when arriving at the network nodes.

In the original model I adjusted the paths so that the first edge is always the one moving into the intersection. As such the source could be set to only trigger if the "toEdge" parameter is equal to 1.

This doesn't work anymore since there are sometimes two paths that lead into the intersection. So you will need to assign the "toEdge" to a label and use if-conditions to decide whether the token needs to continue down and possibly stop the traveler or if it can be discarded.

nn-avoid-collision-at-intersection_1.fsm

0 Likes 0 ·
Ashish avatar image Ashish Felix Möhlmann commented ·

I have made the required changes in my code, but at 145sec two of the tokens are getting stuck at "Wait for Event activity". And I'm not able to figure it out the reason behind it.

nn-avoid-collision-at-intersection-1.fsm

0 Likes 0 ·
Show more comments