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
|
|||
|
|||
LOAD and UNLOAD on Robot
Hello all,
in my model I use a robot to pick (LOAD) and place (UNLOAD) parts from and to conveyors. As the conveyors move, the parts to pick and pallets to place the parts on move away. So there can occur problems: - the part to LOAD has already gone to the sink - the part to LOAD has already moved out of the region reachable by the robot - the pallet to UNLOAD on has already gone to the sink - the pallet to UNLOAD on has already moved out of the region reachable by the robot Is there a way to recognize these cases in the Load and Unload Triggers of the robot, i.e. before an error message pops up? Many thanks in advance for your help, Lydia. |
#2
|
|||
|
|||
Hi Lydia,
What I know there is no way to keep track when an item arrive or leave an area. You need to write your own logic to do that. The basic approach I should use is to have a table on the robot (or other object) that keeps track of the items inside reaching area. When an item arrives to the area it pass a photo eye and the item is stored in a table, leaving the are (passing a new photo eye) remove the item from table. You will also need to have logic that triggers the robot to pick item, checking if the robot is on the way to load or unload, and last when finished with the task check if there are more items to load/unload. Hope this give you some idea how to solve your problem. Lars-Olof |
#3
|
||||
|
||||
Other option would be to use CALLSUBTASK and when the robot starts to work on that task first check if the product is still valid
|
#4
|
||||
|
||||
Hi Lydia,
I´m not sure if I understood you right or even if this can help you. When I started with Flexsim I found a Collision option in the Properties of every Taskexecuter. There you can set a sphere and everytime a collision happens a trigger is fired. Couldn´t figur out if it only works the situations two taskexecuter meet each other. But am sure, that it should work with every object in the model. Probably this is what you are looking for!? Or anybody can give a hint, that this option is only for other tasks!?
__________________
Hemmi |
#5
|
|||
|
|||
Dear Lars-Olof, Steven, and Sebastian,
thank you very much for your fast replies. I am sorry for the delay in my answering. @Lars-Olof: I have to think further about your idea of tracking parts with tables. I think it is applicable to the case of parts/pallets having left the reachable region of the robot. What do you mean by "triggering the robot"? @Steven: The CALLSUBTASK seems to be a good idea for the case of parts/pallets having been destroyed in the meantime. How would you check if the part is still valid? (Search for it in the tree?) @Sebastian: Maybe collision check is for avoiding crashes between objects e.g. transporters? I am not yet sure if this functionality is applicable to my issue. Thank you for the hint nonetheless. Best regards and thanks again, Lydia. |
#6
|
||||
|
||||
Hi Lydia,
To check if it is still valid you could use: "objectexists" to see if it is not destroyed and if it exists look at the up( item ) to see in which conveyor/object it currently is to see if it still is a valid item. Steven Last edited by Steven Hamoen; 09-13-2010 at 10:49 AM. |
#7
|
|||
|
|||
Hi Lydia,
What I mean with triggering the robot is that when a part arrives to region and passing the phot eye you need to send a signal to the robot to let i know that now it is a part that can be picked or loaded. If the robot is an sequence for loading or oicking do nothing, if the robot is idle do the loading/picking. If the robot is in process if loading/picking the when this process is finished a check in table is needed to se what next part to load/pick are. You must probaly write your own logic (task sequence) to do the job, here CALLSUBTASK cna be good. You must in one way or other be able to keep track of the parts in your allowed loading/picking area. Hope it clearify some. Lars-Olof |
#8
|
|||
|
|||
Quote:
Best, Lydia. |
#9
|
|||
|
|||
Quote:
My concept is a bit different: I regularly check all the items waiting to be picked and assign them to the robots and pallets. The advantage is that all robots are considered simultaneously so the assignment can somehow be globally optimized. My problem is that between assignment and actual task executing time flies so that parts/pallets have moved further. I found out that a robot picks a part even if it is out of reach (so the Max Extension param seems to be just for the graphics??). Though I can check the part's position in the LOAD trigger I cannot prevent the robot from picking the part ... Best, Lydia. |
#10
|
||||
|
||||
Quote:
I hope this makes it a bit clearer |
#11
|
||||
|
||||
Quote:
I hope this makes it a bit clearer |
Thread | Thread Starter | Forum | Replies | Last Post |
Problems with load/ unload tasksequences | Sebastian Hemmann | Q&A | 7 | 11-19-2009 12:58 AM |
Help with Robot | Larry Goins | Q&A | 2 | 08-07-2009 12:20 AM |
How to unload all the same itemtype flowitem into the matching queue altogether? | karl huang | Q&A | 12 | 02-21-2009 12:45 AM |
TaskExecuter should unload more then one item...How? | TilmanDHL | Tips and Tricks | 1 | 01-28-2009 01:54 AM |
Robot processing | Sung Kim | Q&A | 7 | 08-27-2008 06:48 AM |