question

K_yun avatar image
0 Likes"
K_yun asked Joseph Gillespie commented

TE Collision Problem

Hi ! As you can see in model 001001.fsm and model 002002.fsm, when i set up collision logic for every TE, error happens. While no error happens if only TE2's collision logic is set. But in a large scale TE system, collision detection happens on every TE. How to set up collision logic for every TE correctly to avoiding this situation? Your suggestion will be appreciated.

Best Regards!

FlexSim 19.1.0
collision
001.fsm (34.1 KiB)
002.fsm (34.2 KiB)
5 |100000

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

1 Answer

Joseph Gillespie avatar image
0 Likes"
Joseph Gillespie answered Joseph Gillespie commented

@meng L

The reason for the problem you are seeing in model 001 is that when the Task Executors come into contact with each other, both of their "Handle Collision" triggers are fired, causing them both to stop. This leads to repeated starting and stopping that blocks either Task Executor from being able to move. I suggest setting up your TE system so that Task Executors only stop for the Task Executor in front of them.

One way to do this is to make Task Executors only stop during collisions with a specific car. In the example model I've attached, Task Executor 1, 2, and 3 are in order along the network nodes, so TE 2 will only have to stop for TE 1, TE 3 will have to stop for TE 2, etc.

Here is some of the code I used to do this (For TE 3):

Object otherobject = param(1);
Object thisobject = current;
if(otherobject == Model.find("TaskExecuter2")){
	thisobject.stop(48);
	senddelayedmessage(thisobject,0.5,thisobject);
}

Here is the example model: tecollisionanswer.fsm


· 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.

K_yun avatar image K_yun commented ·

Hi Joseph!Thanks for your reply.I get your idea.But as we know, the models attached here are simplified. Under most circumstance, routes are more complicated. It is unknown that which TE may come into a collision with current TE. In other words, we need figure out which TE is in front position in a collision.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel K_yun commented ·

@meng L, wouldn’t your last comment be a good new question? “How to identify the previous traveler on network node path segment?”. Regards Jörg!

0 Likes 0 ·
K_yun avatar image K_yun Joerg Vogel commented ·

Yes Jörg, you are right.Essentially this is what i realy want to express in this question. I post it as a new question here.

https://answers.flexsim.com/questions/71183/how-to-identify-the-front-traveller-during-a-colli.html

0 Likes 0 ·