question

Bartosz Wierzba avatar image
0 Likes"
Bartosz Wierzba asked Joerg Vogel commented

How to define the robot's trajectory?

I know I can use Define Motion Path to set points, but how to define the move of a robot between those points. I tried using network nodes, but whole robot is moving including the base of it.

FlexSim 16.2.1
robot
· 3
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 connect a robot, which belongs to the class of Taskexecuters, to a network the object behaves as a standard taskexecuter and navigators are automatically inserted in the model tree. The navigators are responsible how a tasksequence is setting the taskexecuter into motion. The network navigator let any connected taskexecuter move on the network. Please look here from post number 5 to bottom. If you want to keep the robot still at a single point again, look into this answer.

0 Likes 0 ·
Bartosz Wierzba avatar image Bartosz Wierzba Joerg Vogel commented ·

Thank you for reply. I see this answer:

you have built a network for the robot befor and deleted it. Flexsim builds a coupling between the navigator and the robot and assumes that a taskexecuter has to travel in the model. Without the network flexsim works with the standard behaviour now. If you delete the coupling node under the navigator node the normal robot behaviour is working again. Joerg

But I don't really understand. When I use networknodes with robot, the whole robot does move and that's not what I'm after.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Bartosz Wierzba commented ·

What you are looking for can't be done with network nodes. The Network nodes define a path that a taskexecuter uses to travel on. But you can't let taskexecuter extremities use the path.

0 Likes 0 ·

1 Answer

·
Phil BoBo avatar image
2 Likes"
Phil BoBo answered Phil BoBo edited

In the User Manual > FlexSim Object Library > TaskExecuters > Robot > Motion Paths, it explains how you can tell the robot to move along a defined motion path:

How does the Robot choose which Path to use?

By default, the robot searches for the path with an end position (last position row) which results in the smallest distance between the Robot’s end effector and x,y,z location as requested by the task it is responding to.

Controlling the Path that the robot uses for a given task

There are two ways to override the Robot’s automatic path selection. It is helpful to understand that the default task sequence that is generated when the Use Transport is checked on a Fixed Resource contains 2 tasks that the Robot responds to (FRLOAD and FRUNLOAD tasks).

  1. Specify directly on a custom Task Sequence - Knowledge of writing your own custom task sequences is assumed in this section. Specifying a negative end speed variable when writing the task sequence will tell the Robot to use the path number that matches this end speed (Path Number = end speed). The task types that the Robot responds to are listed below with the location of the end speed variable. See the Task Type Quick Reference found in the User Manual under Task Sequences.
TASKTYPE_ Location of end speed variable
LOAD and FRLOAD UNLOAD and FRUNLOAD var2
TRAVELRELATIVE TRAVELTOLOC (for movements that don’t involve FlowItems) var4
  • (As of FlexSim v5) When using a TRAVELRELATIVE task type with a negative endspeed to choose the path you can now use var1 (the x parameter) to tell the Robot which position row to stop at if you don’t want it to perform the entire path.
  • Next Path Number (great for known path sequences such as palletizing) - Palletizing is simply a sequence of LoadPath1-UnloadPath1-LoadPath2-UnloadPath2… once the Robot unloads the last FlowItem on the Pallet, the sequence repeats. Every Path has a “Next Path Number” field in which you can specify the path number you want to be used following the currently selected path. When the Robot executes a path that has a non-zero Next Path Number specified, it will store this path number into memory until the next time in the model run it performs a task that requires automatic path selection (not specified on the task itself). Instead of searching for a suitable path, the Robot will choose the path number stored in memory.
  • If during the model run you wish to clear the Robot’s Next Path Number memory, simply set its “nextpathselected” variable to zero and the Robot will return to conducting automatic path selection for a best-fit path (if not specified on the task).
  • A combination of a custom task sequence and Next Path Number can save a lot of time!
  • Take the example of a palletizing operation with 4 FlowItems per pallet.
    1. Make 1 load path and 4 unique unload paths to show the positioning of FlowItem on the pallet. The load path will be Path Number 1, and the unload paths will occupy Path Numbers 2 through 5. Don’t forget about the trick using the model “Step” and the “Match Highlighted Item” buttons we learned in “How do I create my own Paths?”.
    2. The path sequence we want is LoadPath1-UnloadPath1-LoadPath1-UnloadPath2- LoadPath1-UnloadPath3- LoadPath1-UnloadPath4 or Path Numbers 1-2-1-3-1-4-1-5. Since the LoadPath1 is always used for the FRLOAD task, we can specify var2 as -1 on this task.
    3. In the Path Planner, go to the load path (Path Number 1 in this example) and specify a Next Path Number = 2, as this is the first unload path of the cycle.
    4. Go to the first unload path (Path Number 2 in this example) and specify a Next Path Number = 3 (-3 will work as well). Path Number 3 should have a Next Path Number = 4, and Path Number 4 should have a Next Path Number = 5. Path Number 5 should have a Next Path Number = 2 to complete the cycle.
5 |100000

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

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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