ATTENTION

This 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

Go Back   FlexSim Community Forum > FlexSim Software > Q&A
Downloads

Q&A Using Flexsim and building models

  #1  
Old 02-04-2013
Vadim Fooks's Avatar
Vadim Fooks Vadim Fooks is offline
Flexsim User
 
Join Date: Feb 2012
Posts: 67
Downloads: 26
Uploads: 0
Thanks: 50
Thanked 24 Times in 13 Posts
Rep Power: 118
Vadim Fooks will become famous soon enough
Default How to change the maxspeed of the TaskExecuter mid-task?

Ladies and Gentlemen,
what is the correct way of changing the TaskExecuter's maxspeed in the middle of the TASKTYPE_TRAVEL/TASKTYPE_TRAVELTOLOC?
Thank you!
Vadim
  #2  
Old 02-05-2013
Cameron Pluim Cameron Pluim is offline
Steelcase, Inc.
 
Join Date: Apr 2012
Location: MI
Posts: 30
Downloads: 27
Uploads: 11
Thanks: 5
Thanked 34 Times in 20 Posts
Rep Power: 120
Cameron Pluim will become famous soon enoughCameron Pluim will become famous soon enough
Default

Vadim,

After a TASKTYPE_TRAVEL/TASKTYPE_TRAVELTOLOC has been initiated the Task Executer's kinematics have already been set (so it would take some intricate code to set the new kinematics on the new Task Executer).

A simpler way to do this would be to use network nodes and the speed limit properties they already implement. Then wherever you need to change the speed of the operator you can add another network node and change the speed limit accordingly.
  #3  
Old 02-06-2013
Vadim Fooks's Avatar
Vadim Fooks Vadim Fooks is offline
Flexsim User
 
Join Date: Feb 2012
Posts: 67
Downloads: 26
Uploads: 0
Thanks: 50
Thanked 24 Times in 13 Posts
Rep Power: 118
Vadim Fooks will become famous soon enough
Default

Alas, that approach will require way too many network nodes. I am creating a congestion model of a large warehouse and placing a network node at every place where the actor may stop will require 20000-50000 network nodes. I have already tried generating a map with this many network nodes and it froze the flexsim IDE after I saved and tried to reopen the resulting model.
  #4  
Old 02-07-2013
Cameron Pluim Cameron Pluim is offline
Steelcase, Inc.
 
Join Date: Apr 2012
Location: MI
Posts: 30
Downloads: 27
Uploads: 11
Thanks: 5
Thanked 34 Times in 20 Posts
Rep Power: 120
Cameron Pluim will become famous soon enoughCameron Pluim will become famous soon enough
Default

Vadim,

Could you give us a little more insight into what you are trying to accomplish? The community may be able to help with another way to model your situation that would be more feasible than the route you are suggesting.
  #5  
Old 02-07-2013
Vadim Fooks's Avatar
Vadim Fooks Vadim Fooks is offline
Flexsim User
 
Join Date: Feb 2012
Posts: 67
Downloads: 26
Uploads: 0
Thanks: 50
Thanked 24 Times in 13 Posts
Rep Power: 118
Vadim Fooks will become famous soon enough
Default

Cameron,

I am trying to build a model of picking and replenishment processes in a warehouse consisting of 250 aisles of Dexion interlock (i.e. single-depth) racking with 90 bays per rack. The model should accurately reflect interference from multiple pickers driving pallet trucks (when a picker stops to perform a pick, the vehicles behind him should stop).

The purpose of the model is determining the minimal number of pickers capable of handling the orders during the off-peak season and for a peak season finding a point where introducing extra vehicles starts causing the slowdown rather than improvement.

If I were to disregard the interactions between the vehicles, the model would have been quite simple - the vehicle drives to the aisle network node, gets off the network, stops at pre-calculated coordinates in the aisle, gets back on the network and carries on, but that appears not to be an option.

Placing a network node in front of each bay proved nonviable - the model ran out of memory.
Using a single collision sphere per vehicle to detect vehicles getting too close to each other has caused an intolerable slowdown of the simulation.

The present approach that I am evaluating is slowing down each vehicle in the aisle to model the loss of performance due to congestion in the specific area, but I cannot get sufficient granularity for vehicles that only do a small number of picks and spend most of the time driving and I do not think that making the vehicles go short distance from bay to bay just to decrease the granularity of TASKTYPE_TRAVELTOLOCs is the right way to go. Hence my interest in ability to change vehicle kinematics when the travel task is already in progress.

