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.0max_retries
(int, optional): Maximum number of retriesmax_angular_error
(float, optional): Maximum angular error during zeroingmax_velocity
(float, optional): Maximum velocity during zeroingmax_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 actuatorposition
(float, optional): Target positionvelocity
(float, optional): Target velocitytorque
(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
Updated 21 days ago