You're reading the documentation for a development version. For the latest released version, please have a look at master.
Transformation Tree Node
Input and Output
The Transformation Tree node creates a relationship graph of relative positions of objects. There are two steps involved in using this node. The first step is to define a set of relationships between objects positions and their relative transformations, then we can query the internal graph to produce a list of transformations as the output. You can refer to 3D Transformation Concept for more information on the transformation concept.
Input and Output
The input can be any number of pose items, each item represents a transformation from one coordinate system to another.
Input |
Type |
Description |
---|---|---|
Object A name |
String |
The name of first object, same object much have same name across all pose
items otherwise the node will not work properly.
|
Object B name |
String |
The name of second object. |
|
Pose |
A pose data representing, A’s relative position in B’s coordinate system,
this input field can be linked with other nodes’ output, or you can manually
set the pose. All thse pose item will result in a transformation graph that
contains a path between any two objects in the pose items (if such path exist).
|
This node can have any number of output poses.
Output |
Type |
Description |
---|---|---|
|
Pose |
Represents a path (combined transformation) from one object X to Y. The final output
will be a vector of the poses (each generated by one query). The order of output is
the same as what appears in the user-interface.
|
size |
int |
The number of poses. |
Procedure to Use
Please refer to 3D Transformation Concept for more information on the transformation concept.
Define their name and Transformation A in B using link expression from node, or through Set Pose where you can define your own transformation, and click Apply.
Repeat step 3-4 for number of inputs that you need.
In the opened dialog, click the “+” sign to add output transformations, select the objects from the list and click apply. Repeat for number of outputs you need.
Exercise
Try to come up with the setting on Mod Finder node according to the requirements below. You can work on these exercise with the help of this article. We also have answers attached at the end of this exercise.
Scenario 1
There is a project which requires the robot to pick all the occurrences of the T-tube in scene. Your colleague has setup the 3D camera and robot in the lab for experiment. Here’s a link to .dcf file which are used as camera input.
You need to help him setup the Transformation node in main_flowchart. Please choose the all correct answers from the options:
1. Shown in the following image, The picking pose is too low. You believe that the height is too low by over a distance of object-in-cloud. What output from the transformation tree can help you correct this error?
Suppose we have the following relations as the input, what can we derive as an output?
object in cloud
base in cloud
tool in object
object in base
base in object
tool in base
All of the above
In order to pick the object, we have to send the tool-in-base pose to the robot, what should you set as input in order to compute the position to send to the robot.
object in cloud
base in cloud
tool in object
All of the above
A and C
Answers for Exercise
Answer: B
Explanation: Since the height is over by one obj-in-cloud, we have to subtract the distance in order to correct it, and applying cloud-in-obj, its inverse, will correct the error.
Answer: D
Explanation: All relations can be derived given the premise.
Answer: D
Explanation: All premise is needed to compute tool-in-base, and it can not be reached without base in cloud.