RobotModel
- class compas.robots.RobotModel(name, joints=[], links=[], materials=[], **kwargs)[source]
Bases:
compas.data.data.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 – Unique name of the robot.
joints – List of joint elements.
links – List of links of the robot.
materials – List of global materials.
root – Root link of the model.
attr – Non-standard attributes.
Methods
add_joint
(name, type, parent_link, child_link)Adds a joint to the robot model.
add_link
(name[, visual_meshes, ...])Adds a link to the robot model.
compute_transformations
(joint_state[, link, ...])Recursive function to calculate the transformations of each joint.
copy
([cls])Make an independent copy of the data object.
Check if geometry has been loaded.
find_children_joints
(link)Returns a list of all children joints of the link.
find_parent_joint
(link)Returns the parent joint of the link or None if not found.
forward_kinematics
(joint_state[, link_name])Calculate the robot's forward kinematic.
from_data
(data)Construct the
compas.robots.RobotModel
from its data representation.from_json
(filepath)Construct an object from serialized data contained in a JSON file.
from_jsonstring
(string)Construct an object from serialized data contained in a JSON string.
from_urdf_file
(file)Construct a robot model from a URDF file model description.
from_urdf_string
(text)Construct a robot model from a URDF description as string.
Returns the name of the base link.
Returns the configurable joint names.
Returns the configurable joints.
Returns the end effector link.
Returns the name of the end effector link.
get_joint_by_name
(name)Get a joint in a robot model matching by its name.
Returns the joint types of the configurable joints.
get_joint_types_by_names
(names)Get a list of joint types given a list of joint names.
get_link_by_name
(name)Get a link in a robot model matching by its name.
iter_chain
([start, end])Iterator over the chain of all elements between a pair of start and end elements.
iter_joint_chain
([link_start_name, ...])Iterator over the chain of joints between a pair of start and end links.
Iterator over the joints that starts with the root link's children joints.
iter_link_chain
([link_start_name, link_end_name])Iterator over the chain of links between a pair of start and end links.
Iterator over the links that starts with the root link.
load_geometry
(*resource_loaders, **kwargs)Load external geometry resources, such as meshes.
Get a random configuration.
remove_joint
(name)Removes a joint to the robot model.
remove_link
(name)Removes a link to the robot model.
scale
(factor[, link])Scales the robot by factor (absolute).
to_data
()Convert an object to its native data representation.
to_json
(filepath[, pretty])Serialize the data representation of an object to a JSON file.
to_jsonstring
([pretty])Serialize the data representation of an object to a JSON string.
to_urdf_file
(file[, prettify])Construct a URDF file model description from a robot model.
to_urdf_string
([prettify])Construct a URDF string model description from a robot model.
transformed_axes
(joint_state)Returns the transformed axes based on the joint_state.
transformed_frames
(joint_state)Returns the transformed frames based on the joint_state.
Validate the object's data against its data schema (self.DATASCHEMA).
Validate the object's data against its json schema (self.JSONSCHEMA).
Get the zero joint configuration.