选择开发方式
需要根据外部控制器具备的功能进行选择:
- 无外部控制器:可以使用场景编辑器调用Lua SDK和Lua API,在机械臂内执行简单的控制逻辑,并且可以设置开机自动运行
- 具备TCP Socket的外部控制器:可以使用Lua Socket 服务调用Lua SDK和Lua API
- 具备HTTP或WebSocket的外部控制器:可以使用JSON-RPC 服务控制机械臂
- 能够运行SDK的外部控制器:可以在一些高级编程语言中使用Lebai SDK控制机械臂
- 具备ROS的控制器:可以使用ROS SDK控制机械臂
- 具备Modbus-TCP的外部控制器:可以使用Modbus TCP控制机械臂
- 具备串口功能的控制器:参考无控制的开发方式,使用场景编辑器编写一个接收串口数据的
场景
并设置开机自动运行,在场景中根据接收到的数据执行动作。示例代码:https://github.com/lebai-robotics/example/blob/main/lua_api/%E4%B8%B2%E5%8F%A3%E6%8E%A7%E5%88%B6.lua - 具备IO功能的控制器:参考无控制的开发方式,使用场景编辑器编写一个检测IO变化的
场景
并设置开机自动运行,在场景中根据IO变化执行动作。示例代码:https://github.com/lebai-robotics/example/blob/main/lua_api/IO%E5%92%8C%E4%BF%A1%E5%8F%B7%E9%87%8F%E6%8E%A7%E5%88%B6.lua
开发方式对比
对常用的开发方式从适用场景、功能齐全性、开发效率维度进行对比,每项满分10分
开发方式 | 适用场景 | 功能齐全性 | 开发效率 |
---|---|---|---|
场景编辑器 | 10 (本地运行) | 8 | 10 |
Lua Socket 服务 | 8 (Tcp Socket) | 8 | 9 |
JSON-RPC 服务 | 9 (Http) | 10 | 5 |
Lebai SDK | 5 (部分编程语言) | 6 | 8 |
ROS SDK | 4 (ROS) | 4 | 7 |
Modbus从站 | 3 (PLC 等) | 3 | 6 |
开发建议
建议优先学习无需外部控制器的使用场景编辑器调用Lua SDK和Lua API。
建议将运动轨迹相关逻辑放到场景编辑器中处理,外部编辑器可以调用特定接口让机械臂运行场景。如 API的scene;SDK的start_task;JSON-RPC的start_task;