88 lines
3.2 KiB
Protocol Buffer
88 lines
3.2 KiB
Protocol Buffer
syntax = "proto3";
|
||
|
||
package cmvr.config;
|
||
|
||
// 电机配置
|
||
message MotorConfig {
|
||
int32 id = 1; // 电机ID
|
||
string jointName = 2; // 关节名称
|
||
float limitQLb = 3; // 位置下限
|
||
float limitQUb = 4; // 位置上限
|
||
float limitQd = 5; // 速度限制
|
||
}
|
||
|
||
// 通用的CAN设备配置(手臂、头部、腰部都可以复用)
|
||
message CanDeviceConfig {
|
||
string id = 1; // CAN ID
|
||
string devId = 2; // 设备ID
|
||
int32 channelId = 3; // 通道ID
|
||
bool enable = 4; // 是否启用
|
||
string toolFrame = 5; // 工具坐标系(手臂需要,头/腰可选)
|
||
repeated MotorConfig motors = 6; // 电机列表
|
||
}
|
||
|
||
// CAN管理器配置
|
||
message CanManagerConfig {
|
||
string id = 1; // CAN管理器ID
|
||
string devId = 2; // 设备ID
|
||
CanDeviceConfig left_arm = 3; // 左臂CAN
|
||
CanDeviceConfig right_arm = 4; // 右臂CAN
|
||
CanDeviceConfig head = 5; // 头部CAN
|
||
CanDeviceConfig waist = 6; // 腰部CAN
|
||
}
|
||
|
||
// 人形机器人配置
|
||
message HumanRobotConfig {
|
||
string id = 1; // 机器人ID,如 "hc01"
|
||
int32 dof = 2; // 自由度,如 14
|
||
string urdf = 3; // URDF文件路径
|
||
string baseLink = 4; // 基座link名称,如 "PELVIS_S"
|
||
string jointNames = 5; // 关节名称列表,逗号分隔
|
||
string linkNames = 6; // link名称列表,逗号分隔
|
||
int32 bufferSize = 7; // 缓冲区大小,如 50
|
||
bool verbose = 8; // 是否详细输出
|
||
int32 updFreq = 9; // 更新频率,如 500
|
||
CanManagerConfig can_manager = 10; // CAN管理器配置
|
||
bool enable = 11; // 是否启用
|
||
}
|
||
|
||
// EtherCAT主站配置
|
||
message EthercatMasterConfig {
|
||
string interface = 1; // 网络接口,如 "eth0"
|
||
int32 cycle_time_us = 2; // 周期时间(微秒),默认1000
|
||
bool enable = 3; // 是否启用
|
||
}
|
||
|
||
// EtherCAT电机驱动配置
|
||
message EthercatMotorConfig {
|
||
int32 slave = 1; // 从站ID
|
||
string jointName = 2; // 关节名称
|
||
float limitQLb = 3; // 位置下限
|
||
float limitQUb = 4; // 位置上限
|
||
float limitQd = 5; // 速度限制
|
||
}
|
||
|
||
// EtherCAT机器人配置
|
||
message EthercatRobotConfig {
|
||
string id = 1; // 机器人ID
|
||
int32 dof = 2; // 自由度
|
||
string urdf = 3; // URDF文件路径
|
||
string baseLink = 4; // 基座link名称
|
||
string jointNames = 5; // 关节名称列表,逗号分隔
|
||
string linkNames = 6; // link名称列表,逗号分隔
|
||
int32 bufferSize = 7; // 缓冲区大小
|
||
bool verbose = 8; // 是否详细输出
|
||
int32 updFreq = 9; // 更新频率(Hz)
|
||
bool enable = 10; // 是否启用
|
||
|
||
EthercatMasterConfig master = 11; // EtherCAT主站配置
|
||
repeated EthercatMotorConfig motors = 12; // 电机配置列表
|
||
}
|
||
|
||
|
||
|
||
// 主配置
|
||
message RobotConfig {
|
||
repeated HumanRobotConfig humanrobots = 1;
|
||
repeated EthercatRobotConfig ethercat_robots = 2; // 新增的EtherCAT机器人
|
||
} |