Skip to content

入门指南

纳博特控制器提供多种二次开发方式。本指南帮你根据目标、技术栈和场景选择最合适的方案。


快速决策表

你的目标推荐方案语言/协议平台难度文档入口
编写 PC 端控制软件上位机开发C++, C#, PythonWindows / LinuxC++ · C# · Python
通过 TCP 远程控制机器人JSON 协议通信任意语言 (JSON over TCP)跨平台RTL-22.07 · RTL-24.03
定制控制器底层行为控制器二次开发C++Linux控制器开发指南
定制示教器界面示教器二次开发C++ / QtLinux中高示教器开发指南
集成 ROS 生态ROS 开发C++, PythonLinux中高ROS 集成指南
搭建 EtherCAT 实时主站主站开发C / C++Linux (RT)主站库说明

开发方式说明

1. 上位机开发

在 PC 上通过 API 直接控制机器人,摆脱示教器限制,适合自动化集成、数据采集、远程监控等场景。

支持语言和平台:

语言平台工具链
C++WindowsMSVC / MinGW
C++LinuxGCC
C#Windows.NET
PythonWindows / LinuxPython 3.x

入门路径: 选择语言 → 下载 SDK → 初始化项目 → 调用 API 连接控制器 → 运行示例

适合用户: 需要进行机器人高层控制、自动化操作或系统集成的开发人员。支持多语言,可根据项目需求灵活选择技术栈。


2. JSON 协议通信

通过标准 JSON 消息与控制器通信,适用于跨语言、跨平台的远程控制和数据交换。

协议特点:

  • 基于 TCP 通信,端口 5000(文件传输)、6000/6001(JSON 文本命令通信)、7000(上位机服务功能)
  • 与编程语言无关,任何支持 TCP Socket 的语言均可使用

RTL-22.07 和 RTL-24.03 均为稳定版本,使用相同的端口体系。6000 端口一般用于示教器通信,6001 端口一般用于上位机通信。当前主流出货版本为 RTL-24.03。

前提知识:

  • TCP Socket 编程基础
  • JSON 数据格式

入门路径: 选择协议版本 → 查阅消息格式 → 建立 Socket 连接 → 发送指令

适合用户: 需要通过标准化协议与机器人进行远程控制或集成的开发人员。JSON 协议轻量、跨平台,适合保护自有工艺数据的集成商。


3. 控制器二次开发

在控制器 Linux 环境上开发底层算法,替换或扩展控制器的核心功能。

应用场景: 专有工艺开发、特殊机型支持、插补算法替换等。

前提知识:

  • C++ 编程(面向对象、数据结构)
  • Linux 系统编程(进程管理、内存管理)
  • 机器人控制理论(运动学、动力学、插补算法)

入门路径: 安装交叉编译环境 → 编写定制内容 → 编译并部署到控制器 → 调试

适合用户: 控制器硬件和算法开发人员,具有较强的底层编程能力,需要定制插补算法、特殊机型支持或专有工艺。


4. 示教器二次开发

定制示教器用户界面和交互功能,实现与控制器的协同工作。

应用场景: 定制专属 UI/UE,配合控制器二次开发实现专有功能。

前提知识:

  • C++ 编程
  • Qt 框架(信号与槽、QML、UI 设计)
  • Linux 系统基础操作

入门路径: 搭建 Qt 开发环境 → 创建示教器项目 → 设计 UI → 关联控制器功能

适合用户: UI/UX 开发人员,具备前端开发经验,希望为机器人系统提供自定义操作界面的工程师。


5. ROS 开发

将纳博特控制器集成到 ROS 网络中,实现机器人系统的实时监控和控制。

ROS 开发使用 ROS 原生通信机制(话题/服务),不涉及 JSON 格式或 HTTP 协议。

前提知识:

  • ROS 基本概念(节点、话题、服务、动作)
  • C++ 或 Python 编程
  • ROS 工具链(MoveIt、RViz 等)

入门路径: 安装 ROS → 配置 ROS 环境 → 启动纳博特 ROS 节点 → 在 ROS 网络中发布/订阅控制指令

适合用户: 科研用户和 ROS 开发者,需要将纳博特控制器集成到已有 ROS 系统中的工程师。ROS 生态提供丰富的工具库,适合复杂算法研究和多机器人协同。


