robots.turtle

Crawling turtle: two crank motors coordinated by a virtual flywheel, and a VSA motor.

robot and controller are the lab’s; crawler is a simple body for the simulator.

Module Attributes

CRANKS

Order of the two crank motors in q and in the motor vector.

MOTOR_SIGNS

Sign of each crank motor against the gait convention (the right motor is mounted mirrored).

MOTOR_IDS

Bus IDs of the two crank motors, left then right.

VSA_ID

Bus ID of the VSA motor, held at its start position.

VSA_RANGE

Range of the VSA motor's angle [rad] (position-controlled, not part of the crank law).

DEFAULTS

Default controller parameters (starting values, not tuned).

PHASE_SPRINGS

Optional controller parameters (depth of the stiffness swing, phase of its peak, steering, largest stretch): give any and the cranks' springs follow the phase, as a PhaseSpring.

CRAWLER

placeholders.

Functions

controller(robot[, name])

The virtual flywheel controller; each crank follows the flywheel phase through a spring.

crawler([name])

A simple crawler for the simulator, not the lab's turtle: its constants are placeholders.

hardware()

The cranks' motors and the held VSA motor.

initial_state(meas)

Flywheel state at start: the left crank's angle, at rest.

robot([name])

The two cranks as a robot in the gait convention: q = (left, right) [rad].