Protocol Documentation

Table of Contents

robot.proto

Top

DataEntryRobjoint

FieldTypeLabelDescription
name string

value HyyRobjoint

DataEntryRobpose

FieldTypeLabelDescription
name string

value HyyRobpose

DataEntrySpeed

FieldTypeLabelDescription
name string

value HyySpeed

DataEntryTool

FieldTypeLabelDescription
name string

value HyyTool

DataEntryWobj

FieldTypeLabelDescription
name string

value HyyWobj

DataEntryZone

FieldTypeLabelDescription
name string

value HyyZone

DataListRobjoint

FieldTypeLabelDescription
entry DataEntryRobjoint repeated

int32 flag = 2;

DataListRobpose

FieldTypeLabelDescription
entry DataEntryRobpose repeated

DataListSpeed

FieldTypeLabelDescription
entry DataEntrySpeed repeated

DataListTool

FieldTypeLabelDescription
entry DataEntryTool repeated

DataListWobj

FieldTypeLabelDescription
entry DataEntryWobj repeated

DataListZone

FieldTypeLabelDescription
entry DataEntryZone repeated

HyyKine

FieldTypeLabelDescription
R double repeated

姿态矩阵[3][3];

X double repeated

位置[3];

joint double repeated

关节位置 [10];//

kps double repeated

姿态[3];

dof int32

机器人自由度

redundancy double

机器人冗余角

tool HyyTool

工具描述*/

wobj HyyWobj

工件描述*/

HyyKineVel

FieldTypeLabelDescription
joint double repeated

关节位置[ROBOT_MAX_DOF];

joint_vel double repeated

关节速度[ROBOT_MAX_DOF];

pose_vel double repeated

笛卡尔速度[ROBOT_MAX_DOF];//

dof int32

机器人自由度

tool HyyTool

工具描述

wobj HyyWobj

工件描述

HyyPayLoad

-------------------------------------------------------------------------

FieldTypeLabelDescription
m double

连杆质量(t=1000kg)

cm double repeated

相对末端连杆坐标系的质心(mm) [3]

ii double repeated

相对质心坐标系的惯性张量(t*mm^2=0.001kg*m^2) [3][3]

ii2 double repeated

相对末端连杆坐标系的惯性张量(t*mm^2=0.001kg*m^2) [3][3]

HyyRobjoint

@brief 运动指令输入,关节数据

存储机器人关节数据

FieldTypeLabelDescription
dof int32

机器人自由度

angle double repeated

机器人关节角度*10,单位rad

HyyRobpose

@brief 运动指令输入,笛卡尔位置及姿态数据

存储机器人位姿数据

FieldTypeLabelDescription
xyz double repeated

位置,单位mm

kps double repeated

姿态,单位rad

HyySpeed

@brief 运动指令输入,速度数据

存储机器人关节速度和笛卡尔速度数据

FieldTypeLabelDescription
dof int32

机器人自由度

per_flag int32

per 含义,0:百分比;1:速度;2:时间

tcp_flag int32

tcp 含义,0:百分比;1:速度;2:时间

per double repeated

int32 orl_flag = 4; /** orl 含义,0:百分比;1:速度;2:时间*/ * 关节速度,per_flag=0: 最大速度的百分比0~1; per_flag=1: 速度,单位rad/s; per_flag=2: 时间,单位s; [ROBOT_MAX_DOF]

tcp double

笛卡尔移动速度,tcp_flag=0: 最大速度的百分比0~1; tcp_flag=1: 速度,单位mm/s; tcp_flag=2: 时间,单位s;

orl double

笛卡尔转动速度,orl_flag=0: 最大速度的百分比0~1; orl_flag=1: 速度,单位rad/s; orl_flag=2: 时间,单位s;

HyyTool

@brief 运动指令输入,工具数据

描述机器人所使用的工具

FieldTypeLabelDescription
robhold int32

是否手持工具,0:非手持;1:手持

tframe HyyRobpose

工具坐标系相对法兰坐标系的位置及姿态描述

payload HyyPayLoad

负载

HyyWobj

@brief 运动指令输入,工件标系数据

描述机器人加工工件的坐标系,与工具配对使用

FieldTypeLabelDescription
robhold int32

工件是否在机器人上,0:不在机器人上;1:在机器人上

uframe HyyRobpose

用户坐标在基坐标系下的描述

oframe HyyRobpose

