viam.components.base
Submodules
Package Contents
Classes
Base represents a physical base of a robot. |
|
Abstract base class for protocol messages. |
- class viam.components.base.Base(name: str)[source]
Base represents a physical base of a robot.
This acts as an abstract base class for any drivers representing specific base implementations. This cannot be used on its own. If the
__init__()
function is overridden, it must call thesuper().__init__()
function.- SUBTYPE :Final
- abstract async move_straight(distance: int, velocity: float, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs)[source]
Move the base in a straight line the given
distance
, expressed in millimeters, at the givenvelocity
, expressed in millimeters per second. Whendistance
orvelocity
is 0, the base will stop. This method blocks until completed or cancelled.- Parameters
distance (int) – The distance (in millimeters) to move. Negative implies backwards.
velocity (float) – The velocity (in millimeters per second) to move. Negative implies backwards.
- abstract async spin(angle: float, velocity: float, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs)[source]
Spin the base in place
angle
degrees, at the given angularvelocity
, expressed in degrees per second. Whenvelocity
is 0, the base will stop. This method blocks until completed or cancelled.- Parameters
angle (float) – The angle (in degrees) to spin. Negative implies backwards.
velocity (float) – The angular velocity (in degrees per second). to spin. Negative implies backwards.
- abstract async set_power(linear: viam.proto.common.Vector3, angular: viam.proto.common.Vector3, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs)[source]
Set the linear and angular velocity of the Base When
linear
is 0, the the base will spin. Whenangular
is 0, the the base will move in a straight line. When bothlinear
andangular
are 0, the base will stop. Whenlinear
andangular
are both nonzero, the base will move in an arc, with a tighter radius if angular power is greater than linear power.
- abstract async set_velocity(linear: viam.proto.common.Vector3, angular: viam.proto.common.Vector3, *, extra: Optional[Dict[str, Any]] = None, timeout: Optional[float] = None, **kwargs)[source]
Set the linear and angular velocities of the base.
- class viam.components.base.Vector3(*, x: float = ..., y: float = ..., z: float = ...)
Abstract base class for protocol messages.
Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below.
- x :float
- y :float
- z :float