| Field | Type | Label | Description |
| name | string |
|
|
| value | HyyRobjoint |
|
| Field | Type | Label | Description |
| name | string |
|
|
| value | HyyRobpose |
|
| Field | Type | Label | Description |
| name | string |
|
|
| value | HyySpeed |
|
| Field | Type | Label | Description |
| name | string |
|
|
| value | HyyTool |
|
| Field | Type | Label | Description |
| name | string |
|
|
| value | HyyWobj |
|
| Field | Type | Label | Description |
| name | string |
|
|
| value | HyyZone |
|
| Field | Type | Label | Description |
| entry | DataEntryRobjoint | repeated | int32 flag = 2; |
| Field | Type | Label | Description |
| entry | DataEntryRobpose | repeated |
|
| Field | Type | Label | Description |
| entry | DataEntrySpeed | repeated |
|
| Field | Type | Label | Description |
| entry | DataEntryTool | repeated |
|
| Field | Type | Label | Description |
| entry | DataEntryWobj | repeated |
|
| Field | Type | Label | Description |
| entry | DataEntryZone | repeated |
|
| Field | Type | Label | Description |
| 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 | 工件描述*/ |
| Field | Type | Label | Description |
| 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 | 工件描述 |
-------------------------------------------------------------------------
| Field | Type | Label | Description |
| 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] |
@brief 运动指令输入,关节数据
存储机器人关节数据
| Field | Type | Label | Description |
| dof | int32 | 机器人自由度 |
|
| angle | double | repeated | 机器人关节角度*10,单位rad |
@brief 运动指令输入,笛卡尔位置及姿态数据
存储机器人位姿数据
| Field | Type | Label | Description |
| xyz | double | repeated | 位置,单位mm |
| kps | double | repeated | 姿态,单位rad |
@brief 运动指令输入,速度数据
存储机器人关节速度和笛卡尔速度数据
| Field | Type | Label | Description |
| 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; |
@brief 运动指令输入,工具数据
描述机器人所使用的工具
| Field | Type | Label | Description |
| robhold | int32 | 是否手持工具,0:非手持;1:手持 |
|
| tframe | HyyRobpose | 工具坐标系相对法兰坐标系的位置及姿态描述 |
|
| payload | HyyPayLoad | 负载 |
@brief 运动指令输入,工件标系数据
描述机器人加工工件的坐标系,与工具配对使用
| Field | Type | Label | Description |
| robhold | int32 | 工件是否在机器人上,0:不在机器人上;1:在机器人上 |
|
| uframe | HyyRobpose | 用户坐标在基坐标系下的描述 |
|
| oframe | HyyRobpose | 工件坐标在用户坐标系下的描述 |
|
| ufprog | int32 | 预留,未使用 |
|
| ufmec | int32 | 预留,未使用 |
@brief 运动指令输入,转弯区数据
应用机器人连续两条指令之间的过度曲线,存储机器人转弯区数据
| Field | Type | Label | Description |
| zone_flag | int32 | 转弯区大小,zone_size=0:不使用转弯区;zone_size=1:运动总长度的百分比0~1;zone_size=2:转弯大小,移动mm,转动rad |
|
| zone_size | double | zone_flag含义,0:不使用;1:百分比;2:具体大小 |
| Field | Type | Label | Description |
| reqarr | bytes | 注: bytes为数组 |
|
| req | int32 | int参数 |
|
| reqstr | string | string参数 |
请求两项参数均为double数组类型
| Field | Type | Label | Description |
| reqarr1 | double | repeated | double参数1 |
| reqarr2 | double | repeated | double参数2 |
| Field | Type | Label | Description |
| req | double | double参数 |
|
| reqarr1 | double | repeated | double数组参数 |
| reqarr2 | double | repeated | double数组参数 |
请求两项参数分别为double数组与int类型
| Field | Type | Label | Description |
| reqarr | double | repeated | double数组参数 |
| req | int32 | int参数 |
| Field | Type | Label | Description |
| reqarr | double | repeated | double数组参数 |
| req1 | int32 | int参数 |
|
| req2 | int32 | int参数 |
| Field | Type | Label | Description |
| reqarr | double | repeated | double数组参数 |
| req | int32 | int参数 |
|
| reqstr | string | string参数 |
| Field | Type | Label | Description |
| reqarr | int32 | repeated |
|
| req | int32 | int参数 |
|
| reqstr | string | string参数 |
请求三项参数分别为string、int与string类型
| Field | Type | Label | Description |
| reqbytes | bytes | repeated | byte数组参数 |
| reqint | int32 | int参数 |
|
| reqstr | string | string参数 |
请求单项参数为double类型
| Field | Type | Label | Description |
| req | double | double参数 |
| Field | Type | Label | Description |
| req1 | double |
|
|
| req2 | double |
|
|
| req3 | int32 |
|
请求单项参数为int类型
| Field | Type | Label | Description |
| req | int32 | int参数 |
请求两项参数为int类型
| Field | Type | Label | Description |
| req1 | int32 | int参数1 |
|
| req2 | int32 | int参数2 |
请求两项参数均为double类型
| Field | Type | Label | Description |
| req1 | int32 | double参数1 |
|
| req2 | double | double参数2 |
绝对位置运动指令
extern void moveA(robjoint *rjoint, speed *rspeed, zone *rzone, tool *rtool, wobj *rwobj);
| Field | Type | Label | Description |
| rjoint | HyyRobjoint |
|
|
| rspeed | HyySpeed |
|
|
| rzone | HyyZone |
|
|
| rtool | HyyTool |
|
|
| wobj | HyyWobj |
|
圆弧运动指令
extern void moveC(HYYRobotBase::robpose *rpose, HYYRobotBase::robpose *rpose_mid, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);
| Field | Type | Label | Description |
| rpose | HyyRobpose |
|
|
| rpose_mid | HyyRobpose |
|
|
| rspeed | HyySpeed |
|
|
| rzone | HyyZone |
|
|
| rtool | HyyTool |
|
|
| wobj | HyyWobj |
|
关节运动指令
extern void moveJ(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);
| Field | Type | Label | Description |
| rpose | HyyRobpose |
|
|
| rspeed | HyySpeed |
|
|
| rzone | HyyZone |
|
|
| rtool | HyyTool |
|
|
| wobj | HyyWobj |
|
线性运动指令
extern void moveL(HYYRobotBase::robpose *rpose, HYYRobotBase::speed *rspeed, HYYRobotBase::zone *rzone, HYYRobotBase::tool *rtool, HYYRobotBase::wobj *rwobj);
| Field | Type | Label | Description |
| rpose | HyyRobpose |
|
|
| rspeed | HyySpeed |
|
|
| rzone | HyyZone |
|
|
| rtool | HyyTool |
|
|
| wobj | HyyWobj |
|
| Field | Type | Label | Description |
| rdt | HyyRobotDataType |
|
| Field | Type | Label | Description |
| rdt | HyyRobotDataType |
|
|
| n | int32 |
|
| Field | Type | Label | Description |
| header | int32 | repeated |
|
| headerformat | int32 | repeated |
|
| hflen | int32 |
|
|
| dataint | int32 | repeated |
|
| datafloat | float | repeated |
|
| dataformat | int32 | repeated |
|
| dflen | int32 |
|
|
| name | string |
|
请求两项参数分别为string与byte类型
| Field | Type | Label | Description |
| reqstr | string | string参数 |
|
| req | bytes | byte参数 |
请求两项参数分别为string与double类型
| Field | Type | Label | Description |
| reqstr | string | string参数 |
|
| req | double | double参数 |
请求两项参数分别为string与int类型
| Field | Type | Label | Description |
| reqstr | string | string参数 |
|
| req | int32 | int参数 |
请求三项参数分别为string、int与string类型
| Field | Type | Label | Description |
| reqstr1 | string | string参数1 |
|
| reqint | int32 | int参数 |
|
| reqstr2 | string | string参数2 |
请求两项参数均为string类型
| Field | Type | Label | Description |
| reqstr1 | string | string参数1 |
|
| reqstr2 | string | string参数2 |
请求单项参数为string类型
| Field | Type | Label | Description |
| reqstr | string | string参数 |
---------- REQ ------------
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rjoint | HyyRobjoint |
|
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rpose | HyyRobpose |
|
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rspeed | HyySpeed |
|
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rtool | HyyTool |
|
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rwobj | HyyWobj |
|
| Field | Type | Label | Description |
| reqstr | string |
|
|
| rzone | HyyZone |
|
| Field | Type | Label | Description |
| data | bytes |
|
|
| ret | int32 |
|
机器人当前关节角 StatusJoint & 机器人当前位姿 StatusPosPose
| Field | Type | Label | Description |
| data | double | repeated | 10 |
Robpose
| Field | Type | Label | Description |
| data1 | double | repeated |
|
| data2 | double | repeated |
|
当前笛卡尔位置 StatusCartesin & 六维传感器数据 StatusTorque
| Field | Type | Label | Description |
| data | double | repeated |
|
| ret | int32 |
|
| Field | Type | Label | Description |
| data | int32 | repeated |
|
| ret | int32 |
|
| Field | Type | Label | Description |
| data | double |
|
| Field | Type | Label | Description |
| data | double |
|
|
| ret | int32 |
|
| Field | Type | Label | Description |
| data | int32 |
|
| Field | Type | Label | Description |
| data | int32 |
|
|
| ret | int32 |
|
| Field | Type | Label | Description |
| ret | int32 |
|
| Field | Type | Label | Description |
| data | string |
|
----------- Resp ------------
-------------------------------------------------------------------------
| Name | Number | Description |
| _robjoint | 0 | 关节数据 |
| _robpose | 1 | 笛卡尔数据 |
| _speed | 2 | 速度数据 |
| _zone | 3 | 转弯区数据 |
| _tool | 4 | 工具数据 |
| _wobj | 5 | 工件数据 |
| Method Name | Request Type | Response Type | Description |
| 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); |
| .proto Type | Notes | C++ | Java | Python | Go | C# | PHP | Ruby |
| 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) |