工件坐标在用户坐标系下的描述

ufprog int32

预留,未使用

ufmec int32

预留,未使用

HyyZone

@brief 运动指令输入,转弯区数据

应用机器人连续两条指令之间的过度曲线,存储机器人转弯区数据

FieldTypeLabelDescription
zone_flag int32

转弯区大小,zone_size=0:不使用转弯区;zone_size=1:运动总长度的百分比0~1;zone_size=2:转弯大小,移动mm,转动rad

zone_size double

zone_flag含义,0:不使用;1:百分比;2:具体大小

ReqArraybytesIntStr

FieldTypeLabelDescription
reqarr bytes

注: bytes为数组

req int32

int参数

reqstr string

string参数

ReqArraydouble2

请求两项参数均为double数组类型

FieldTypeLabelDescription
reqarr1 double repeated

double参数1

reqarr2 double repeated

double参数2

ReqArraydouble2Double

FieldTypeLabelDescription
req double

double参数

reqarr1 double repeated

double数组参数

reqarr2 double repeated

double数组参数

ReqArraydoubleInt

请求两项参数分别为double数组与int类型

FieldTypeLabelDescription
reqarr double repeated

double数组参数

req int32

int参数

ReqArraydoubleInt2

FieldTypeLabelDescription
reqarr double repeated

double数组参数

req1 int32

int参数

req2 int32

int参数

ReqArraydoubleIntStr

FieldTypeLabelDescription
reqarr double repeated

double数组参数

req int32

int参数

reqstr string

string参数

ReqArrayintIntStr

FieldTypeLabelDescription
reqarr int32 repeated

req int32

int参数

reqstr string

string参数

ReqBytesIntStr

请求三项参数分别为string、int与string类型

FieldTypeLabelDescription
reqbytes bytes repeated

byte数组参数

reqint int32

int参数

reqstr string

string参数

ReqDouble

请求单项参数为double类型

FieldTypeLabelDescription
req double

double参数

ReqDouble2Int

FieldTypeLabelDescription
req1 double

req2 double

req3 int32

ReqInt

请求单项参数为int类型

FieldTypeLabelDescription
req int32

int参数

ReqInt2

请求两项参数为int类型

FieldTypeLabelDescription
req1 int32

int参数1

req2 int32

int参数2

ReqIntDouble

请求两项参数均为double类型

FieldTypeLabelDescription
req1 int32

double参数1

req2 double

double参数2

ReqMoveA

绝对位置运动指令

extern void moveA(robjoint *rjoint, speed *rspeed, zone *rzone, tool *rtool, wobj *rwobj);

FieldTypeLabelDescription
rjoint HyyRobjoint

rspeed HyySpeed

rzone HyyZone

rtool HyyTool

wobj HyyWobj

ReqMoveC

圆弧运动指令

