Robot¶
-
class
compas_fab.robots.
Robot
(model, artist=None, semantics=None, client=None)[source]¶ Bases:
object
Represents a robot.
This class binds together several building blocks, such as the robot’s descriptive model, its semantic information and an instance of a backend client into a cohesive programmable interface. This representation builds upon the model described in the class
compas.robots.RobotModel
of the COMPAS framework.- Attributes
model (
RobotModel
) – The robot model, usually created from an URDF structure.artist (
compas.robots.base_artist.BaseRobotModelArtist
) – Instance of the artist used to visualize the robot model. Defaults toNone
.semantics (
compas_fab.robots.RobotSemantics
) – The semantic model of the robot. Defaults toNone
.client (
compas_fab.backends.interfaces.ClientInterface
) – The backend client to use for communication, e.g.compas_fab.backends.RosClient
attributes (
dict
) – Named attributes related to the robot instance.attached_tool (
compas_fab.robots.Tool
) – Instance of the tool attached to the robot, if any.
Methods
__init__
(model[, artist, semantics, client])Initialize self.
attach_tool
(tool[, group, touch_links])Attach a tool to the robot independently of the model definition.
basic
(name[, joints, links, materials])Create the most basic instance of a robot, based only on name.
constraints_from_configuration
(…[, group])Create joint constraints for all joints of the configuration.
constraints_from_frame
(frame_WCF, …[, group])Create a position and an orientation constraint from a frame calculated for the group’s end-effector link.
Detach the attached tool.
draw
()Alias of
draw_visual()
.Draw the robot’s collision geometry using the defined
Robot.artist
.Draw the robot’s visual geometry using the defined
Robot.artist
.Check if the client is set.
Check if the model’s geometry has been loaded.
Check if semantics is set.
forward_kinematics
(configuration[, group, …])Calculate the robot’s forward kinematic.
forward_kinematics_deprecated
(configuration)from_t0cf_to_tcf
(frames_t0cf)Convert frames at the robot’s flange (tool0 frame) to frames at the robot’s tool tip (tcf frame) using the attached tool.
from_tcf_to_t0cf
(frames_tcf)Convert a list of frames at the robot’s tool tip (tcf frame) to frames at the robot’s flange (tool0 frame) using the attached tool.
get_RCF
([group])Get the origin frame of the robot.
get_base_frame
([group, full_configuration])Get the frame of the robot’s base link, which is the robot’s origin frame.
get_base_link
([group])Get the robot’s base link.
get_base_link_name
([group])Get the name of the robot’s base link.
get_configurable_joint_names
([group])Get the configurable joint names.
get_configurable_joint_types
([group])Get the configurable joint types.
get_configurable_joints
([group])Get the robot’s configurable joints.
get_configuration_from_group_state
(group, …)Get a
Configuration
from a group’s group state.get_end_effector_frame
([group, …])Get the frame of the robot’s end effector.
get_end_effector_link
([group])Get the robot’s end effector link.
get_end_effector_link_name
([group])Get the name of the robot’s end effector link.
get_group_configuration
(group, …)Get the group’s configuration.
get_group_names_from_link_name
(link_name)Get the names of the groups link_name belongs to.
get_joint_by_name
(name)RGet the joint in the robot model matching the given name.
get_joint_types_by_names
(names)Get a list of joint types given a list of joint names.
get_link_names
([group])Get the names of the links in the kinematic chain.
Get the names of the links with collision geometry.
get_position_by_joint_name
(configuration, …)Get the position of named joint in given configuration.
info
()Print information about the robot.
inverse_kinematics
(frame_WCF[, …])Calculate the robot’s inverse kinematic for a given frame.
inverse_kinematics_deprecated
(frame_WCF[, …])Get the robot’s full configuration by merging a group’s configuration with a full configuration.
orientation_constraint_from_frame
(frame_WCF, …)Create an orientation constraint from a frame on the group’s end-effector link.
plan_cartesian_motion
(frames_WCF[, …])Calculate a cartesian motion path (linear in tool space).
plan_cartesian_motion_deprecated
(frames_WCF)plan_motion
(goal_constraints[, …])Calculate a motion path.
plan_motion_deprecated
(goal_constraints[, …])position_constraint_from_frame
(frame_WCF, …)Create a position constraint from a frame on the group’s end-effector link.
random_configuration
([group])Get a random configuration.
scale
(factor)Scale the robot geometry by a factor (absolute).
set_RCF
(robot_coordinate_frame[, group])Move the origin frame of the robot to the robot_coordinate_frame.
to_local_coordinates
(frame_WCF[, group])Represent a frame from the world coordinate system (WCF) in the robot’s coordinate system (RCF).
to_world_coordinates
(frame_RCF[, group])Represent a frame from the robot’s coordinate system (RCF) in the world coordinate system (WCF).
transformation_RCF_WCF
([group])Get the transformation from the robot’s coordinate system (RCF) to the world coordinate system (WCF).
transformation_WCF_RCF
([group])Get the transformation from the world coordinate system (WCF) to the robot’s coordinate system (RCF).
transformed_axes
(configuration[, group])Get the robot’s transformed axes.
transformed_frames
(configuration[, group])Get the robot’s transformed frames.
update
(configuration[, group, visual, collision])Update the robot’s geometry.
zero_configuration
([group])Get the zero joint configuration.
Attributes
artist
Artist used to visualize robot model.
group_names
All planning groups of the robot.
group_states
All group states of the robot.
main_group_name
Robot’s main planning group.
name
Name of the robot, as defined by its model.
root_name
Robot’s root name.
scale_factor
Robot’s scale factor.