机器人主控制服务
约 1963 字大约 7 分钟
2025-01-27
提供机器人系统主控制器,通过
MagicRobot
类可以进行资源初始化、管理通信连接、访问各子控制器如运动控制器、语音、状态监控以及传感器控制器等。
接口定义
MagicRobot
是机器人SDK的统一入口类。
MagicRobot
项目 | 内容 |
---|---|
类名 | MagicRobot |
构造函数 | robot = MagicRobot() |
功能概述 | 构造函数,创建 MagicRobot 实例。 |
备注 | 构造内部状态。 |
initialize
项目 | 内容 |
---|---|
函数名 | initialize |
函数声明 | bool initialize(str local_ip) |
功能概述 | 初始化机器人系统,包括控制器与网络模块。 |
参数说明 | local_ip :本地通信IP地址。 |
返回值 | True 表示成功,False 表示失败。 |
备注 | 首次使用前必须调用。 |
shutdown
项目 | 内容 |
---|---|
函数名 | shutdown |
函数声明 | void shutdown() |
功能概述 | 关闭机器人系统,释放资源。 |
备注 | 配合 initialize 使用。 |
connect
项目 | 内容 |
---|---|
函数名 | connect |
函数声明 | Status connect() |
功能概述 | 与机器人服务建立通信连接。 |
返回值 | Status 对象,Status.code == ErrorCode.OK 表示成功。 |
备注 | 阻塞接口,需初始化后调用。 |
disconnect
项目 | 内容 |
---|---|
函数名 | disconnect |
函数声明 | Status disconnect() |
功能概述 | 断开与机器人服务的连接。 |
返回值 | Status 对象,Status.code == ErrorCode.OK 表示成功。 |
备注 | 阻塞接口,与 connect 配对使用。 |
get_sdk_version
项目 | 内容 |
---|---|
函数名 | get_sdk_version |
函数声明 | str get_sdk_version() |
功能概述 | 获取当前 SDK 的版本号。 |
返回值 | SDK 版本字符串(如 0.0.1 )。 |
备注 | 非阻塞接口,便于调试或日志标记。 |
set_timeout
项目 | 内容 |
---|---|
函数名 | set_timeout |
函数声明 | void set_timeout(int timeout) |
功能概述 | 设置接口调用的超时时间。 |
参数说明 | timeout :单位为毫秒。 |
返回值 | 无 |
备注 | 非阻塞接口,默认值为 5000 毫秒。 |
get_motion_control_level
项目 | 内容 |
---|---|
函数名 | get_motion_control_level |
函数声明 | ControllerLevel get_motion_control_level() |
功能概述 | 获取当前运动控制级别(高层/低层)。 |
返回值 | ControllerLevel 枚举值。 |
备注 | 非阻塞接口,用于判断当前控制权限。 |
set_motion_control_level
项目 | 内容 |
---|---|
函数名 | set_motion_control_level |
函数声明 | Status set_motion_control_level(ControllerLevel level) |
功能概述 | 设置当前运动控制级别。 |
参数说明 | level :控制权限枚举值。 |
返回值 | Status 对象,Status.code == ErrorCode.OK 表示设置成功。 |
备注 | 阻塞接口,控制模式切换时使用。 |
get_high_level_motion_controller
项目 | 内容 |
---|---|
函数名 | get_high_level_motion_controller |
函数声明 | HighLevelMotionController get_high_level_motion_controller() |
功能概述 | 获取高层运动控制器对象。 |
返回值 | HighLevelMotionController 对象,用于调用高层控制接口。 |
备注 | 非阻塞接口,封装了步态、特技、遥控等控制。 |
get_low_level_motion_controller
项目 | 内容 |
---|---|
函数名 | get_low_level_motion_controller |
函数声明 | LowLevelMotionController get_low_level_motion_controller() |
功能概述 | 获取低层运动控制器对象。 |
返回值 | LowLevelMotionController 对象,用于控制关节或电机。 |
备注 | 非阻塞接口,直接控制关节电机、获取imu等。 |
get_audio_controller
项目 | 内容 |
---|---|
函数名 | get_audio_controller |
函数声明 | AudioController get_audio_controller() |
功能概述 | 获取音频控制器对象。 |
返回值 | AudioController 对象,用于语音控制。 |
备注 | 非阻塞接口,播放语音和控制音量。 |
get_sensor_controller
项目 | 内容 |
---|---|
函数名 | get_sensor_controller |
函数声明 | SensorController get_sensor_controller() |
功能概述 | 获取传感器控制器对象。 |
返回值 | SensorController 对象,用于访问传感器数据。 |
备注 | 非阻塞接口,封装了 IMU、RGBD 等读取。 |
get_state_monitor
项目 | 内容 |
---|---|
函数名 | get_state_monitor |
函数声明 | StateMonitor get_state_monitor() |
功能概述 | 获取状态监控器对象。 |
返回值 | StateMonitor 对象,用于获取机器人当前状态信息。 |
备注 | 非阻塞接口,封装了 BMS、故障 等状态信息的读取。 |