extern void moveC(HYYRobotBase::robpose *rpose, HYYRobotBase::robpose *rpose_mid, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

FieldTypeLabelDescription
rpose HyyRobpose

rpose_mid HyyRobpose

rspeed HyySpeed

rzone HyyZone

rtool HyyTool

wobj HyyWobj

ReqMoveJ

关节运动指令

extern void moveJ(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

FieldTypeLabelDescription
rpose HyyRobpose

rspeed HyySpeed

rzone HyyZone

rtool HyyTool

wobj HyyWobj

ReqMoveL

线性运动指令

extern void moveL(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

FieldTypeLabelDescription
rpose HyyRobpose

rspeed HyySpeed

rzone HyyZone

rtool HyyTool

wobj HyyWobj

ReqRobotType

FieldTypeLabelDescription
rdt HyyRobotDataType

ReqRobotTypeN

FieldTypeLabelDescription
rdt HyyRobotDataType

n int32

ReqSocketBytes

FieldTypeLabelDescription
header int32 repeated

headerformat int32 repeated

hflen int32

dataint int32 repeated

datafloat float repeated

dataformat int32 repeated

dflen int32

name string

ReqStrByte

请求两项参数分别为string与byte类型

FieldTypeLabelDescription
reqstr string

string参数

req bytes

byte参数

ReqStrDouble

请求两项参数分别为string与double类型

FieldTypeLabelDescription
reqstr string

string参数

req double

double参数

ReqStrInt

请求两项参数分别为string与int类型

FieldTypeLabelDescription
reqstr string

string参数

req int32

int参数

ReqStrIntStr

请求三项参数分别为string、int与string类型

FieldTypeLabelDescription
reqstr1 string

string参数1

reqint int32

int参数

reqstr2 string

string参数2

ReqStrStr

请求两项参数均为string类型

FieldTypeLabelDescription
reqstr1 string

string参数1

reqstr2 string

string参数2

ReqString

请求单项参数为string类型

FieldTypeLabelDescription
reqstr string

string参数

ReqVoid

---------- REQ ------------

ReqWriteRobjoint

FieldTypeLabelDescription
reqstr string

rjoint HyyRobjoint

ReqWriteRobpose

FieldTypeLabelDescription
reqstr string

rpose HyyRobpose

ReqWriteSpeed

FieldTypeLabelDescription
reqstr string

rspeed HyySpeed

ReqWriteTool

FieldTypeLabelDescription
reqstr string

rtool HyyTool

ReqWriteWobj

FieldTypeLabelDescription
reqstr string

rwobj HyyWobj

ReqWriteZone

FieldTypeLabelDescription
reqstr string

rzone HyyZone

StatusArraybytesRet

FieldTypeLabelDescription
data bytes

ret int32

StatusArraydouble

机器人当前关节角 StatusJoint & 机器人当前位姿 StatusPosPose

FieldTypeLabelDescription
data double repeated

10

StatusArraydouble2

Robpose

FieldTypeLabelDescription
data1 double repeated

data2 double repeated

StatusArraydoubleRet

当前笛卡尔位置 StatusCartesin & 六维传感器数据 StatusTorque

FieldTypeLabelDescription
data double repeated

ret int32

StatusArrayintRet

FieldTypeLabelDescription
data int32 repeated

ret int32

StatusDouble

FieldTypeLabelDescription
data double

StatusDoubleRet

FieldTypeLabelDescription
data double

ret int32

StatusInt

FieldTypeLabelDescription
data int32

StatusIntRet

FieldTypeLabelDescription
data int32

ret int32

StatusRet

FieldTypeLabelDescription
ret int32

StatusString

FieldTypeLabelDescription
data string

StatusVoid

----------- Resp ------------

HyyRobotDataType

-------------------------------------------------------------------------

NameNumberDescription
_robjoint 0

关节数据

_robpose 1

笛卡尔数据

_speed 2

速度数据

_zone 3

转弯区数据

_tool 4

工具数据

_wobj 5

工件数据

RobotService

Method NameRequest TypeResponse TypeDescription
ConnectRPC ReqVoid StatusString

returns OK when connected to GRPC server

MoveStart ReqVoid StatusVoid

上电或开始运动 extern void move_start();

MoveStop ReqVoid StatusVoid

停止运动或下电 extern void move_stop();

MoveA ReqMoveA StatusVoid

绝对位置运动指令 extern void moveA(HYYRobotBase::robjoint *rjoint, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

MoveJ ReqMoveJ StatusVoid

关节运动指令 extern void moveJ(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

MoveL ReqMoveL StatusVoid

线性运动指令 extern void moveL(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

MoveC ReqMoveC StatusVoid

圆弧运动指令 extern void moveC(HYYRobotBase::robpose *rpose, HYYRobotBase::robpose *rpose_mid, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);

getDataNum ReqRobotType StatusInt

从系统获取数据文件内数据的数目 extern int getDataNum(robdatatype rdt);

getDataName ReqRobotTypeN StatusString

从系统获取数据文件内索引为的数据名字 extern int getDataName(robdatatype rdt, int n, char* dataname);

getRobotJoint ReqInt StatusArraydouble

获取机器人当前关节角 extern void getRobotJoint(double *joint, int _index);

streamRobotJoint ReqInt StatusArraydouble stream

extern int getrobjoint(const char* J, robjoint* rjoint); rpc getRobotJoint(ReqString) returns (HyyRobjoint);

getPosAndPose ReqInt StatusArraydouble

获取机器人当前位姿 extern void getPosAndPose(double *pospose, int _index);

getRobotPose ReqString HyyRobpose

extern int getrobjoint(const char* J, robjoint* rjoint);

getRobotSpeed ReqString HyySpeed

从系统获取运动速度 extern int getspeed(const char* S, speed* sp);

getRobotZone ReqString HyyZone

从系统获取转弯区大小 extern int getzone(const char* Z, zone* zo);

getRobotTool ReqString HyyTool

从系统获取末端工具 extern int gettool(const char* T, tool* to);

getRobotWobj ReqString HyyWobj

从系统获取工件坐标系 extern int getwobj(const char* W, wobj* wo);

writeRobjoint ReqWriteRobjoint StatusRet

写关节位置至系统 extern int writerobjoint(const char* J,robjoint* rjoint);

writeRobpose ReqWriteRobpose StatusRet

写位姿至系统 extern int writerobpose(const char* P, robpose* rpose);

writeSpeed ReqWriteSpeed StatusRet

写运动速度至系统 extern int writespeed(const char* S, speed* sp);

writeZone ReqWriteZone StatusRet

写转弯区数据至系统 extern int writezone(const char* Z, zone* zo);

writeTool ReqWriteTool StatusRet

写工件坐标系数据至系统 extern int writetool(const char* T, tool* to);

writeWobj ReqWriteWobj StatusRet

写工件坐标系数据至系统 extern int writewobj(const char* W, wobj* wo);

initRobjoint ReqArraydoubleInt HyyRobjoint

初始化关节目标 extern void init_robjoint(robjoint* rjoint, double* data, int dof);

initRobpose ReqArraydouble2 HyyRobpose

初始化笛卡尔位姿目标 extern void init_robpose(robpose* rpose, double* xyz, double* rpy);

initSpeedJoint ReqArraydoubleInt2 HyySpeed

初始化关节速度 extern void init_speed_joint(speed* sp, double* data, int dof, int flag);

initSpeedCartesian ReqDouble2Int HyySpeed

初始化笛卡尔速度 extern void init_speed_cartesian(speed* sp, double tcp, double orl, int flag);

initZone ReqIntDouble HyyZone

初始化机器人转弯区 extern void init_zone(zone* ze, double size, int flag);

initPayload ReqArraydouble2Double HyyPayLoad

初始化机器人工具 extern void init_tool(tool* tl, double* frame, int robhold, PayLoad* payload); rpc initTool(HyyToolArray) returns (HyyTool); 初始化机器人工件 extern void init_wobj(wobj* wj, double* userframe, double* workframe, int robhold, int ufprog, int ufmec); rpc initWobj(HyyWobjArray) returns (HyyWobj); 初始化机器人负载 extern void init_PayLoad(PayLoad* pl,double m, double* cm,double (*I)[3]);

BatchReadRobjoint ReqVoid DataListRobjoint

BatchWriteRobjoint DataListRobjoint StatusRet

BatchReadRobpose ReqVoid DataListRobpose

BatchWriteRobpose DataListRobpose StatusRet

BatchReadZone ReqVoid DataListZone

BatchWriteZone DataListZone StatusRet

BatchReadSpeed ReqVoid DataListSpeed

BatchWriteSpeed DataListSpeed StatusRet

BatchReadTool ReqVoid DataListTool

BatchWriteTool DataListTool StatusRet

BatchReadWobj ReqVoid DataListWobj

BatchWriteWobj DataListWobj StatusRet

RSleep ReqDouble StatusVoid

标准定时休眠函数 分辨率 毫秒 extern void RSleep1(double _time);

RSleep2 ReqDouble StatusVoid

可中断定时休眠函数 分辨率 毫秒 extern void RSleep2(double _time);

AccSet ReqInt2 StatusVoid

设置机器人运动速度的百分比(加速度和加加速度) extern void AccSet(int a, int aa);

SetDo ReqInt2 StatusVoid

设置数字量输出 extern void SetDo(int id, int flag);

GetDi ReqInt StatusInt

获取数字量输入 extern int GetDi(int id);

WaitDi ReqInt2 StatusVoid

等待数字量输入赋值 extern void WaitDi(int id, int value);

SetAo ReqIntDouble StatusVoid

设置模拟量输出 extern void SetAo(int id, double flag);

GetAi ReqInt StatusDouble

获取模拟量输入 extern double GetAi(int id);

Offs ReqArraydouble2 StatusArraydouble2

机器人位姿偏移补偿 extern robpose Offs(const HYYRobotBase::robpose *rpose, double x, double y, double z, double k, double p, double s);

robot_getDOF ReqInt StatusInt

获取机器人自由度 extern int robot_getDOF(int _index);

additionaxis_getDOF ReqInt StatusInt

获取机器人附加轴数量 extern int additionaxis_getDOF(int _index);

robot_getNUM ReqVoid StatusInt

获取机器人数量 extern int robot_getNUM();

SocketCreate ReqStrIntStr StatusInt

-------------- communication interface ------------------------ 创建socket server extern int SocketCreate(char *ip, int port, char *sName);

ClientCreate ReqStrIntStr StatusInt

创建socket client extern int ClientCreate(char *ip, int port, char *sName);

SocketClose ReqString StatusInt

关闭socket(含server和client) extern int SocketClose(char *sName);

SocketSendByteI ReqArraybytesIntStr StatusInt

TCP发送Byte型数据 extern int SocketSendByteI(HYYRobotBase::byte *data, int len, char *sName);

SocketRecvByteI ReqStrInt StatusArraybytesRet

TCP接收Byte型数据 extern int SocketRecvByteI(HYYRobotBase::byte *data, int len, char *sName);

SocketSendByteII ReqSocketBytes StatusInt

TCP发送数据 extern int SocketSendByteII(int *header, int (*header_format)[2], int hf_len, int *data_int, float *data_float, int (*data_format)[2], int df_len, char *sName);

SocketRecvByteII ReqSocketBytes StatusInt

TCP接收数据 extern int SocketRecvByteII(int *header, int (*header_format)[2], int hf_len, int *data_int, float *data_float, int (*data_format)[2], int df_len, char *sName);

SocketSendString ReqStrStr StatusInt

通过TCP发送一个byte型数据 ? extern int SocketSendByte(int data, char *sName); 通过TCPt接收一个byte型数据 ? extern int SocketRecvByte(int *data, char *sName); 通过TCP发送一个String型数据 extern int SocketSendString(char *data, char *sName);

SocketRecvString ReqStrStr StatusInt

通过TCP接收一个String型数据 extern int SocketRecvString(char *data, char *sName);

SocketSendDouble ReqStrDouble StatusInt

通过TCP发送一个double型数据 extern int SocketSendDouble(double data, char *sName);

SocketRecvDouble ReqString StatusDoubleRet

通过TCP接收一个double型数据 extern int SocketRecvDouble(double *data, char *sName);

SocketSendInt ReqStrInt StatusInt

通过TCP接收一个int型数据 extern int SocketSendInt(int data, char *sName);

SocketRecvInt ReqStrInt StatusIntRet

通过TCP接收一个int型数据 extern int SocketRecvInt(int *data, char *sName);

SocketRecvByteArray ReqStrInt StatusArrayintRet

通过TCP接收一个byte型数组 extern int SocketRecvByteArray(int *data, char *sName);

SocketSendDoubleArray ReqArraydoubleIntStr StatusInt

通过TCP发送一个double型数组 extern int SocketSendDoubleArray(double *data, int n, char *sName);

SocketRecvDoubleArray ReqStrInt StatusArraydoubleRet

通过TCP接收一个double型数组 extern int SocketRecvDoubleArray(double *data, char *sName);

SocketSendIntArray ReqArrayintIntStr StatusInt

通过TCP发送一个int型数组 extern int SocketSendIntArray(int *data, int n, char *sName);

SocketRecvIntArray ReqStrInt StatusArrayintRet

通过TCP接收一个int型数组 extern int SocketRecvIntArray(int *data, char *sName);

UDPSendByteI ReqArraybytesIntStr StatusInt

通过UDP发送byte型数组 extern int UDPSendByteI(byte *data, int len, char *sName);

UDPRecvByteI ReqStrInt StatusArraybytesRet

通过UDP接收byte型数组 extern int UDPRecvByteI(byte *data, int len, char *sName);

TSetRobotIndex ReqInt StatusRet

设置要操作机器人的索引 int set_robot_index(int robot_index);

TGetRobotIndex ReqVoid StatusInt

获取当前操作机器人索引 int get_robot_index();

TSetRobotTool ReqString StatusRet

设置当前操作机器人工具 int set_robot_tool(const char* tool_name);

TGetRobotTool ReqVoid StatusString

获取当前操作机器人工具 const char* get_robot_tool();

TSetRobotWobj ReqString StatusRet

设置当前操作机器人工件 int set_robot_wobj(const char* wobj_name);

TGetRobotWobj ReqVoid StatusString

获取当前操作机器人工件 const char* get_robot_wobj();

TSetRobotTeachCoordinate ReqInt StatusRet

设置当前操作机器人的坐标系 int set_robot_teach_coordinate(int frame);

TGetRobotTeachCoordinate ReqVoid StatusInt

获取当前操作机器人的坐标系 int get_robot_teach_coordinate();

TGetRobotNum ReqVoid StatusInt

获取机器人数目 int get_robot_num();

TGetRobotDof ReqVoid StatusInt

获取当前操作机器人的自由度 int get_robot_dof();

TGetRobotJoint ReqVoid StatusArraydoubleRet

获取当前操作机器人的关节位置 int get_robot_joint(double* joint);

TStreamRobotJoint ReqVoid StatusArraydoubleRet stream

TGetRobotCartesian ReqVoid StatusArraydoubleRet

获取当前操作机器人的笛卡尔位置 int get_robot_cartesian(double* cartesin);

TStreamRobotCartesian ReqVoid StatusArraydoubleRet stream

TSetRobotTeachVelocity ReqDouble StatusVoid

设置当前操作机器人的示教速度 void set_robot_teach_velocity(double vel_percent);

TGetRobotTeachVelocity ReqVoid StatusDouble

获取当前操作机器人的示教速度 double get_robot_teach_velocity();

TSetRobotRunType ReqInt StatusVoid

设置当前操作机器人的运行方式 void set_robot_run_type(int isSimulation);

TGetRobotRunType ReqVoid StatusInt

获取当前操作机器人的运行方式 int get_robot_run_type();

TGetRobotRunState ReqVoid StatusInt

获取当前操作机器人的运行状态 int get_robot_run_state();

TCreateRobotTorqueSensor ReqString StatusRet

创建末端六维力传感器 int create_robot_torque_sensor(const char* torqueSensorName);

TCalibrationRobotTorqueSensor ReqString StatusRet

末端六维力传感器标定(仅需一次) int calibration_robot_torque_sensor(const char* torqueSensorName);

TGetRobotTorqueSensor ReqString StatusArraydoubleRet

获取末端六维力传感器数据 int get_robot_torque_sensor(const char* torqueSensorName, double* torque);

TCreateRobotGrip ReqString StatusRet

创建夹爪 int create_robot_grip(const char* gripName);

TControlRobotGrip ReqStrDouble StatusRet

夹爪开合控制 int control_robot_grip(const char* gripName, double close_percent);

TRobotMoveErrorClear ReqVoid StatusVoid

清除当前操作机器人的错误运动状态 void robot_move_error_clear();

TStartRobotProject ReqString StatusRet

启动机器人项目 int start_robot_project(const char* project_name);

TCloseRobotProject ReqVoid StatusRet

关闭机器人项目 int close_robot_project();

TSaveRobotCurrentJointData ReqString StatusRet

保存当期操作机器人的当前关节数据 int save_robot_current_joint_data(const char* data_name);

TSaveRobotCurrentCartesianData ReqString StatusRet

保存当期操作机器人的当前位置及姿态数据 int save_robot_current_cartesian_data(const char* data_name);

TRobotTeachEnable ReqVoid StatusInt

使能当前操作机器人 int robot_teach_enable();

TRobotTeachDisenable ReqVoid StatusInt

非使能当前操作机器人 int robot_teach_disenable();

TRobotTeachStop ReqVoid StatusRet

停止当前操作机器人的示教移动 int robot_teach_stop();

TRobotHome ReqVoid StatusInt

当前操作机器人回零运动 int robot_home(); 当前操作机器人运动到指定目标关节位置 int robot_goto(double* J, int dof); rpc TRobotGoto(HyyRobjointArray) returns (StatusInt);

TRobotTeachJoint ReqInt2 StatusInt

在关节空间示教当前操作机器人 int robot_teach_joint(int axis_index, int dir);

TRobotTeachCartesian ReqInt2 StatusInt

在笛卡尔空间示教当前操作机器人,运动相对坐标系包括:基座坐标系,工件坐标系,工具坐标系,由当前设置的坐标系决定。 int robot_teach_cartesian(int axis_index,int dir);

TRobotTeachMove ReqInt2 StatusInt

示教当前操作机器人,包含前两个函数功能,运动相对坐标系包括:关节坐标系,基座坐标系,工件坐标系,工具坐标系,由当前设置的坐标系决定。 int robot_teach_move(int axis_index,int dir);

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)