_active_hinge

Module Contents

Classes

ActiveHinge

An Active Hinge Module.

class ActiveHinge(rotation: float | modular_robot.body._right_angles.RightAngles, servo1_bounding_box: pyrr.Vector3, servo2_bounding_box: pyrr.Vector3, frame_bounding_box: pyrr.Vector3, frame_offset: float, servo_offset: float, frame_mass: float, servo1_mass: float, servo2_mass: float, joint_offset: float, static_friction: float, dynamic_friction: float, range: float, effort: float, velocity: float, armature: float, pid_gain_p: float, pid_gain_d: float, child_offset: float, sensors: list[modular_robot.body.sensors.Sensor])

Bases: modular_robot.body._module.Module

Inheritance diagram of modular_robot.body.base._active_hinge.ActiveHinge

An Active Hinge Module.

property attachment: modular_robot.body._module.Module | None

Get the module attached to this hinge.

Returns:

The attachment points module.

property static_friction: float

Get the static friction.

Returns:

The value.

property dynamic_friction: float

Get the dynamic friction.

Returns:

The value.

property range: float

Get the range of the servo.

Returns:

The value.

property effort: float

Get the effort of the servo.

Returns:

The value.

property velocity: float

Get the velocity of the servo.

Returns:

The value.

property servo1_bounding_box: pyrr.Vector3

Get the bounding box of the first servo part.

Sizes are total length, not half-length from origin. :return: Vector3 with sizes of bbox in x,y,z dimension (m).

property servo2_bounding_box: pyrr.Vector3

Get the bounding box of the second servo part.

Sizes are total length, not half-length from origin. :return: Vector3 with sizes of bbox in x,y,z dimension (m).

property frame_bounding_box: pyrr.Vector3

Get the bounding box of the frame.

Sizes are total length, not half-length from origin. :return: Vector3 with sizes of bbox in x,y,z dimension (m).

property frame_offset: float

Get the offset of the frame (in m).

Returns:

The value.

property servo_offset: float

Get the servo offset (in m).

Returns:

The value.

property frame_mass: float

Get the frame mass (in kg).

Returns:

The value.

property servo1_mass: float

Get the mass of the first servo part (in kg).

Returns:

The value.

property servo2_mass: float

Get the mass of the second servo part (in kg).

Returns:

The value.

property joint_offset: float

Get the joint offset (in m).

Returns:

The value.

property armature: float

Get the armature of the joint.

This represents the inertia of the motor itself when nothing is attached.

Returns:

The value.

property pid_gain_p: float

Get the proportional gain of the pid position controller.

Returns:

The value.

property pid_gain_d: float

Get the derivative gain of the pid position controller.

Returns:

The value.

ATTACHMENT = 0
attachment_points

The base module only has orientation as its parameter since not all modules are square.

Here we covert the angle of the module to its orientation in space.