This page provides a detailed overview about the Pattern Node.


Contents


Node Description


Pattern 5 1.png


Pattern Node


A Pattern Node is used to create grids in the robot's workspace. Patterns enable a behavior tree to move through a defined set of indexes that the user creates. Every pattern has a frame which is automatically created when the Pattern Node is created and set in the workspace. On each index of the Pattern Node, the frame’s position is updated so that it is coincident with the next location in the Pattern.


By making the pattern’s moving frame be the frame for the set of Move To nodes that define the movement that should occur at each location, the user can define just a single set of Move To nodes, rather than a set of unique Move To nodes for each location.

 

Node Type


Composite - has 0 or more children, and is typically used to control the logical flow of execution of the tree.


Node Inspector


Pattern Node Inspector Pre.png


  • ID

Not editable

  • name

Auto generated and user editable

  • catch errors

See description of Error Handling. Default off.

  • stop on failure

If failure detected, will stop the task on this node.

  • pattern type

Default grid, can choose user defined

  • dimensions

Number of rows, columns, and stacks in the desired Grid pattern

  • SET IN WORKSPACE

Opens the Pattern Workspace Window. Set the 4 corners of your pattern


Pattern Workspace Node Inspector.png


  • VALIDATE

Validates that the chosen poses will move without hindrance. Shows following Window if successful.

Validate Pattern Success.png

  • ADJUST ENDPOINTS

Go here to adjust any poses in your grid

  • Comments

User editable - add comments about this node.

 

Node Inspector after Validation


Pattern Node Inspector Post.png


  • parent frame

Choose the frame for this grid

  • user variable control

May be used in conjunction with a variable to tell the robot which pattern point to go to

  • current pattern point

Not editable; shows the current pattern point shown on the 3D View

  • Snake pattern

Choose this sequence of movements for the arm to follow


ICONS SNAKE.png


  • Zigzag pattern

Choose this sequence of movements for the arm to follow


ICONS ZIGZAG.png


  • Comments

User editable - add comments about this node. 


Example


Follow the steps below to add a Pattern Node to a behavior tree.

  1. Select the Pattern Node icon to add it to the Behavior Tree
  2. Create all necessary children nodes of the pattern needed to create your robot action (ie. Move to, Wait, Set Values)
  3. Select the Pattern Node on the behavior tree and select the Node Inspector
  4. On the Node Inspector, enter the X, Y, and Z values of the array you need to create (ie. 2x2x1 will give you 4 points in the array)
  5. Press "Set in Workspace"
  6. The Pattern Workspace window will appear. Move the arm to the first corner of the grid and select Corner Location #1 "Set Location" button.
  7. Move the arm to the second corner and press Corner Location #2 "Set Location" button.
  8. Repeat this method for the 3rd and 4th corners.
  9. Press "validate" to make sure all of the Move To nodes are valid for the entire pattern. If an error message appears, follow the steps below to "Adjust Poses."
  10. If no errors appear, the user will get a message that says "This pattern and all its children have valid joint angles."
  11. Set the parent frame of all Move To nodes to pattern moving frame

 

Note: If the Move to node is added to a validated Pattern node, the parent frame of the Move To node would by default be the Pattern node fixed frame. Otherwise, if the Move To node is added to an invalid Pattern node, the parent frame of the Move To node would by default be the base frame. This can be changed to the Pattern node fixed frame after it has been validated. 


Follow Steps below to adjust specific poses for a Pattern Index.

  1. On the Pattern Node Inspector, select Adjust Poses.
  2. An Edit Poses window will appear. In this window, all of the "indexes" of the pattern are shown.
    • Note - Indexes that contain an invalid pose will be red.
  3. Select the Index that you wish to make a modification for.
  4. Select the particular move that you need to edit and click the pencil edit icon.
    • Node - Specific move poses that are invalid will be red.
  5. In Zero-G, move the arm to the new pose and select "Use Current Joint Pose" to update the pose.
  6. Press "Save + Return"