cmvr-es/protos/cmvr/config/motor_config/motor_config.proto

85 lines
1.5 KiB
Protocol Buffer
Raw Normal View History

2026-06-24 15:45:54 +08:00
syntax = "proto3";
package cmvr.config;
import "cmvr/config/joint_limits_config.proto";
message MotorConfigItem {
2026-06-24 15:45:54 +08:00
int32 id = 1;
string joint_name = 2;
double limit_q_lb = 3;
double limit_q_ub = 4;
double limit_qd = 5;
2026-06-25 11:03:38 +08:00
double limit_qdd = 6;
2026-06-24 15:45:54 +08:00
}
message MotorList {
repeated MotorConfigItem motors = 1;
}
message EthercatSlaveConfig {
int32 motor_id = 1;
int32 slave_index = 2;
uint32 vendor_id = 3;
uint32 product_code = 4;
}
2026-06-24 15:45:54 +08:00
message SocketCanConfig {
string dev_id = 1;
int32 channel_id = 2;
}
message EtherCATConfig {
string master_id = 1;
int32 cycle_us = 2;
repeated EthercatSlaveConfig slaves = 10;
}
message MujocoMotorGroupConfig {
string world_id = 1;
2026-06-24 15:45:54 +08:00
}
enum MotorBusType {
MOTOR_BUS_UNKNOWN = 0;
MOTOR_BUS_CAN = 1;
MOTOR_BUS_ETHERCAT = 2;
MOTOR_BUS_MUJOCO = 3;
}
enum MotorVendor {
MOTOR_VENDOR_UNKNOWN = 0;
MOTOR_VENDOR_TI5 = 1;
MOTOR_VENDOR_MUJOCO = 2;
}
enum MotorProtocol {
MOTOR_PROTOCOL_UNKNOWN = 0;
MOTOR_PROTOCOL_CANOPEN = 1;
MOTOR_PROTOCOL_ETHERCAT_CIA402 = 2;
MOTOR_PROTOCOL_MUJOCO = 3;
}
2026-06-24 15:45:54 +08:00
message MotorGroupConfig {
string id = 1;
MotorBusType bus_type = 2;
MotorVendor vendor = 3;
MotorProtocol protocol = 4;
string tool_frame = 5;
2026-06-24 15:45:54 +08:00
oneof bus_config {
SocketCanConfig can = 10;
EtherCATConfig ethercat = 11;
MujocoMotorGroupConfig mujoco = 12;
2026-06-24 15:45:54 +08:00
}
JointLimitsConfig joint_limits = 30;
MotorList motors = 40;
2026-06-24 15:45:54 +08:00
}
message MotorConfig {
string id = 1;
repeated MotorGroupConfig motor_groups = 2;
}
message MotorRootConfig {
MotorConfig motor = 1;
}