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

152 lines
3.9 KiB
Protocol Buffer
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

syntax = "proto3";
package cmvr.config;
import "cmvr/config/lawba_ik_config.proto";
import "cmvr/config/pinocchio_dls_ik_config.proto";
import "cmvr/config/pinocchio_qp_ik_config.proto";
import "cmvr/config/srs_ik_config.proto";
import "cmvr/config/cartesian_motion_validation_config.proto";
enum ToppraPathType {
TOPPRA_PATH_TYPE_UNKNOWN = 0;
TOPPRA_PATH_TYPE_LINEAR = 1;
TOPPRA_PATH_TYPE_CUBIC_HERMITE = 2;
TOPPRA_PATH_TYPE_QUINTIC = 3;
TOPPRA_PATH_TYPE_NATURAL = 4;
}
message MotorRobotArmBackendConfig {
string motor_system_id = 2;
int32 dof = 3;
repeated string joint_names = 4;
int32 upd_freq = 5;
int32 buffer_size = 6;
double default_vel = 7;
double default_acc = 8;
repeated string motor_group_ids = 9;
}
enum VendorRobotArmBrand {
VENDOR_ROBOT_ARM_BRAND_UNKNOWN = 0;
VENDOR_ROBOT_ARM_BRAND_AUBO_ARM = 1;
VENDOR_ROBOT_ARM_BRAND_HUAYAN_ARM = 2;
}
message VendorRobotArmBackendConfig {
VendorRobotArmBrand brand = 1;
string ip = 2;
int32 port = 3;
string model = 4;
int32 dof = 5;
repeated string joint_names = 6;
string base_frame = 7;
string tool_frame = 8;
string username = 9;
string password = 10;
// 仅在检测到一次真实硬件急停并确认急停输入已释放后,自动上电并使能。
// 默认 false;普通启动、普通掉电和软件急停不会触发自动使能。
bool auto_enable = 11;
}
message SpeedLPlannerConfig {
double linear_velocity_max = 1;
double linear_acceleration_max = 2;
double linear_jerk_max = 3;
double angular_velocity_max = 4;
double angular_acceleration_max = 5;
double angular_jerk_max = 6;
double linear_target_replan_threshold = 8;
double angular_target_replan_threshold = 9;
double linear_reverse_cos_threshold = 10;
double linear_reverse_switch_speed_threshold = 11;
optional bool enforce_joint_acceleration_limits = 17;
CartesianLineDeviationCheckConfig line_deviation_check = 18;
JointVelocityCheckConfig joint_velocity_check = 19;
CartesianVelocityFeasibilityCheckConfig cartesian_velocity_feasibility_check = 20;
}
message CartesianVelocityControllerConfig {
double control_period_s = 1;
double stop_twist_norm = 2;
double stop_command_velocity_norm = 3;
double stop_measured_velocity_norm = 4;
double stop_acceleration = 5;
}
message ToppraJointMotionPlannerConfig {
ToppraPathType path_type = 1;
double sample_period_s = 2;
int32 grid_size = 3;
int32 high_grid_size = 4;
}
message MoveJConfig {
oneof algorithm {
ToppraJointMotionPlannerConfig toppra_joint_motion_planner = 1;
}
}
message MoveLPlannerConfig {
double sample_period_s = 1;
double position_gain = 2;
double rotation_gain = 3;
CartesianLineDeviationCheckConfig line_deviation_check = 4;
JointContinuityCheckConfig joint_continuity_check = 5;
CartesianStepFeasibilityCheckConfig cartesian_step_feasibility_check = 6;
}
message MoveLConfig {
oneof algorithm {
MoveLPlannerConfig pinocchio_cartesian_motion_planner = 1;
}
}
message SpeedLControllerConfig {
oneof algorithm {
CartesianVelocityControllerConfig cartesian_velocity_controller = 1;
}
}
message SpeedLConfig {
oneof algorithm {
SpeedLPlannerConfig pinocchio_cartesian_motion_planner = 1;
}
SpeedLControllerConfig speed_l_controller = 10;
}
message ArmKinematicsConfig {
oneof algorithm {
PinocchioDlsIKConfig pinocchio_dls_ik_solver = 10;
PinocchioQpIKConfig pinocchio_qp_ik_solver = 11;
SrsIKConfig srs_ik_solver = 12;
LawbaIKConfig lawba_ik_solver = 13;
}
}
message ArmMotionConfig {
MoveJConfig move_j = 1;
MoveLConfig move_l = 2;
SpeedLConfig speed_l = 4;
}
message RobotArmConfig {
string id = 1;
oneof backend {
MotorRobotArmBackendConfig motor = 10;
VendorRobotArmBackendConfig vendor = 11;
}
ArmKinematicsConfig kinematics = 20;
ArmMotionConfig motion = 21;
}
message ArmConfig {
repeated RobotArmConfig robot_arms = 1;
}
message ArmRootConfig {
ArmConfig arm = 1;
}