![]() |
lebai sdk
1.4.4
lebai c++ sdk with swig to support sereval languages.
|
乐白机器人 SDK,用于发现、连接和控制乐白机械臂。当前重构版本为 2.0.0,核心 C++ SDK 已迁移到 json-rpc-cxx + nlohmann/json 的 JSON-RPC 实现,并通过 SWIG 生成 Python、.NET 和 Java 绑定。
| 模块 | CI |
|---|---|
| 总发布 |
SDK 公共接口主要分为四部分:
Discovery: 发现局域网内的乐白控制器和设备。Robot: 机器人主控制接口,包含运动、IO、任务、配置、系统等 RPC。LuaRobot: 面向 Lua 风格控制器通信的兼容接口。Gripper: 直接 RS485 夹爪接口,独立于主 Robot JSON-RPC 通道。Python 包名为 pylebai:
更多说明见 docs/python.md。
NuGet 包名为 lebai:
lebai NuGet 包包含 Linux x64、Linux arm64 和 Windows x64 native runtime assets,C# 用户不需要额外安装平台 runtime 包。更多说明见 docs/dotnet.md。
Java Maven 坐标为:
Java 源码包名仍为 org.sdk.lebai,以保持现有 SWIG API 兼容。更多说明见 docs/java.md。
基础依赖:
Ubuntu / Debian 示例:
如果系统 SWIG 版本过旧,可以使用用户级安装:
常用构建命令:
构建语言绑定:
推荐使用 Visual Studio 2022 + CMake。构建 C::、Python 或 Java 绑定时,还需要 对应语言的 SDK、SWIG 和 Maven/JDK 等工具。Windows native 包使用静态 MSVC runtime,以减少 C# 用户对额外 Visual C++ Redistributable 的依赖。
| 选项 | 默认值 | 说明 |
|---|---|---|
BUILD_CXX | ON | 构建 C++ SDK |
BUILD_PYTHON | OFF | 构建 Python 绑定 |
BUILD_DOTNET | OFF | 构建 .NET / C# 绑定 |
BUILD_JAVA | OFF | 构建 Java 绑定 |
BUILD_TESTING | ON | 构建测试程序 |
BUILD_EXAMPLES | ON | 构建示例程序 |
BUILD_DEB | OFF | 生成 Debian 包 |
BUILD_DOCUMENTATION | OFF | 生成 Doxygen 文档 |
TEST_ROBOT_IP | 127.0.0.1 | 测试目标控制器 IP |
ENABLE_TSAN | OFF | 启用 ThreadSanitizer |
本地模拟 L master controller 测试目标通常使用 127.0.0.1:3030。
| 软件 | 协议 | 说明 |
|---|---|---|
| Asio | MPL-2.0 | 串口/异步通信基础设施 |
| mdns | Public Domain | 设备发现 |
| nlohmann/json | MIT | JSON DTO 和序列化 |
| cpp-httplib | MIT | HTTP transport |
| json-rpc-cxx | MIT | JSON-RPC request/response |
| SWIG | GPL-compatible | Python/.NET/Java 绑定生成 |
SDK 使用需要乐白机械臂控制器软件版本大于等于 3.1.5。控制器版本可以在机械臂 Web 界面左上方查看。
Lua 接口文档可参考 SDK 在线文档。本 SDK 的 Robot API 正在按 lebai-proto RPC 协议逐步迁移和校准。