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) |