From 3aa3f860276435bed0bc6b0c58d08127e7d8bb8c Mon Sep 17 00:00:00 2001 From: lgv Date: Fri, 10 Oct 2025 11:51:00 +0800 Subject: [PATCH] refactor: move robot gRPC commands and services to separate files --- protos/cmvr/api/humanoid_robot.proto | 132 ------------------- protos/cmvr/api/humanoid_robot_command.proto | 122 +++++++++++++++++ protos/cmvr/api/humanoid_robot_service.proto | 16 +++ 3 files changed, 138 insertions(+), 132 deletions(-) delete mode 100644 protos/cmvr/api/humanoid_robot.proto create mode 100644 protos/cmvr/api/humanoid_robot_command.proto create mode 100644 protos/cmvr/api/humanoid_robot_service.proto diff --git a/protos/cmvr/api/humanoid_robot.proto b/protos/cmvr/api/humanoid_robot.proto deleted file mode 100644 index cc17f220..00000000 --- a/protos/cmvr/api/humanoid_robot.proto +++ /dev/null @@ -1,132 +0,0 @@ - - -syntax = "proto3"; -package cmvr.api; -import "cmvr/api/common.proto"; - -message JointCmd { - string joint_name = 1; // 关节名称 - double rad = 2; // 弧度 - double vel = 3; // 角速度,rad/s -} - -message Pose3D{ - double x = 1; - double y = 2; - double z = 3; - double rx = 4; - double ry = 5; - double rz = 6; -} - -enum RobotCartesian{ - X = 0; - Y = 1; - Z = 2; - RX = 3; - RY = 4; - RZ = 5; -} ; -enum RobotJointIndexDirection{ - FORWARD = 0; - BACKWARD = 1; - X_POSITIVE = 2; // X轴正向 - X_NEGATIVE = 3; // X轴负向 - Y_POSITIVE = 4; // Y轴正向 - Y_NEGATIVE = 5; // Y轴负向 - Z_POSITIVE = 6; // Z轴正向 - Z_NEGATIVE = 7; // Z轴负向 - ROTATE_X = 8; // 绕X轴旋转 - ROTATE_Y = 9; // 绕Y轴旋转 - ROTATE_Z = 10; // 绕Z轴旋转 -} -message MoveJ{ - message Request{ - CommandHeader.Request header = 1; - repeated JointCmd cmds = 2; - double vel = 3; - double acc = 4; - } - - message Response{ - CommandHeader.Feedback header= 1; - } - -} - -message MoveL{ - - message Request{ - CommandHeader.Request header = 1; - string ee_link = 2; //连杆名称 - Pose3D targetPose = 3; - double vel = 4; - double acc = 5; - } - - message Response{ - CommandHeader.Feedback header= 1; - } - -} - -message SpeedJ{ - - message Request{ - CommandHeader.Request header = 1; - string joint_name = 2; - double vel = 3; - double acc = 4; - RobotJointIndexDirection dir = 5; - } - - message Response{ - CommandHeader.Feedback header= 1; - } -} - -message SpeedL{ - message Request{ - CommandHeader.Request header = 1; - string ee_link = 2; - double vel = 3; - double acc = 4; - RobotJointIndexDirection dir = 5; - RobotCartesian cart = 6; - } - - message Response{ - CommandHeader.Feedback header= 1; - } -} - -// 关节状态消息 -message JointState { - repeated string name = 1; // 关节名称 - repeated double position = 2; // 关节位置 - repeated double velocity = 3; // 可选:关节速度 - repeated double effort = 4; // 可选:关节力矩 - double timestamp = 5; // 可选:时间戳 -} - -// 返回消息 -message JointResponse { - CommandHeader.Feedback header= 1; - repeated JointState state = 2; -} - -// 请求消息(可选) -message JointRequest { - CommandHeader.Request header = 1; -} - - -service HumanoidRobotService{ - rpc torqueOff(CommandHeader.Request) returns (CommandHeader.Feedback); - rpc torqueOn(CommandHeader.Request) returns (CommandHeader.Feedback); - rpc moveJ(MoveJ.Request) returns (MoveJ.Response); - rpc moveL(MoveL.Request) returns (MoveL.Response); - rpc speedJ(SpeedJ.Request) returns (SpeedJ.Response); - rpc speedL(SpeedL.Request) returns (SpeedL.Response); - rpc getJointState(JointRequest) returns (JointResponse); -} diff --git a/protos/cmvr/api/humanoid_robot_command.proto b/protos/cmvr/api/humanoid_robot_command.proto new file mode 100644 index 00000000..a9c909a4 --- /dev/null +++ b/protos/cmvr/api/humanoid_robot_command.proto @@ -0,0 +1,122 @@ + + +syntax = "proto3"; +package cmvr.api; +import "cmvr/api/common.proto"; + +message JointCmd { + string joint_name = 1; // 关节名称 + double rad = 2; // 弧度 + double vel = 3; // 角速度,rad/s +} + +message Pose3D{ + double x = 1; + double y = 2; + double z = 3; + double rx = 4; + double ry = 5; + double rz = 6; +} + +enum RobotCartesian{ + X = 0; + Y = 1; + Z = 2; + RX = 3; + RY = 4; + RZ = 5; +} ; +enum RobotJointIndexDirection{ + FORWARD = 0; + BACKWARD = 1; + X_POSITIVE = 2; // X轴正向 + X_NEGATIVE = 3; // X轴负向 + Y_POSITIVE = 4; // Y轴正向 + Y_NEGATIVE = 5; // Y轴负向 + Z_POSITIVE = 6; // Z轴正向 + Z_NEGATIVE = 7; // Z轴负向 + ROTATE_X = 8; // 绕X轴旋转 + ROTATE_Y = 9; // 绕Y轴旋转 + ROTATE_Z = 10; // 绕Z轴旋转 +} +message MoveJ{ + message Request{ + CommandHeader.Request header = 1; + repeated JointCmd cmds = 2; + double vel = 3; + double acc = 4; + } + + message Response{ + CommandHeader.Feedback header= 1; + } + +} + +message MoveL{ + + message Request{ + CommandHeader.Request header = 1; + string ee_link = 2; //连杆名称 + Pose3D targetPose = 3; + double vel = 4; + double acc = 5; + } + + message Response{ + CommandHeader.Feedback header= 1; + } + +} + +message SpeedJ{ + + message Request{ + CommandHeader.Request header = 1; + string joint_name = 2; + double vel = 3; + double acc = 4; + RobotJointIndexDirection dir = 5; + } + + message Response{ + CommandHeader.Feedback header= 1; + } +} + +message SpeedL{ + message Request{ + CommandHeader.Request header = 1; + string ee_link = 2; + double vel = 3; + double acc = 4; + RobotJointIndexDirection dir = 5; + RobotCartesian cart = 6; + } + + message Response{ + CommandHeader.Feedback header= 1; + } +} + +// 关节状态消息 +message JointState { + repeated string name = 1; // 关节名称 + repeated double position = 2; // 关节位置 + repeated double velocity = 3; // 可选:关节速度 + repeated double effort = 4; // 可选:关节力矩 + double timestamp = 5; // 可选:时间戳 +} + +// 返回消息 +message JointResponse { + CommandHeader.Feedback header= 1; + repeated JointState state = 2; +} + +// 请求消息(可选) +message JointRequest { + CommandHeader.Request header = 1; +} + diff --git a/protos/cmvr/api/humanoid_robot_service.proto b/protos/cmvr/api/humanoid_robot_service.proto new file mode 100644 index 00000000..fafb6726 --- /dev/null +++ b/protos/cmvr/api/humanoid_robot_service.proto @@ -0,0 +1,16 @@ + + +syntax = "proto3"; +package cmvr.api; +import "cmvr/api/common.proto"; +import "cmvr/api/humanoid_robot_command.proto"; + +service HumanoidRobotService{ + rpc torqueOff(CommandHeader.Request) returns (CommandHeader.Feedback); + rpc torqueOn(CommandHeader.Request) returns (CommandHeader.Feedback); + rpc moveJ(MoveJ.Request) returns (MoveJ.Response); + rpc moveL(MoveL.Request) returns (MoveL.Response); + rpc speedJ(SpeedJ.Request) returns (SpeedJ.Response); + rpc speedL(SpeedL.Request) returns (SpeedL.Response); + rpc getJointState(JointRequest) returns (JointResponse); +}