compas.robots.ToolModel

class compas.robots.ToolModel(visual, frame_in_tool0_frame, collision=None, name='attached_tool', link_name=None)[source]

Bases: compas.robots.model.robot.RobotModel

Represents a tool to be attached to the robot’s flange.

Attributes
  • visual (compas.datastructures.Mesh) – The visual mesh of the tool.

  • frame (compas.geometry.Frame) – The frame of the tool in tool0 frame.

  • collision (compas.datastructures.Mesh) – The collision mesh representation of the tool.

  • name (str) – The name of the ToolModel. Defaults to ‘attached_tool’.

  • link_name (str) – The name of the Link to which the tool is attached. Defaults to None.

Examples

>>> import compas
>>> from compas.datastructures import Mesh
>>> from compas.geometry import Frame
>>> mesh = Mesh.from_stl(compas.get('cone.stl'))
>>> frame = Frame([0.14, 0, 0], [0, 1, 0], [0, 0, 1])
>>> tool = ToolModel(mesh, frame)

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.

ensure_geometry()

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 a ToolModel 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_robot_model(robot, frame_in_tool0_frame)

Creates a ToolModel from a compas.robots.RobotModel instance.

from_t0cf_to_tcf(frames_t0cf)

Converts frames at the robot’s flange (tool0 frame) to frames at the robot’s tool tip (tcf frame).

from_tcf_to_t0cf(frames_tcf)

Converts a list of frames at the robot’s tool tip (tcf frame) to frames at the robot’s flange (tool0 frame).

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.

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(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(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.

get_urdf_element()

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.

iter_joints()

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.

iter_links()

Iterator over the links that starts with the root link.

load_geometry(*resource_loaders, **kwargs)

Load external geometry resources, such as meshes.

random_configuration()

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_data()

Validate the object’s data against its data schema (self.DATASCHEMA).

validate_json()

Validate the object’s data against its json schema (self.JSONSCHEMA).

zero_configuration()

Get the zero joint configuration.

Attributes

DATASCHEMA

The schema of the data of this object.

JSONSCHEMA

The schema of the JSON representation of the data of this object.

axes

Returns the joints’ axes.

data

Returns the data dictionary that represents the tool.

dtype

The type of the object in the form of a “2-level” import and a class name.

frames

Returns the frames of links that have a visual node.

guid

The globally unique identifier of the object.

name

The name of the object.