Regards,
Vadim
  #6  
Old 02-07-2013
Jason Lightfoot Jason Lightfoot is offline
Flexsim Consultant
 
Join Date: Aug 2007
Location: Somerset, UK
Posts: 719
Downloads: 20
Uploads: 0
Thanks: 123
Thanked 953 Times in 446 Posts
Rep Power: 773
Jason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond reputeJason Lightfoot has a reputation beyond repute
Default

If you're just looking to interrupt the aisle operations you could consider stopping the object - it's already off the network so it wouldn't hurt network travel like a normal preemptive stop. You could schedule the stop from the aisle network node when the traveler enters the aisle, maybe use a random time and test a flag you set and clear on entry and exit, to see if it's still in the aisle. There would be work to figure out the likelihood of a stop and really the model should be giving that out as a result - so I'm not a fan of this approach.

The full solution would probably be to implement coordinated offset travel for the aisle.

Edit: By the way 20000 network nodes gives a model of about 1.5GB which is well within Flexsim's capacity - and if you x-click the network to show only the paths or only the nodes, it's still responsive enough to work with. At 50000 however, the memory is 3.6GB and even with the showmode cycled to show only a single node, the drawing of the remaining node is sluggish.

Last edited by Jason Lightfoot; 02-07-2013 at 05:51 PM.
The Following 5 Users Say Thank You to Jason Lightfoot For This Useful Post:
Vadim Fooks (02-20-2013)
  #7  
Old 02-20-2013
Jörg Vogel's Avatar
Jörg Vogel Jörg Vogel is offline
Flexsim User
 
Join Date: Sep 2007
Location: Hannover, Germany
Posts: 643
Downloads: 35
Uploads: 0
Thanks: 802
Thanked 665 Times in 410 Posts
Rep Power: 642
Jörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond repute
Default

Hello Vadim,

you can change the Endspeed in a Traveltask with the command changetask, but you know, that this has no effect on the current speed of the taskexecuter. Therefore you can create a new preempting tasksequence which breaks to the changed and still active tasksequence back. Dispatch the new Tasksequence. The Taskexecuter evaluates the changed Endspeed now. But the animations looks strange. The Taskexecuter stops its motion.
The Following User Says Thank You to Jörg Vogel For This Useful Post:
Vadim Fooks (02-20-2013)
  #8  
Old 02-22-2013
Jörg Vogel's Avatar
Jörg Vogel Jörg Vogel is offline
Flexsim User
 
Join Date: Sep 2007
Location: Hannover, Germany
Posts: 643
Downloads: 35
Uploads: 0
Thanks: 802
Thanked 665 Times in 410 Posts
Rep Power: 642
Jörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond reputeJörg Vogel has a reputation beyond repute
Default

For those of you who want to try the code:
Code:
// Update active fourth task of the standard Tasksequence (TS)    
treenode curts = gettasksequence(current,0); // active Tasksequence
treenode involved1 = gettaskinvolved(curts,4,1);// unchanged node
treenode involved2 = gettaskinvolved(curts,4,2);// unchanged node
double newspeed = 20;
// change values of the active task
changetask(curts,4,TASKTYPE_TRAVEL,involved1,involved2,newspeed,0,0,0);
// preempt the active TS and start it again with the changed values 
treenode breaktask = createemptytasksequence(current,1,PREEMPT_ONLY);
inserttask(breaktask,TASKTYPE_BREAK,NULL,curts,0,0,0,0);
dispatchtasksequence(breaktask);
I couldn't edit my post
The Following 4 Users Say Thank You to Jörg Vogel For This Useful Post:
Vadim Fooks (02-22-2013)


Thread Thread Starter Forum Replies Last Post
Stop a TE and change his task sequence vasiliki grigorakaki Q&A 36 03-04-2012 06:00 AM
Dispatcher: Which TaskExecuter did the task? Stefan Trabut Q&A 3 04-05-2011 05:49 AM
How to interrupt active task and implement another task? Ilivid zheng Q&A 2 01-15-2011 02:30 AM
Change the active Task alanturing Q&A 2 07-29-2010 02:46 AM
How to transfer a flowitem from a taskexecuter-team to another taskexecuter-team? Frans Zeng Q&A 12 05-20-2010 11:23 PM


All times are GMT -6.
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.
Copyright 1993-2018 FlexSim Software Products, Inc.