How to make truck face rack when loading/unloading?

How to make truck face rack when loading/unloading?

patrickABAWF
Collaborator Collaborator
835 Views
12 Replies
Message 1 of 13

How to make truck face rack when loading/unloading?

patrickABAWF
Collaborator
Collaborator

[ FlexSim 23.0.2 ]

Hello, I'm trying to find the best way to force the trucks to face the racks when they are loading/unloading. This model and its video will be for marketing purpooses so it needs to be more realistic.

Option 1: In this picture, I'm using Astar and it doesn't work. I tried doing a "On Unload Time" set rotation to 0 but it doesn't work because AStar seems to override that.

screenshot-2023-01-20-104426.png

Option 2: I might be able to make it work with Network Nodes but I'm hoping for a more elegant solution.

Option 3: I'm thinking I could program the task sequence with process flow Travel, Rotate, Unload, etc. but before I start I want to make sure it's the only option.

Suggestions ?

Thanks a lot,

0 Likes
Accepted solutions (1)
836 Views
12 Replies
Replies (12)
Message 2 of 13

joerg_vogel_HsH
Mentor
Mentor

I had worked with an network path on a plane object. I moved the plane in front of a rack cell and connected dynamically the transporter to the network node. This was without an AStar network and long ago, when we worked only with rack objects.

0 Likes
Message 3 of 13

jason_lightfoot_adsk
Autodesk
Autodesk
Accepted solution

Tell the TE to do the pick or place travel offset in the x direction first and then the Y and Z. If that isn't quite good enough then tell it to travel to a position relative to the slot first - say 3 metres in front - giving it enough space to rotate around when approaching the rack.

0 Likes
Message 4 of 13

patrickABAWF
Collaborator
Collaborator

I've never done that. Where do I tell the TE to do the offset in the X first and then YZ?

0 Likes
Message 5 of 13

jason_lightfoot_adsk
Autodesk
Autodesk

If you're using process flow use a custom task activity and choose either pick offset or place offset for the task type. Here it's telling the TE to do ALL of the X movement - by using 1 (100%):

1674234213059.png


To get it to then move the Y and Z you should set ALL the fields to 1 (otherwise, if you make X zero, it will undo the X travel it has already done):

Image.png

These task types are described in the manual here and can be used in regular, code/script generated task sequences.

0 Likes
Message 6 of 13

jason_lightfoot_adsk
Autodesk
Autodesk
There's an example here where the main topic is refining the fork movement
0 Likes
Message 7 of 13

patrickABAWF
Collaborator
Collaborator

I have not been able to make it work with Custom Task Activity.

But I made it work with Kinematics in Process Flow.

So instead of Travel --> Unload

I do Travel --> Kinematics (rotate, move in) --> Unload --> Kinematics (move out, rotate).

The result is great. See attached gif.

truck-square.gif

Message 8 of 13

jason_lightfoot_adsk
Autodesk
Autodesk

That looks good - glad you got something working.

0 Likes
Message 9 of 13

MatildeM_
Not applicable
Hi! I have the same problem as you. Can you please share the model? Or can you give me more info on how to use the Kinematics command? Thanks!
0 Likes
Message 10 of 13

joerg_vogel_HsH
Mentor
Mentor

https://docs.flexsim.com/en/23.0/Reference/DeveloperAdvancedUser/Kinematics/Kinematics.html

The datanode is a Parameter, that can be a label node.
You can also open a tree view of an object of model tree. Enhance object to see attributes > and mark a sub tree node, hit return of your keyboard to create a new node. Mark right of this new node the empty space to get an editable field. Write a name and then you have created a datanode that you can find in your attributes of an object.

0 Likes
Message 11 of 13

patrickABAWF
Collaborator
Collaborator

I can't share the model but here is the Process Flow that does everything.

Basically, after the Assign slot logic, I calculate the xy destination of the slot and I determine a "offsetside" which is -1 or 1 depending if I'm going to the left or the right of the rack.

1674652824042.png

Then, when I get to the destination, I calc the rotation angle (token.drz) required to be facing the rack and I Apply Kinematics for this angle:

1674652897814.png

They I Apply Kinematics to move the truck 7 feet forward.

1674652938676.png

After that, I unload the item (Unload Time + Move Object) and then, redo the kinematics in reverse (reverse 7 feet and rotate angle).

Or course, this only works if all the aisles are in the same Y axis but you get the idea.

Message 12 of 13

patrickABAWF
Collaborator
Collaborator

I want to add the the truck movement is controlled by AStart and there are hidden barriers under the racks (the grey rectangles in this photo):

1674653559079.png

And, in case, you're wondering, the truck forks don't move up and down. It's just a TaskExecuter for which I changed the whole 3D shape. If I have time left later in the project, I will make the forks movable.

0 Likes
Message 13 of 13

jason_lightfoot_adsk
Autodesk
Autodesk

You can also do this using travel tasks instead of kinematics (except rotation on the spot)

Plus if you use the pick and place offset tasks you have control over the fork height.

0 Likes