- 选型指南
- 概述
- 入门指南
- 机械臂参数
- 示教器使用
-
二次开发
-
API(C++)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
-
API(Python)
- 快速开始
- 接口说明
- 7000端口接口说明
- 使用示例
- 返回值说明
- ROS2开发
-
API(C++)
- 相关下载
全局路点管理接口
头文件:include/tl_interface.h
1. set_global_position - 新增全局路点/设置全局路点
方法:set_global_position(SOCKETFD socketFd, std::string posName, std::vector<double> posInfo);
功能描述:设置全局GP点位。
参数:
- socketNd:已连接的句柄。
- posName:全局路点名称(如 "GP0001")。
- posInfo:位置坐标数据列表,Python列表格式(list)。根据底层运动规划,要求传入 7 维双精度浮点数:
- 直角坐标系模式:承载X,Y,Z,RX,RY,RZX,Y,Z,RX,RY,RZ,分别对应空间三维毫米位姿、欧拉角弧度。
- 关节坐标系模式:承载 1 ~ 7 轴的各关节目标运行度数。对于标准 6 轴机械臂,第 7 位请传入 0.0 作为物理占位符。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
# ----设置全局路点----
print("[INFO] **********设置全局路点**********")
posName = "GP_test0"
posInfo = [0, 1, 2, 3, 4, 5, 6]
ret = set_global_position(socket_fd, posName, posInfo)
if ret != SUCCESS:
print("[ERROR] 设置全局路点失败,程序退出!")
sys.exit(-1)
print("[INFO] 设置全局路点成功")
2. get_global_position - 查询全局 GP 点位
方法:get_global_position(SOCKETFD socketFd, std::string posName, std::vector<double>& pos);
参数:
- socketFd:已连接的句柄。
- posName:坐标名称。
- pos:输出参数,用于存储坐标值的向量。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
# ----查询全局路点----
print("[INFO] **********查询全局路点**********")
queriedPos = VectorDouble()
ret = get_global_position(socket_fd, posName, queriedPos)
if ret != SUCCESS:
print("[ERROR] 查询全局路点失败,程序退出!")
sys.exit(-1)
print("[INFO] 查询全局路点成功,位置为:", end="")
for pos in queriedPos:
print(str(pos) + " ", end="")
3. set_global_string - 设置全局字符串变量
方法:set_global_string(socketFd, varName, varValue);
功能描述:设置字符串全局变量。
参数:
- socketFd:已连接的句柄。
- varName:变量名,如 "GS001"。
- varValue:字符串变量值。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
ret = tl.set_global_string(socket_fd, "GS001", "hello")
4. get_global_string - 获取全局字符串变量
方法:get_global_string(socketFd, varName, value);
功能描述:查询字符串全局变量。
参数:
- socketFd:已连接的句柄。
- varName:变量名,如 "GS001"。
- value:出参占位,传入字符串初始值(如
""),查询结果由返回值元组第二项给出。
返回值:
- tuple:(ret, value),value 为变量值
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
value = "" # 占位参数(std::string& 出参)
ret, value = tl.get_global_string(socket_fd, "GS001", value)
5. get_global_sync_position - 获取全局同步位置
方法:get_global_sync_position(socketFd, posName, pos);
功能描述:查询全局 GE 点位。
参数:
- socketFd:已连接的句柄。
- posName:全局位置名,如 "GE0001"。
- pos:输出参数,21 位点位数组(前 7 位坐标姿态、中间 7 位机器人位置、后 7 位外部轴位置)。
返回值:
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
pos = VectorDouble()
ret = tl.get_global_sync_position(socket_fd, "GE0001", pos)
6. get_global_variant - 获取全局变量
方法:get_global_variant(socketFd, varName, value);
功能描述:查询全局变量。
参数:
- socketFd:已连接的句柄。
- varName:全局变量名,支持 "GI001" / "GD001" / "GB001" 等形式。
- value:出参占位,传入数值占位值(如
0.0),查询结果由返回值元组第二项给出。
返回值:
- tuple:(ret, value),ret 为执行结果,value 为变量值
- 0:成功
- 非 0:失败
使用示例:
Python
import tl_interface as tl
socket_fd = tl.connect_robot("192.168.1.13", "6001")
value = 0.0 # 占位参数(double& 出参)
ret, value = tl.get_global_variant(socket_fd, "GI001", value)
if ret == 0:
print(f"全局变量值:{value}")
