cmvr-es/protos/cmvr/api/arm_service.proto

49 lines
3.1 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.api;
import "cmvr/api/common.proto";
import "cmvr/api/arm_command.proto";
// 机械臂控制服务。除特别说明外,所有接口通过请求头中的 device_id 选择机械臂。
service ArmService {
// 机械臂下电/去使能;不包含数值参数,无单位。
rpc torqueOff(CommandHeader.Request) returns (CommandHeader.Feedback);
// 机械臂上电并使能;不包含数值参数,无单位。
rpc torqueOn(CommandHeader.Request) returns (CommandHeader.Feedback);
// 清除机械臂可恢复故障;不包含数值参数,无单位。
rpc clearFault(CommandHeader.Request) returns (CommandHeader.Feedback);
// 执行关节空间点到点运动;目标角度单位为 rad。
rpc moveJ(MoveJ.Request) returns (MoveJ.Response);
// 执行 TCP 笛卡尔直线运动;位置单位为 m,姿态单位为 rad。
rpc moveL(MoveL.Request) returns (MoveL.Response);
// 查询可用基准坐标系名称;返回名称列表,无单位。
rpc ListBaseFrame(ListFrame.Request) returns (ListFrame.Response);
// 查询可用 TCP 坐标系名称;返回名称列表,无单位。
rpc ListTCPFrame(ListFrame.Request) returns (ListFrame.Response);
// 执行关节速度运动;角速度单位为 rad/s,加速度单位为 rad/s^2。
rpc speedJ(SpeedJ.Request) returns (SpeedJ.Response);
// 执行 TCP 速度运动;线速度单位为 m/s,角速度单位为 rad/s。
rpc speedL(SpeedL.Request) returns (SpeedL.Response);
// 下发单周期关节位置伺服目标;目标角度单位为 rad。
rpc servoJ(ServoJ.Request) returns (ServoJ.Response);
// 停止当前机械臂运动;不包含数值参数,无单位。
rpc stopMotion(CommandHeader.Request) returns (CommandHeader.Feedback);
// 读取关节状态;角度 rad、角速度 rad/s、力矩 N·m。
rpc getJointState(JointRequest) returns (JointResponse);
// 读取 TCP 位姿;位置单位为 m,姿态单位为 rad。
rpc getPose(GetPose.Request) returns (GetPose.Response);
// 对指定关节执行零位标定;关节名称无单位。
rpc calibrateZeroQ(CalibrateZeroQ.Request) returns (CalibrateZeroQ.Response);
// 查询两个坐标系之间的齐次变换矩阵;平移元素单位为 m。
rpc getPoseMatrix(GetPoseMatrix.Request) returns (GetPoseMatrix.Response);
// 根据关节角计算正运动学矩阵;输入角度 rad,输出平移元素 m。
rpc computeForwardKinematics(ComputeForwardKinematics.Request) returns (ComputeForwardKinematics.Response);
// 读取控制柜 Standard DI;通道索引从 0 开始,电平为布尔值。
rpc getCabinetDigitalInput(CabinetDigitalInput.Request) returns (CabinetDigitalInput.Response);
// 读取控制柜 Standard DO 及其控制器运行状态;通道索引从 0 开始。
rpc getCabinetDigitalOutput(CabinetDigitalOutput.Request) returns (CabinetDigitalOutput.Response);
// 设置控制柜 Standard DO;仅允许写入未被控制器运行状态管理的通道。
rpc setCabinetDigitalOutput(SetCabinetDigitalOutput.Request) returns (SetCabinetDigitalOutput.Response);
}