Skip to main content

subscribe_odom

Signature:

BoosterRobot.subscribe_odom(
callback: Callable[[OdomState], None],
*,
queue_size: int = 0,
overflow: OverflowPolicy = "drop_oldest",
) -> SensorSubscription

Description:

Subscribe to odometry data updates. When data arrives, the callback function receives an OdomState object.

Parameters:

Parameter

Type

Default

Description

callback

Callable[[OdomState], None]

Required

Odometry callback function.

queue_size

int

0

Pending callback queue size; 0 means unlimited.

overflow

OverflowPolicy

"drop_oldest"

Overflow policy when queue is full, see "Tasks and Subscriptions / OverflowPolicy".

Returns:

SensorSubscription, see "Tasks and Subscriptions / SensorSubscription"

Raises:

None.

Example:

import time
from boosteros.robots.booster import BoosterRobot
from boosteros.types import OdomState

robot = BoosterRobot()

def on_odom(data: OdomState) -> None:
print(data.pose_2d)
# Example output: [0. 0. -1.56997216]

sub = robot.subscribe_odom(on_odom)
try:
time.sleep(2.0)
finally:
sub.unsubscribe()