question

Andries T avatar image
0 Likes"
Andries T asked Joerg Vogel commented

Shuttle 2D

hi all,

I looked for some solutions in the forum and combined some to get the model to work, but it's not quite correct. I wonder if someone could help here.

I created a 2D shuttle based on a drive in rack but the taks executor does not drive in correclty, the drive out is correct.

The idea of the warehouse is that all pallets are on Z-profiles like in a Satellite warehouse.

The Shuttle can drive in all the lanes (racking) and can drive underneath panels when not carrying a pallet, but the shuttle can only travel crosswise on the 2 green tracks i drew in the model.

The ultimate goal is to load from two sides (i created the extra conveyor) and to unload towards the queue, but first i need some advice on how to get the shuttle running correctly, and second i need more than 1 shuttle to run over the system.

I tried looking into the Kiva system as well, but Kiva is able to drive in any direction and this shuttle is not.

2D shuttle.fsm

FlexSim 20.1.3
flexsim 20.1.3multideep2d shuttle system
2d-shuttle.png (220.7 KiB)
2d-shuttle.fsm (311.5 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.

Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered Andries T commented

You mean. you want to let drive on unload in x then in y direction. That is the job of TASKTYPE_PLACEOFFSET.

drive_rectangular_place_offset.fsm


· 5
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

If you want the shuttle to drive on load the same order, you have to add TASKTYPE_PICKOFFSET as rank 3 and 4 under the current script.

If you the pickoffset tasks in above the place offset tasks you have to change the ranks.

0 Likes 0 ·
Andries T avatar image Andries T commented ·

Hi Jörg,

thank you for your quick reply,

that is already one part fixed :)

The idea is that we can drop pallets on both sides, and that a shuttle can run underneath already placed pallets. I have used a LIFO buffer here because otherwise i could not even get pallets in and out from one side.

Any idea's on creating a FIFO with the same task executor traveling for IN on the LEFT green path and for out on the RIGHT green pad? I mean putting the pallets in from one side of the warehouse and taking them out from the other side with the same Task executor (it can drive underneath pallets when empty)

Thanks in advance

0 Likes 0 ·
Andries T avatar image Andries T commented ·

I also get the following error when the shuttle is taking the palllets :

FlexScript exception: Invalid down cast. Object is not an instance of the target type. at MODEL:/Shuttle>variables/onreceivets

Visually the shuttle takes a pallet, than takes another from the inbound placed the inbound and drops of the other pallet on the queue although max capacity of the shuttle is set to 1

Any idea how this happens?

I guess it's the load statement in the process flow which is interfering...

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Andries T commented ·

Down Cast error: please try a direct casting to treenode

as(treenode)

There maybe some task methods that needs a treenode instead of object.

A process flow logic is your individual logic. It does not check like a 3D model logic any dependencies nor parameters or options. You are completely responsible for those conditions in your model. I like Process Flow because it is more flexible, but if it comes to statistical output or simple options like max capacity, the FlexSim 3D model engine is a better choice. I mix both logic worlds, but I have to check always how I can get data into Process Flow and return values, which do not interfere with the FlexSim engine primary logic.

0 Likes 0 ·
Andries T avatar image Andries T commented ·

I removed the process flow and copied the code in the On Slot Entry from the driverack which did the trick.

I still have a function which drives diagonal, bu there is no task sequence attached to it:

When driving to the inbound conveyor the shuttle drives diagonally, once the pallet is picked the PlaceOFFFset doest the trick, but the drive back is not correct.You can see that in the model when the 4th row is filling up for example:

drive-rectangular-place-offset.fsm

0 Likes 0 ·
Andries T avatar image
0 Likes"
Andries T answered Joerg Vogel commented

is there a way to combine this with A* or Network navigation to avoid collissions when there are 2 shuttles working (they can both use other lanes) but not the main (green lane) at the same time.

I tried but they really cross each other

2D Multiple shuttles.fsm


· 1
5 |100000

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

Joerg Vogel avatar image Joerg Vogel commented ·

@Andries T, this is a new question. Please create it as a new question in a new thread. This answer site has got a different policy than old fora - one question, one thread.

0 Likes 0 ·