Two wheels differential drive#
- module:
Bases:
WheeledKinematics
Two differential drive wheels (left, right) (e.g., a wheelchair) with a physical maximal wheel speed, and software-limited forward/backwards speeds.
It implements two types of kinematics constrains:
a maximal wheel speed that adds a linear coupling between linear and angular speed (e.g., the robot can move at maximal linear speed only straights) (same as
TwoWheelsDifferentialDriveKinematics
) - a controller that clamps linear and angular speed inside a box: these constrains when the related bounds are set to negative values.
Registered properties:
max_forward_speed (float,
max_forward_speed
)max_backward_speed (float,
max_backward_speed
)wheel_axis (float,
wheel_axis
)
Constructs a new instance.
- Parameters:
max_speed – The maximal wheel speed
wheel_axis – The wheel axis (i.e., the distance between the wheels)
max_angular_speed – The maximal angular speed, that is also limited by the 2 * max_speed / axis, if the axis is positive.
max_forward_speed – The maximal linear speed when moving forwards (set to negative or infinite to leave unconstrained)
max_backward_speed – The maximal linear speed when moving backwards (set to negative or infinite to leave unconstrained)
- Type:
Whether the agent can move backwards.
- Type:
Whether the agent can move forwards.
- Type:
The maximal linear speed when moving backwards.
- Type:
The maximal linear speed when moving forwards.
- Type:
The wheel axis.