Skip to content

hardware

DoubleWheelsHardware

DoubleWheelsHardware(
    robot_brain: rosys.hardware.RobotBrain,
    *,
    can: rosys.hardware.CanHardware,
    name: str = "wheels",
    left_back_can_address: int = 0,
    left_front_can_address: int = 256,
    right_back_can_address: int = 512,
    right_front_can_address: int = 768,
    m_per_tick: float = 0.01,
    width: float = 0.5,
    is_left_reversed: bool = False,
    is_right_reversed: bool = False,
    odrive_version: int = 4
)

Bases: Wheels, ModuleHardware

This module implements wheels hardware.

Drive and stop commands are forwarded to a given Robot Brain. Velocities are read and emitted regularly.

MowerHardware

MowerHardware(
    robot_brain: rosys.hardware.RobotBrain,
    *,
    can: rosys.hardware.CanHardware,
    m0_can_address: int = 0,
    m1_can_address: int = 256,
    m2_can_address: int = 512,
    m_per_tick: float = 0.01,
    speed: float = 0.0,
    is_m0_reversed: bool = False,
    is_m1_reversed: bool = False,
    is_m2_reversed: bool = False,
    odrive_version: int = 4,
    **kwargs
)

Bases: Mower, ModuleHardware

This module implements extrernal mower hardware.

on and off commands are forwarded to a given Robot Brain.

TornadoHardware

TornadoHardware(
    robot_brain: rosys.hardware.RobotBrain,
    *,
    name: str = "tornado",
    can: rosys.hardware.CanHardware,
    expander: rosys.hardware.ExpanderHardware | None,
    min_position: float,
    z_can_address: int = 1024,
    turn_can_address: int = 1280,
    m_per_tick: float = 0.01,
    end_top_pin: int = 32,
    end_top_pin_expander: bool = False,
    end_bottom_pin: int = 5,
    end_bottom_pin_expander: bool = False,
    ref_motor_pin: int = 33,
    ref_motor_pin_expander: bool = False,
    ref_gear_pin: int = 4,
    ref_gear_pin_expander: bool = False,
    ref_knife_stop_pin: int = 35,
    ref_knife_stop_pin_expander: bool = False,
    ref_knife_ground_pin: int = 18,
    ref_knife_ground_pin_expander: bool = False,
    motors_on_expander: bool = False,
    end_stops_on_expander: bool = True,
    is_z_reversed: bool = False,
    is_turn_reversed: bool = False,
    speed_limit: int = 1,
    turn_speed_limit: int = 1,
    current_limit: int = 20,
    z_reference_speed: float = 0.0075,
    turn_reference_speed: float = 0.25,
    odrive_version: int = 4
)

Bases: Tornado, ModuleHardware

The z axis module is a simple example for a representation of real or simulated robot hardware.

YAxisCanOpenHardware

YAxisCanOpenHardware(
    robot_brain: rosys.hardware.RobotBrain,
    *,
    name: str = "yaxis",
    can: rosys.hardware.CanHardware,
    expander: rosys.hardware.ExpanderHardware | None,
    can_address: int = 96,
    max_speed: int = 2000,
    reference_speed: int = 40,
    min_position: float = -0.068,
    max_position: float = 0.068,
    axis_offset: float = 0.075,
    steps_per_m: float = 1481481.48,
    end_r_pin: int = 19,
    end_l_pin: int = 21,
    motor_on_expander: bool = False,
    end_stops_on_expander: bool = True,
    end_stops_inverted: bool = False,
    reversed_direction: bool = False
)

Bases: Axis, ModuleHardware

The y axis hardware module is a simple example for a representation of real robot hardware.

ZAxisCanOpenHardware

ZAxisCanOpenHardware(
    robot_brain: rosys.hardware.RobotBrain,
    *,
    name: str = "zaxis",
    can: rosys.hardware.CanHardware,
    expander: rosys.hardware.ExpanderHardware | None,
    can_address: int = 96,
    max_speed: int = 2000,
    reference_speed: int = 40,
    min_position: float = -0.15,
    max_position: float = 0.0,
    axis_offset: float = 0.0,
    steps_per_m: float = 1481481.48,
    end_t_pin: int = 19,
    end_b_pin: int = 21,
    motor_on_expander: bool = False,
    end_stops_on_expander: bool = True,
    end_stops_inverted: bool = False,
    reversed_direction: bool = False
)

Bases: Axis, ModuleHardware

The z axis hardware module is a simple example for a representation of real robot hardware.