This page provides a detailed overview about the Robot Positioning System.
Contents
- Contents
- Overview
- Key Concepts: Creating a Landmark Registration
- Landmark Registration on an Initialization Sequence
- Landmark Registration on a Specified Number of Cycles
- Landmark Registration based on Behaviors
- Landmark Registration on Sensor Input and Variables
Overview
Robot Positioning System (RPS) is a technology that allows the robot to adapt to ever-changing, real-world environments such as common plant-floor variations that may occur (tables being bumped, fixtures being moved, and more). The Robot Positioning System also helps users to more quickly and easily re-deploy the robot after changing applications.
This system adjusts more readily to changing work environments by using visual reference markers, called Landmarks™, in conjunction with its embedded vision system. The robot is able to learn the original locations of the markers, and, when those locations change slightly, can observe the changes in orientation to the new locations and automatically adjust its positions and movements in the task accordingly.
Users can tag fixtures and machinery in the robot's environment with up to 20 Landmarks within a given task. The Robot Positioning System enables the Robot to adapt quickly to workstation changes. For best results, the Landmark should be as “close to the original location” as possible, which is defined as the Landmark being within +/- 20 mm (x/y plane) and +/- 5 mm (z axis) of its original position and 4 deg (roll/pitch) and 10 deg (yaw) of its original orientation.
Example scenarios the Robot Position System can be used in:
- Register all Landmarks during an initialization sequence on robot start up
- Register a Landmark every time the robot completes a specified number of cycles (i.e. every time 100 parts are completed)
- Register a Landmark from behavior based logic, for example re-register a Landmark if a mispick occurs by using a DO IF node
- Based on external sensor input such as a cart of material arriving into the work space that is detected by a photoelectric sensor
Landmarks
The Robot Positioning System uses Landmarks placed in the work space. A landmark is a fiducial registration marker mark placed in the field of view of an imaging system to be used as a visual point of reference. Rethink Robotics supplies landmarks, unique to Intera, that are anodized aluminum with a strong adhesive backing. These Landmarks are placed on the surface of modules, machinery, or equipment in the work area (CNC machine, conveyors, carts, stands, tables).
Note: Landmark numbers 1-4 are included with the purchase of a robot. Landmarks 5-20 are available as an optional accessory).
Key Concepts: Creating a Landmark Registration
- Description of the Landmark Node
- Landmarks are created and registered in the Vision panel.
- There are two ways to re-register a Landmark: Intera Studio Vision panel and on the Robot Screen.
- Best practices for getting the most out of Landmarks are provided in the Robot Positioning System (RPS) Guide for Success document.
When a landmark note is encountered in a behavior tree, the robot will automatically move to the landmark pose and re-register the landmark. The re-registration process will update the landmark frame and all associated nodes. (Note: Prior to the release of Intera 5.2, a Move To node was needed in order to have the robot move to the landmark pose. With the release of Intera 5.2, this is no longer necessary). See the image below for reference and note that the "camera arm pose" is selected by default.
The Landmark registration creates a Frame. When the robot re-registers the Landmark, it updates the position of the frame all associated nodes move with it. The example below demonstrates a pattern moving relative to its Landmark parent frame.
Landmark Registration on an Initialization Sequence
Re-registering Landmarks on task start-up can help ensure the robot is registered to the equipment it is working on before it starts performing the task. The steps below detail how to create an initialize sequence for re-registering landmarks. Note that the steps do not include the procedure for initially registering the landmark, see the Surface and Landmark section of the Vision page for instructions.
- Create a Move To node for a safe pose. This is used to move the robot arm to a location that will allow it to move to the landmark registration pose without colliding with any objects in the work cell.
- Create a Landmark Node .
- Select the Landmark that will be registered at this step and rename the landmark node if desired.
- Create a final safe pose Move To node for the robot to go to before it starts the main task. This can be the same location as the first safe pose. If the same position is used, the same pose can be selected from the arm pose list instead of adding a new arm pose.
- Set the parent frame of all nodes in the task that you want associated to the Landmark_"#". One example is shown below:
Landmark Registration on a Specified Number of Cycles
In this example, the robot will re-register the landmark every 100 cycles.
- Create your task, this example will use a basic Pick and Place task created using Studio.
- Create a User Variable named Current Part Count, Data Type: Integer, with a Default value of 0. This variable will be used to keep track of the number of parts completed (# of cycles).
- In place sequence, insert a Set to node after the Retract Move To node .
- Set the Current Part Count variable to Increment. This is used so that after every Place the Current Part Count will increment its value +1.
- Insert a Do IF node before the Pick sequence in task Loop. This will add the logic to do a Landmark registration if the part count reaches 100 cycles.
- In the Do If, Create a Move To node for a safe pose.
- Create a Move To node for a registration scanning pose.
- In the scanning pose node editor, set the Arm Posetool center point to hand camera.
- Create a Landmark Node
- Select the Landmark that will be registered at this step. Rename the landmark if desired.
- Create a another safe pose Move To node for the robot to go to before it starts the main task.
- Set the parent frame of all nodes in the task that you want associated to the Landmark_"#". One example is shown below:
- Set the conditionals for Do IF node to Current Part Count==100.
- Insert a Set to node after the Safe Pose Move To node.
- Set the variable Current Part Count to Reset. This will reset the Current Part Count to 0 so it will begin to continue doing the Pick an Place task.
Landmark Registration based on Behaviors
A smart way to use Landmarks is to register based of logic created in user-designed behaviors. One example is to have the robot register a Landmark after a miss pick occurs to accommodate or any variation in the environment that may have occurred. This could be due to if a tray or table has moved causing the robot to miss pick. This example scenario assumes that a Smart Pick was created.
- After the Retry Fails Do IF node and the Set to grip signal releases, insert a Safe pose by creating a Move To node .
- Insert a Landmark Node .
- Select the Landmark_"#" that will be registered at this step.
- Insert a safe pose Move To node for the robot to go to before to allow the robot safely get back to the Approach pose.
- Set the parent frame of all nodes in the task that you want associated to the Landmark_"#". One example is shown below:
- Completed Task Tree View:
Landmark Registration on Sensor Input and Variables
This example is a machine tending application that will re-register after every two Parts are completed.
- Two user variables are created to help build logic in the task.
- Assume a photoelectric sensor (Cart Sensor) is connected to a device and configured in the Signal panel.
- A Do IF is inserted for the Landmark registration sequence. The conditions are set to Parts Completed == 0 AND Do Machine Tend == false.
- A Wait Until node is inserted to start the registration sequence. The nodes will not run until the Cart Sensor is true.
- A Set To node is inserted at the end of the sequence to flip the variable to do the main Machine Tend Loop.
- The Loop If node will run when Do Machine Tend == true.
- The task will run the Do Machine Tend Loop If node until Part Completed = 2. Then a Do IF will run a Set To node.
- The Set To node sets Do Registration to true, Parts Complete to 0, and Do Machine Tend to 0. The robot will now go back the to the registration sequence.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article