6. 主站开发

将控制器退化为工控机,在其上运行 EtherCAT 实时主站,实现高度定制化的实时控制系统。

应用场景: 满足客户对实时控制的需求,可在该平台上开发实时控制系统和工业网络通信协议。

前提知识:

  • C / C++ 编程
  • EtherCAT 协议基础
  • 实时操作系统(RTOS / Xenomai)

入门路径: 搭建交叉编译环境 → 初始化主站库 → 配置 EtherCAT 总线 → 编写实时任务

适合用户: 工业自动化和嵌入式系统开发人员,尤其是需要定制实时控制系统和网络通信协议的工程师。


按用户角色推荐

本体厂商

目标:快速客制化控制系统,打造自有机器人大脑,提高品牌辨识度。

推荐 控制器二次开发 + 示教器二次开发。本体厂商通常需要定制化的控制算法以适配其硬件,控制器二次开发允许对底层控制进行深度定制,调整运动控制、插补算法等。示教器二次开发则可打造专有用户界面,提升品牌辨识度。

技术要求: 对机器人有较深了解,熟悉 C++ 编程和控制算法,具备 Linux 系统开发能力。

集成商

目标:开发专有工艺,保护自有行业知识,打造产品护城河。

推荐 上位机开发 + JSON 协议通信。集成商需要集成自己的专有工艺和技术,上位机开发可通过 API 进行机器人控制,同时收集处理数据;JSON 协议作为轻量级通信方式,适合标准化数据传输,保护自有工艺数据。

技术要求: 熟悉网络协议和数据交换,能够进行系统集成和高效数据传输,掌握至少一种上位机开发语言。

科研用户

目标:专注高精度运控算法研究,深挖机器人极限性能。

推荐 控制器二次开发 + ROS 开发。控制器二次开发提供深度定制运动控制和算法的平台;ROS 支持多机器人协同工作,丰富的工具库帮助实现复杂算法研究和创新。

技术要求: 高度的技术研发能力,熟悉控制算法、ROS 开发和高精度运动控制,具备 C++ 和 Python 编程能力。

教育用户

目标:培养学生不仅会用机器人,更能设计和制造机器人。

推荐 上位机开发(Python)+ ROS 开发。Python 简单易用,适合快速上手和基础编程教学;ROS 有广泛社区支持和丰富学习资源,配合示例程序帮助学生理解机器人控制原理。

技术要求: 对机器人操作有基本了解,熟悉图形界面开发和基础编程语言,具备教学场景下的课程设计能力。


运动控制方式对比

机器人执行运动有三种方式,适用于不同场景。上位机 SDK 用户主要使用后两种。

方式适用场景特点支持平台
作业文件模式固定任务、批量生产预编程序列,可循环执行,支持完整逻辑控制(条件/循环/IO)示教器 + 上位机
队列模式(无作业文件)上位机实时控制不依赖作业文件,直接下发目标点,适合动态路径生成上位机 SDK
追加模式视觉引导、动态避障边运动边追加新指令,无需预编译,支持实时决策仅上位机 SDK

追加模式无法通过示教器实现,必须通过 SDK 或通信协议调用。

入门小贴士

  • 前提知识: 对机器人操作有基本了解,熟悉图形界面开发和基础编程语言
  • 先读文档: 各开发方式都提供了详细的文档和示例代码,建议在开始之前先通读相关章节
  • 灵活选择: 初期阶段保持开发路径的开放性,有助于后期快速迭代
  • 社区支持: ROS 和 JSON 协议有广泛的社区支持,可通过在线论坛和教程获取帮助

不确定如何选择?

如果仍不清楚从何入手,按以下顺序尝试:

  1. 先看 Demo — 下载并运行对应语言的 Demo,直观感受工作流程
  2. 从 Python 开始 — 环境最简单、调试最方便,适合快速验证想法
  3. 需要更多功能再查 C++ / C# — 性能和接口更全面
  4. 需要跨语言通讯选 JSON — 适用于已有 TCP 通信基础的系统集成场景

如果仍有疑问,请查阅常见问题版本与兼容性或发送邮件至 sales@inexbot.com