RobotModel.add_joint
- RobotModel.add_joint(name, type, parent_link, child_link, origin=None, axis=None, limit=None, **kwargs)[source]
Adds a joint to the robot model.
Provides an easy way to programmatically add a joint to the robot model.
- Parameters
name (str) – The name of the joint
type (int) – The joint type, e.g. Joint.REVOLUTE
parent_link (
Link
) – The joint’s parent link.child_link (
Link
) – The joint’s child link.origin (
Frame
) – The joint’s origin frame.axis (
Vector
) – The joint’s axis.limit (list of 2 float) – The lower and upper limits of the joint (used for joint types Joint.REVOLUTE or Joint.PRISMATIC)
**kwargs (dict[str, Any], optional) – The keyword arguments (kwargs) collected in a dict. These allow using non-standard attributes absent in the URDF specification.
- Returns
Joint
– The created Joint- Raises
ValueError – If the joint name is already used in the chain.
Examples
>>> from compas.geometry import Frame >>> robot = RobotModel('robot') >>> parent_link = robot.add_link('link0') >>> child_link = robot.add_link('link1') >>> origin = Frame.worldXY() >>> axis = (1, 0, 0) >>> j = robot.add_joint("joint1", Joint.CONTINUOUS, parent_link, child_link, origin, axis)