RobotModel

class compas.robots.RobotModel(name=None, joints=(), links=(), materials=(), **kwargs)[source]

Bases: Data

RobotModel is the root element of the model.

Instances of this class represent an entire robot as defined in an URDF structure.

In line with URDF limitations, only tree structures can be represented by this model, ruling out all parallel robots.

Attributes
  • name (str) – Unique name of the robot.

  • joints (list[Joint]) – List of joint elements.

  • links (list[Link]) – List of links of the robot.

  • materials (list[Material]) – List of global materials.

  • root (Link) – Root link of the model.

  • attr (dict) – Non-standard attributes.

Methods

add_joint

Adds a joint to the robot model.

add_link

Adds a link to the robot model.

compute_transformations

Recursive function to calculate the transformations of each joint.

ensure_geometry

Check if geometry has been loaded.

find_children_joints

Returns a list of all children joints of the link.

find_parent_joint

Returns the parent joint of the link or None if not found.

forward_kinematics

Calculate the robot's forward kinematic.

from_urdf_file

Construct a robot model from a URDF file model description.

from_urdf_string

Construct a robot model from a URDF description as string.

get_base_link_name

Returns the name of the base link.

get_configurable_joint_names

Returns the configurable joint names.

get_configurable_joints

Returns the configurable joints.

get_end_effector_link

Returns the end effector link.

get_end_effector_link_name

Returns the name of the end effector link.

get_joint_by_name

Get a joint in a robot model matching by its name.

get_joint_types

Returns the joint types of the configurable joints.

get_joint_types_by_names

Get a list of joint types given a list of joint names.

get_link_by_name

Get a link in a robot model matching by its name.

get_urdf_element

iter_chain

Iterator over the chain of all elements between a pair of start and end elements.

iter_joint_chain

Iterator over the chain of joints between a pair of start and end links.

iter_joints

Iterator over the joints that starts with the root link's children joints.

iter_link_chain

Iterator over the chain of links between a pair of start and end links.

iter_links

Iterator over the links that starts with the root link.

load_geometry

Load external geometry resources, such as meshes.

random_configuration

Get a random configuration.

remove_joint

Removes a joint to the robot model.

remove_link

Removes a link to the robot model.

scale

Scales the robot by factor (absolute).

to_urdf_file

Construct a URDF file model description from a robot model.

to_urdf_string

Construct a URDF string model description from a robot model.

transformed_axes

Returns the transformed axes based on the joint_state.

transformed_frames

Returns the transformed frames based on the joint_state.

ur5

"Construct a UR5 robot model.

zero_configuration

Get the zero joint configuration.

Inherited Methods

ToString

Converts the instance to a string.

copy

Make an independent copy of the data object.

from_data

Construct an object of this type from the provided data.

from_json

Construct an object from serialized data contained in a JSON file.

from_jsonstring

Construct an object from serialized data contained in a JSON string.

sha256

Compute a hash of the data for comparison during version control using the sha256 algorithm.

to_data

Convert an object to its native data representation.

to_json

Serialize the data representation of an object to a JSON file.

to_jsonstring

Serialize the data representation of an object to a JSON string.

validate_data

Validate the object's data against its data schema.

validate_json

Validate the object's data against its json schema.