cmvr-es/protos/cmvr/api/system_command.proto

149 lines
3.2 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto3";
2026-09-16 14:33:49 +08:00
import "cmvr/api/arm_command.proto";
import "cmvr/api/common.proto";
package cmvr.api;
enum DeviceType {
AGV = 0;
Battery = 1;
Camera = 2;
DexHand = 3;
Gripper = 4;
Microphone = 5;
Robot = 6;
Speaker = 7;
2026-09-22 15:48:33 +08:00
BioHead = 8;
Motor = 9;
MotorSystem = 10;
MujocoWorld = 11;
MujocoViewer = 12;
CanBus = 13;
Unknown = 20;
}
2026-09-22 15:48:33 +08:00
// 设备在 cmvr-es 运行时中的稳定大类,与具体厂商驱动无关。
enum DeviceKind {
DEVICE_KIND_UNKNOWN = 0;
DEVICE_KIND_AGV = 1;
DEVICE_KIND_ARM = 2;
DEVICE_KIND_BATTERY = 3;
DEVICE_KIND_BIO_HEAD = 4;
DEVICE_KIND_CAMERA = 5;
DEVICE_KIND_CAN_BUS = 6;
DEVICE_KIND_DEX_HAND = 7;
DEVICE_KIND_GRIPPER = 8;
DEVICE_KIND_MICROPHONE = 9;
DEVICE_KIND_MOTOR = 10;
DEVICE_KIND_MOTOR_SYSTEM = 11;
DEVICE_KIND_MUJOCO_VIEWER = 12;
DEVICE_KIND_MUJOCO_WORLD = 13;
DEVICE_KIND_ROBOT = 14;
DEVICE_KIND_SPEAKER = 15;
}
message DeviceList {
string device_id = 1;
DeviceType device_type = 2;
2026-09-22 15:48:33 +08:00
DeviceKind device_kind = 3;
// 具体运行时驱动类型,例如 AuboARM、HuayanRobot、SeerRobokitAgv。
string driver_type = 4;
// 厂商或驱动生态,例如 AUBO、HUAYAN、SEER。
string vendor = 5;
}
message GetSystemInfoCommand {
message Request {}
message Feedback {
CommandHeader.Feedback header = 1;
string system_name = 2;
string version = 3;
string description = 4;
string os = 5;
string kernel_version = 6;
string architecture = 7;
}
}
message GetSystemStatusCommand {
message Request {}
message Feedback {
CommandHeader.Feedback header = 1;
float cpu_usage = 2;
float mem_total_mb = 3;
float mem_used_mb = 4;
float disk_total_gb = 5;
float disk_used_gb = 6;
repeated DeviceList device_list = 7;
}
}
2025-08-27 15:30:51 +08:00
message UpdateParamsCommand {
message Request {
CommandHeader.Request header = 1;
repeated ConfigParam params = 2;
}
message Feedback {
CommandHeader.Feedback header = 1;
}
}
2025-12-08 17:15:46 +08:00
message StopAllCommand {
message Request {
CommandHeader.Request header = 1;
}
message Feedback {
CommandHeader.Feedback header = 1;
}
2026-09-16 14:33:49 +08:00
}
enum ActionResultCode {
ACTION_RESULT_CODE_UNSPECIFIED = 0;
ACTION_RESULT_CODE_COMPLETED = 1;
ACTION_RESULT_CODE_FAILED = 2;
ACTION_RESULT_CODE_CANCELED = 3;
ACTION_RESULT_CODE_TIMED_OUT = 4;
ACTION_RESULT_CODE_REJECTED = 5;
}
message ActionStep {
reserved 1;
reserved "step_id";
// Zero inherits the remaining ActionQueue timeout.
uint32 timeout_ms = 2;
oneof command {
MoveJ.Request arm_move_j = 10;
MoveL.Request arm_move_l = 11;
}
}
message ActionQueueCommand {
message Request {
reserved 1;
reserved "action_id";
repeated ActionStep steps = 2;
// Zero uses the server default.
uint32 total_timeout_ms = 3;
}
message Feedback {
CommandHeader.Feedback header = 1;
reserved 2;
reserved "action_id";
uint32 completed_steps = 3;
optional uint32 failed_step_index = 4;
ActionResultCode result = 5;
}
}