控制器二次开发 API
控制器二次开发接口,运行在控制器内部的 Linux 环境,适合开发专用工艺。接口以 C/C++ 函数形式调用。
API 概览
| 模块 | 说明 |
|---|---|
| 机器人基本参数设置 | 系统初始化、伺服控制、坐标系与标定、IO、变量管理、机器人参数等核心接口 |
| 作业文件与指令操作 | 作业文件 CRUD、运动/逻辑/工艺指令插入、无文件运行队列、追加模式、后台程序 |
| 码垛工艺 | 码垛工艺参数设置、抓手参数、位置/数量参数、状态清除 |
函数索引
最常用接口
| 函数 | 说明 |
|---|---|
| NRC_StartController | 启动控制器 |
| NRC_GetControlInitComplete | 等待初始化完成 |
| NRC_SetOperationMode | 设置操作模式(示教 0 / 远程 1 / 运行 2) |
| NRC_PowerOn / NRC_PowerOff | 伺服上/下使能 |
| NRC_GetServoStatus | 获取伺服状态 |
| NRC_ClearServoError | 清除伺服错误 |
| NRC_RobotMoveJoint | 机器人点到点运动 |
| NRC_GetCurrentPos | 获取当前位置 |
| NRC_SetCurrentCoord | 切换当前坐标系 |
运动学基础概念
控制器二次开发需要了解以下核心概念:
正解与逆解
| 概念 | 说明 | 应用场景 |
|---|---|---|
| 正解 (Forward Kinematics) | 已知各关节角度 → 计算末端在空间中的位置 | 状态显示、位置反馈 |
| 逆解 (Inverse Kinematics) | 指定末端目标位置 → 反推各关节所需角度 | 编程自动化、精确定位 |
不同机型(串联、SCARA、协作等)因构造不同,正逆解算法不同。所有机型须求解正逆解后方可投入使用。
DH 参数
Denavit-Hartenberg 参数描述相邻关节之间的几何关系,包括连杆长度、扭转角、偏移量等,是构建机器人运动学模型的基础数据。通过 NRC_SetRobotDHConfig / NRC_GetRobotDHConfig 设置和获取。
耦合比
部分紧凑型末端设计(如五六轴)因空间限制,一个轴运动会带动另一个轴联动。控制器在控制时自动施加反向补偿以保持目标轴静止。
坐标系类型
| 坐标系 | 说明 |
|---|---|
| 关节坐标 | 各关节电机的当前位置(角度) |
| 直角坐标 | 末端相对于底座的世界位置 |
| 工具坐标 | 末端安装夹爪/喷枪后的工具端点位置 |
| 用户坐标 | 在工作台上自定义的局部坐标系 |
| 大地坐标 | 末端相对于固定大地参考点的位置(用于地轨/AGV等移动基座场景) |
伺服映射
伺服驱动器与关节轴并非总是一一对应——因功率布局或散热需求,第一个伺服可能对应第二关节。伺服映射功能将物理伺服与逻辑关节正确绑定。