PyKOS Reference

pykos is the python interface for KOS (robot operating system)

KOS Client

Main client class for interacting with KOS

from pykos import KOS

# Connect to robot
kos = KOS(ip='192.168.1.100', port=50051)

Parameters

  • ip (str, optional): IP address of robot. Default: 'localhost'
  • port (int, optional): Port number. Default: 50051

IMU Methods

get_imu_values

Get the latest IMU sensor values

values = kos.imu.get_imu_values()

Returns: IMUValuesResponse

get_imu_advanced_values

Get the latest IMU advanced values

values = kos.imu.get_imu_advanced_values()

Returns: IMUAdvancedValuesResponse

get_euler_angles

Get the latest Euler angles

angles = kos.imu.get_euler_angles()

Returns: EulerAnglesResponse

get_quaternion

Get the latest quaternion orientation

quat = kos.imu.get_quaternion()

Returns: QuaternionResponse

zero

Zero the IMU

# Basic zeroing
kos.imu.zero()

# Advanced zeroing
kos.imu.zero(duration=2.0, max_angular_error=0.1)

Parameters

  • duration (float, optional): Duration in seconds. Default: 1.0
  • max_retries (int, optional): Maximum number of retries
  • max_angular_error (float, optional): Maximum angular error during zeroing
  • max_velocity (float, optional): Maximum velocity during zeroing
  • max_acceleration (float, optional): Maximum acceleration during zeroing

Actuator Methods

calibrate

Calibrate an actuator

status = kos.actuator.calibrate(actuator_id=1)

Parameters

  • actuator_id (int): ID of the actuator to calibrate

Returns: CalibrationMetadata

command_actuators

Command multiple actuators at once

commands = [
    {'actuator_id': 1, 'position': 90},
    {'actuator_id': 2, 'velocity': 10}
]
response = kos.actuator.command_actuators(commands)

Parameters

  • commands (list): List of actuator commands. Each command is a dict with:
    • actuator_id (int): ID of the actuator
    • position (float, optional): Target position
    • velocity (float, optional): Target velocity
    • torque (float, optional): Target torque

Types

IMUResponse

class IMUResponse:
    acceleration: list[float]      # Acceleration values in m/s^2
    angular_velocity: list[float] # Angular velocity values in rad/s
    orientation: list[float]      # Orientation quaternion

ActuatorResponse

class ActuatorResponse:
    position: float  # Current position
    velocity: float  # Current velocity
    torque: float    # Current torque

CalibrationMetadata

class CalibrationMetadata:
    status: str     # Current calibration status
    actuator_id: int  # ID of calibrated actuator