solve dependencies problem

This commit is contained in:
2025-09-05 15:49:00 +08:00
parent 12a6b47969
commit 21fbd5a323
114 changed files with 11337 additions and 19 deletions

View File

@@ -0,0 +1,733 @@
syntax = "proto3";
package aimdk.protocol;
import public "aimdk/protocol/common/vec3.proto";
import public "aimdk/protocol/common/quaternion.proto";
import public "aimdk/protocol/common/rpy.proto";
import public "aimdk/protocol/common/se3_pose.proto";
/**
* @brief 关节位置单位rad
*/
message JointPos { // Jaka: JointValue
repeated double jPos = 1;
}
/**
* @brief 负载
*/
message PayLoad {
double mass = 1; // 负载质量单位kg
Vec3 centroid = 2; // 负载质心, 单位mm
}
/**
* @brief 运动模式
*/
enum MoveMode {
MoveMode_ABS = 0; // 绝对运动
MoveMode_INCR = 1; // 相对运动
MoveMode_CONTINUE = 2; // 连续运动
}
/**
* @brief 机器人状态
*/
message RobotState {
int32 estoped = 1; // 是否急停
int32 poweredOn = 2; // 是否打开电源
int32 servoEnabled = 3; // 是否使能
}
/**
* @brief 机械臂单关节瞬时信息
*/
message JointMonitorData {
double instCurrent = 1; // 瞬时电流
double instVoltage = 2; // 瞬时电压
double instTemperature = 3; // 瞬时温度
double instVel = 4; // 瞬时速度 控制器1.7.0.20及以上
double instTorq = 5; // 瞬时力矩
}
/**
* @brief 机械臂关节信息
*/
message RobotMonitorData {
double scbMajorVersion = 1; // scb主版本号
double scbMinorVersion = 2; // scb小版本号
double cabTemperature = 3; // 控制器温度
double robotAveragePower = 4; // 机器人平均电压
double robotAverageCurrent = 5; // 机器人平均电流
repeated JointMonitorData joint_monitor_data = 6; // 机器人7个关节的监测数据
}
/**
* @brief 力传感器监控信息
*/
message TorqSernsorMonitorData {
string ip = 1; // 力矩传感器ip地址
int32 port = 2; // 力矩传感器端口号
PayLoad payLoad = 3; // 工具负载
int32 status = 4; // 力矩传感器状态
int32 errcode = 5; // 力矩传感器异常错误码
repeated double actTorque = 6; // 力矩传感器实际接触力值(勾选初始化时)或原始读数值(勾选不初始化时)
repeated double torque = 7; // 力矩传感器原始读数值
repeated double realTorque = 8; // 力矩传感器实际接触力值(不随初始化选项变化)
}
/**
* @brief 机械臂详细状态信息
*/
message RobotStatus {
int32 errcode = 1;
int32 inpos = 2;
int32 powered_on = 3;
int32 enabled = 4;
double rapidrate = 5;
int32 protective_stop = 6;
int32 emergency_stop = 7;
repeated double cartesiantran_pos = 8;
repeated double joint_pos = 9;
uint32 on_soft_limit = 10;
uint32 cur_user_id = 11;
int32 drag_status = 12;
RobotMonitorData robot_monitor_data = 13;
TorqSernsorMonitorData torq_sensor_monitor_data = 14;
int32 is_socket_connect = 15;
}
/**
* @brief 可选参数
*/
message OptionalCond {
int32 executingLineId = 1;
}
/**
* @brief 错误状态
*/
message ErrorCode {
int32 code = 1;
string message = 2;
}
/**
* @brief rpc GetJointPosition() 请求信息
*/
message GetJointPositionReq {
string robot_name = 1;
}
/**
* @brief rpc GetJointPosition() 响应信息
*/
message GetJointPositionRsp {
JointPos pos = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief JointMove扩展参数
*/
message JointMoveExt {
double acc = 1;
double tol = 2;
OptionalCond option_cond = 3;
}
/**
* @brief rpc JointMove() 请求信息
*/
message JointMoveReq {
string robot_name = 1;
JointPos pos = 2;
MoveMode mode = 3;
bool is_block = 4;
double distance_frame = 5;
JointMoveExt ext = 6;
bool ee_interpolation = 7;
}
/**
* @brief rpc JointMove() 响应信息
*/
message JointMoveRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief LinearMove扩展参数
*/
message LinearMoveExt {
double acc = 1;
double tol = 2;
OptionalCond option_cond = 3;
}
/**
* @brief rpc LinearMove() 请求信息
*/
message LinearMoveReq {
string robot_name = 1;
SE3RpyPose pose = 2;
MoveMode mode = 3;
bool is_block = 4;
double distance_frame = 5;
LinearMoveExt ext = 6;
bool ee_interpolation = 7;
}
/**
* @brief rpc LinearMove() 响应信息
*/
message LinearMoveRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc GetRobotState() 请求信息
*/
message GetRobotStateReq {
string robot_name = 1;
}
/**
* @brief rpc GetRobotState() 响应信息
*/
message GetRobotStateRsp {
RobotState state = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc GetRobotStatus() 请求信息
*/
message GetRobotStatusReq {
string robot_name = 1;
}
/**
* @brief rpc GetRobotStatus() 响应信息
*/
message GetRobotStatusRsp {
RobotStatus status = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc IsInPos() 请求信息
*/
message IsInPosReq {
string robot_name = 1;
}
/**
* @brief rpc IsInPos() 响应信息
*/
message IsInPosRsp {
bool is_in_pos = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc IsOnLimit() 请求信息
*/
message IsOnLimitReq {
string robot_name = 1;
}
/**
* @brief rpc IsOnLimit() 响应信息
*/
message IsOnLimitRsp {
bool is_on_limit = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc GetTcpPosition() 请求信息
*/
message GetTcpPositionReq {
string robot_name = 1;
}
/**
* @brief rpc GetTcpPosition() 响应信息
*/
message GetTcpPositionRsp {
SE3RpyPose pose = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc KineForward() 请求信息
*/
message KineForwardReq {
string robot_name = 1;
JointPos pos = 2;
}
/**
* @brief rpc KineForward() 响应信息
*/
message KineForwardRsp {
SE3RpyPose pose = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc KineInverse() 请求信息
*/
message KineInverseReq {
string robot_name = 1;
JointPos ref_pos = 2;
SE3RpyPose pose = 3;
}
/**
* @brief rpc KineInverse() 响应信息
*/
message KineInverseRsp {
JointPos pos = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc ClearError() 请求信息
*/
message ClearErrorReq {
string robot_name = 1;
}
/**
* @brief rpc ClearError() 响应信息
*/
message ClearErrorRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc GetLastError() 请求信息
*/
message GetLastErrorReq {
string robot_name = 1;
}
/**
* @brief rpc GetLastError() 响应信息
*/
message GetLastErrorRsp {
ErrorCode robot_error = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc IsInCollision() 请求信息
*/
message IsInCollisionReq {
string robot_name = 1;
}
/**
* @brief rpc IsInCollision() 响应信息
*/
message IsInCollisionRsp {
bool is_in_collision = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc CollisionRecover() 请求信息
*/
message CollisionRecoverReq {
string robot_name = 1;
}
/**
* @brief rpc CollisionRecover() 响应信息
*/
message CollisionRecoverRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc GetCollisionLevel() 请求信息
*/
message GetCollisionLevelReq {
string robot_name = 1;
}
/**
* @brief rpc GetCollisionLevel() 响应信息
*/
message GetCollisionLevelRsp {
int32 level = 1;
int32 errcode = 2;
string errmsg = 3;
}
/**
* @brief rpc SetCollisionLevel() 请求信息
*/
message SetCollisionLevelReq {
string robot_name = 1;
int32 level = 2;
}
/**
* @brief rpc SetCollisionLevel() 响应信息
*/
message SetCollisionLevelRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc EnableServoControl() 请求信息
*/
message EnableServoControlReq {
string robot_name = 1;
bool enable = 2;
}
/**
* @brief rpc EnableServoControl() 响应信息
*/
message EnableServoControlRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc EnableTorqueControl() 请求信息
*/
message EnableTorqueControlReq {
string robot_name = 1;
bool enable = 2;
int32 period = 3;
}
/**
* @brief rpc EnableTorqueControl() 响应信息
*/
message EnableTorqueControlRsp {
int32 errcode = 1;
string errmsg = 2;
}
// InstallationAngle
/**
* @brief rpc SetInstallationAngle() 请求信息
*/
message SetInstallationAngleReq {
string robot_name = 1;
double angleX = 2;
double angleZ = 3;
}
/**
* @brief rpc SetInstallationAngle() 响应信息
*/
message SetInstallationAngleRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc GetInstallationAngle() 请求信息
*/
message GetInstallationAngleReq {
string robot_name = 1;
}
/**
* @brief rpc GetInstallationAngle() 响应信息
*/
message GetInstallationAngleRsp {
Quaternion quat = 1;
Rpy rpy = 2;
int32 errcode = 3;
string errmsg = 4;
}
/**
* @brief rpc EnableAdmittanceCtrl() 请求信息
*/
message EnableAdmittanceCtrlReq {
string robot_name = 1;
bool enable_flag = 2;
}
/**
* @brief rpc EnableAdmittanceCtrl() 响应信息
*/
message EnableAdmittanceCtrlRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc SetFtCtrlFrame() 请求信息
*/
message SetFtCtrlFrameReq {
string robot_name = 1;
int32 ftFrame = 2;
}
/**
* @brief rpc SetFtCtrlFrame() 响应信息
*/
message SetFtCtrlFrameRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc DisableForceControl() 请求信息
*/
message DisableForceControlReq {
string robot_name = 1;
}
/**
* @brief rpc DisableForceControl() 响应信息
*/
message DisableForceControlRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc SetCompliantType() 请求信息
*/
message SetCompliantTypeReq {
string robot_name = 1;
int32 sensor_compensation = 2;
int32 compliance_type = 3;
}
/**
* @brief rpc SetCompliantType() 响应信息
*/
message SetCompliantTypeRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc SetTorqueSensorMode() 请求信息
*/
message SetTorqueSensorModeReq {
string robot_name = 1;
int32 sensor_mode = 2;
}
/**
* @brief rpc SetTorqueSensorMode() 响应信息
*/
message SetTorqueSensorModeRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief rpc SetTorqueSensorMode() 请求信息
*/
message SetAdmitCtrlConfigReq {
string robot_name = 1;
int32 axis = 2;
int32 opt = 3;
double ftUser = 4;
double ftConstant = 5;
int32 ftNnormalTrack = 6;
double ftReboundFK = 7;
}
/**
* @brief rpc SetAdmitCtrlConfig() 响应信息
*/
message SetAdmitCtrlConfigRsp {
int32 errcode = 1;
string errmsg = 2;
}
/**
* @brief 由 aimrt_hal 中的 jaka_module::JakaModule 模块提供的服务
*/
service A2wArmControlService {
/**
* @brief 获取 jaka_module::JakaModule 收到的关节角度。
* @param GetJointPositionReq
* @return GetJointPositionRsp
*/
rpc GetJointPosition(GetJointPositionReq) returns (GetJointPositionRsp);
/**
* @brief jaka_module::JakaModule 执行普通关节运动。
* @param JointMoveReq
* @return JointMoveRsp
*/
rpc JointMove(JointMoveReq) returns (JointMoveRsp);
/**
* @brief jaka_module::JakaModule 执行末端线性运动。
* @param LinearMoveReq
* @return LinearMoveRsp
*/
rpc LinearMove(LinearMoveReq) returns (LinearMoveRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂状态信息。
* @param GetRobotStateReq
* @return GetRobotStateRsp
*/
rpc GetRobotState(GetRobotStateReq) returns (GetRobotStateRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂详细信息。
* @param GetRobotStatusReq
* @return GetRobotStatusRsp
*/
rpc GetRobotStatus(GetRobotStatusReq) returns (GetRobotStatusRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂是否到达目标点的状态信息。
* @param IsInPosReq
* @return IsInPosRsp
*/
rpc IsInPos(IsInPosReq) returns (IsInPosRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂是否限位的信息。
* @param IsOnLimitReq
* @return IsOnLimitRsp
*/
rpc IsOnLimit(IsOnLimitReq) returns (IsOnLimitRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的末端笛卡尔位姿信息。
* @param GetTcpPositionReq
* @return GetTcpPositionRsp
*/
rpc GetTcpPosition(GetTcpPositionReq) returns (GetTcpPositionRsp);
/**
* @brief 通过 jaka_module::JakaModule 进行运动学正解。
* @param KineForwardReq
* @return KineForwardRsp
*/
rpc KineForward(KineForwardReq) returns (KineForwardRsp);
/**
* @brief 通过 jaka_module::JakaModule 进行运动学逆解。
* @param KineInverseReq
* @return KineInverseRsp
*/
rpc KineInverse(KineInverseReq) returns (KineInverseRsp);
/**
* @brief 通过 jaka_module::JakaModule 清理错误。
* @param ClearErrorReq
* @return ClearErrorRsp
*/
rpc ClearError(ClearErrorReq) returns (ClearErrorRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂错误信息。
* @param GetLastErrorReq
* @return GetLastErrorRsp
*/
rpc GetLastError(GetLastErrorReq) returns (GetLastErrorRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂是否碰撞的状态信息。
* @param IsInCollisionReq
* @return IsInCollisionRsp
*/
rpc IsInCollision(IsInCollisionReq) returns (IsInCollisionRsp);
/**
* @brief 通过 jaka_module::JakaModule 进行碰撞恢复。
* @param CollisionRecoverReq
* @return CollisionRecoverRsp
*/
rpc CollisionRecover(CollisionRecoverReq) returns (CollisionRecoverRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂碰撞登记。
* @param GetCollisionLevelReq
* @return GetCollisionLevelRsp
*/
rpc GetCollisionLevel(GetCollisionLevelReq) returns (GetCollisionLevelRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置机械臂碰撞登记。
* @param SetCollisionLevelReq
* @return SetCollisionLevelRsp
*/
rpc SetCollisionLevel(SetCollisionLevelReq) returns (SetCollisionLevelRsp);
/**
* @brief 通过 jaka_module::JakaModule 进行伺服使能控制。
* @param EnableServoControlReq
* @return EnableServoControlRsp
*/
rpc EnableServoControl(EnableServoControlReq) returns (EnableServoControlRsp);
/**
* @brief 通过 jaka_module::JakaModule 进行电流环控制。
* @param EnableTorqueControlReq
* @return EnableTorqueControlRsp
*/
rpc EnableTorqueControl(EnableTorqueControlReq) returns (EnableTorqueControlRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置安装角度。
* @param SetInstallationAngleReq
* @return SetInstallationAngleRsp
*/
rpc SetInstallationAngle(SetInstallationAngleReq) returns (SetInstallationAngleRsp);
/**
* @brief 获取 jaka_module::JakaModule 收到的机械臂安装角度。
* @param GetInstallationAngleReq
* @return GetInstallationAngleRsp
*/
rpc GetInstallationAngle(GetInstallationAngleReq) returns (GetInstallationAngleRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置力控拖拽使能。
* @param EnableAdmittanceCtrlReq
* @return EnableAdmittanceCtrlRsp
*/
rpc EnableAdmittanceCtrl(EnableAdmittanceCtrlReq) returns (EnableAdmittanceCtrlRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置导纳控制运动坐标系。
* @param SetFtCtrlFrameReq
* @return SetFtCtrlFrameRsp
*/
rpc SetFtCtrlFrame(SetFtCtrlFrameReq) returns (SetFtCtrlFrameRsp);
/**
* @brief 通过 jaka_module::JakaModule 关闭力控。
* @param DisableForceControlReq
* @return DisableForceControlRsp
*/
rpc DisableForceControl(DisableForceControlReq) returns (DisableForceControlRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置力控类型和传感器初始化状态。
* @param SetCompliantTypeReq
* @return SetCompliantTypeRsp
*/
rpc SetCompliantType(SetCompliantTypeReq) returns (SetCompliantTypeRsp);
/**
* @brief 通过 jaka_module::JakaModule 开启或关闭力矩传感器。
* @param SetTorqueSensorModeReq
* @return SetTorqueSensorModeRsp
*/
rpc SetTorqueSensorMode(SetTorqueSensorModeReq) returns (SetTorqueSensorModeRsp);
/**
* @brief 通过 jaka_module::JakaModule 设置柔顺控制参数。
* @param SetAdmitCtrlConfigReq
* @return SetAdmitCtrlConfigRsp
*/
rpc SetAdmitCtrlConfig(SetAdmitCtrlConfigReq) returns (SetAdmitCtrlConfigRsp);
}

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff