Targets
Single Targets (Static)
Target classes are used to describe the goal condition (i.e. end condition) of a robot for motion planning. They can be used for both Free Motion Planning (FMP) and Cartesian Motion Planning (CMP).
The compas_fab.robots.FrameTarget
is the most common target for motion planning.
It defines the complete pose of the end-effector (or the robot flange, if no tool is attached).
A frame target is commonly created from a compas.geometry.Frame
object, or alternatively from a compas.geometry.Transformation
object.
The compas_fab.robots.PointAxisTarget
class is used for specifying a target
based on a point (target_point) and a Z-Axis (target_z_axis).
This is useful for example when the robot is using a cylindrical tool to perform a task,
for example 3D printing, welding or drilling.
In a more general case, it can be used for any tools for which the rotation
around its own Z axis is acceptable during use.
The point and the Z-Axis are defined relative to the tool coordinate frame (TCF).
The goal is (1) for the tool’s TCF point to coincide with the target_point,
and (2) for the TCF’s Z-axis to become parallel to the target_z_axis.
Note that the exact orientatio of the TCF is not determined until after the target is planned.
The compas_fab.robots.ConfigurationTarget
class is used to specify a target
based on a specific robot configuration (joint values).
For example, it can be used to move the robot to a taught position acquired by jogging.
Typically, the ConfigurationTarget should have the same number of joints as the planning group
of the robot. However, it is possible to specify a subset of the joints, in which
case the remaining joints are left unspecified.
The compas_fab.robots.ConstraintSetTarget
class is used to specify a list of
constraints as a planning target. This is intended for advanced users who want to create custom
combination of constraints. See compas_fab.robots.Constraint
for available
constraints. At the moment, only the ROS MoveIt planning backend supports this target type.