ATTENTIONThis FlexSim Community Forum is read-only. Please post any new questions, ideas, or discussions to our new community (we call it Answers) at https://answers.flexsim.com/. Our new Question & Answer site brings a modern, mobile-friendly interface and more focus on getting answers quickly. There are a few differences between how our new Q&A community works vs. a classic, threaded-conversation-style forum like the one below, so be sure to read our Answers Best Practices. |
flexsim.com |
#1
|
||||
|
||||
Can’t stop cranes colliding
I’m attempting to model two cranes that run on the same track, so should not be able to pass each other. (note: one loads ont a rack and the other unloads)
I’ve used 2 cranes and activated the collision detection . . . but I cannot stop them passing each other. Sometimes one crane will move back out of the way but usually a collision sphere will turn red, perhaps movement will falter, and then they pass each other anyway. So far I’ve tried lining up several spheres, tried various axis on the advanced option, and reducing the rack down to one level to see if the spheres needed to be aligned to collide. Any thoughts on how to stop cranes passing each other? Is there a way to lock in the rails so the cranes can’t pass each other? Thanks Kenny Last edited by Kenny Macleod; 07-14-2008 at 12:52 AM. Reason: Uploaded the model |
#2
|
|||
|
|||
Hi Kenny,
Giving some thought on the logic of your model, I find it strange. If two cranes are used to transfer from the same queue, naturally they will overlap in many instance. Unless each crane is responsible a different area or task. Such as one is for placement and other is removal. Is this a real case? David
__________________
Advent2 Labs David |
#3
|
||||
|
||||
Kenny,
To be honest it is not an easy task to model crane logic. I tried several times with different ideas and I found out it is a lot of programming to make it really working, if the cranes have to push each other away / control each other. I also tried it with the collision spheres and also figured out that it is a lot of programming to get the right logic and control the cranes in the right way. The option in the pick list does in my eyes to less checking about the states of the cranes and which tasksequence they currently execute. If you would have a system like David is speaking about where the cranes have different areas and only one crane can be in a specific area, that the task is not to difficult to solve. I posted a model some time ago (which is updated to v4.32) which gives one idea how to solve this task (cranes working in areas and it is solved by controlling network nodes). Please see the model Sample_3CraneControl_TD in the download section: http://www.flexsim.com/community/for...?do=file&id=13 Hopefully this model will help you to build you model. If you need a “real” crane control than I fear that you need to make it by yourself and I am sure it will take quite some time to program it. Anyway, good success.
__________________
tom the (A)tom: "We have solved our problems ... now we have to fight the solutions." |
The Following User Says Thank You to Tom David For This Useful Post: | ||
hendry teo (10-19-2015) |
#4
|
|||
|
|||
Hi Kenny,
I took your model and I removed the acceleration/deceleration from the gantry and hoist. I increased the parameters in the HandleCollision logic, and I adjusted the dimensions of the model such that is physically enough room for the red crane to pick from the left side of the rack. I also pressed the Advanced button in the Collision tab and selected only the X dimension. This is just to simplify the calculations that the collision detection does, it is not required for solving the collision issue. Indeed the more difficult part is determining which crane has the priority at any given moment... there are usually a lot of possible combinations in the real system. Kris |
The Following 2 Users Say Thank You to Kris Geisberger For This Useful Post: | ||
Frans Zeng (05-05-2010) |
#5
|
|||
|
|||
Hi all,
Is there anyway to check when the crane is lowering the hanger? If we could change the priority of the crane by increasing the value when it is lowering/lifting the hanger, will we able to solve the issue? However, I am thinking in most situation I will try to make sure one of the crane is out of the Picking/Placement zone or not working if the other is in the area. With this scenario, will it be easier to modify the model? David
__________________
Advent2 Labs David |
#6
|
||||
|
||||
Thanks guys. Priority will eventually be even more complicated to calculate.
FYI and to let you know where I want to go with this:
Kenny |
#7
|
||||
|
||||
Duh! Kris, I just realised the significance of the acceleration and deceleration. Previously the cranes would slow down but still pass - this will be because they start to decelerate once collision detection kicks in. But if they don't slow down quick enough they will pass before they stop - with nothing in front of them again, they will keep going.
. . . simple really! |
#8
|
|||
|
|||
Hi,
I have added some codes to incoming crane so as to change the priority onload and onunload. It looks quite ok. Please check
__________________
Advent2 Labs David |
#9
|
|||
|
|||
Kenny,
We've been modeling two cranes on one runway using collision detection pretty well since Flexsim was first released. In line with what Kris wrote we found that setting the acceleration/deceleration to zero and increasing the offset parameter in the HandleCollision logic to a size equal to or greater than the size of the collision sphere works at preventing the cranes from crossing over. We set the size of the collision sphere on each crane to one half the minimum safety separation distance so that the cranes never get closer than that minimum distance. When a collision occurs, if you don't "bounce" the lower priority crane far enough away from the higher priority crane than you have to take a run time performance hit and check more frequently for a collision by increasing the "Time between Collision Checks". If run time becomes a problem, you can toggle collision checking off when both cranes are idle and turn it back on for both cranes when one becomes active. You still need to build some sort of control system for allocating tasks to the cranes. We do this by having a queue of crane tasks. THe tasks are only dispatched to an idle crane and only if it makes sense to dispatch it given what the active crane is doing. In doing this we try to minimize the amount of crane interference. Sorry I don't have a sample model but if you need additional information regarding how we've been modeling this senario please feel free to contact me ([email protected]) Danny |
The Following 4 Users Say Thank You to Danny Pavan For This Useful Post: | ||
Olivier Pellegrin (04-05-2011) |
Thread | Thread Starter | Forum | Replies | Last Post |
Make sure you stop model with the stop button before collecting state based statistics | Paul Dowling | Tips and Tricks | 2 | 06-10-2008 08:10 AM |
In what cases the running simulation would stop itself? | KelvinHo | Q&A | 1 | 05-08-2008 08:32 AM |
How to run tasks after stop time? | Fadhlullah Bin Rahmat | Q&A | 1 | 02-26-2008 04:44 PM |
Stop conveyor on loading | mathiasds | Q&A | 2 | 11-20-2007 04:31 PM |
Stop message with information (Debugging) | Tom David | Tips and Tricks | 0 | 09-20-2007 01:10 AM |