Selecting Development Method
Choose based on the external controller's capabilities:
- No external controller: Use Scene Editor to call Lua SDK and Lua API for simple control logic execution within the robot arm, with auto-start capability
- Controller with TCP Socket: Use Lua Socket Service to call Lua SDK and Lua API
- Controller with HTTP/WebSocket: Use JSON-RPC Service to control the robot arm
- Controller capable of running SDK: Use Lebai SDK in supported programming languages
- Controller with ROS: Use ROS SDK
- Controller with Modbus-TCP: Use Modbus TCP
- Controller with Serial Port: Follow the no-controller approach, use Scene Editor to create a scene that receives serial data and auto-starts. Execute actions based on received data. Example code: https://github.com/lebai-robotics/example/blob/main/lua_api/%E4%B8%B2%E5%8F%A3%E6%8E%A7%E5%88%B6.lua
- Controller with IO: Follow the no-controller approach, use Scene Editor to create a scene that monitors IO changes and auto-starts. Execute actions based on IO changes. Example code: 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
Development Method Comparison
Comparing common development methods across use cases, feature completeness, and development efficiency (each scored out of 10)
Development Method | Use Cases | Feature Completeness | Development Efficiency |
---|---|---|---|
Scene Editor | 10 (Local execution) | 8 | 10 |
Lua Socket Service | 8 (TCP Socket) | 8 | 9 |
JSON-RPC Service | 9 (HTTP) | 10 | 5 |
Lebai SDK | 5 (Some programming languages) | 6 | 8 |
ROS SDK | 4 (ROS) | 4 | 7 |
Modbus TCP Slave Service | 3 (PLC etc.) | 3 | 6 |
Development Recommendations
It's recommended to first learn using the Scene Editor with Lua SDK and Lua API, which doesn't require an external controller.
It's suggested to handle motion trajectory logic in the Scene Editor, while external editors can call specific interfaces to run scenes. For example:
- API's scene
- SDK's start_task
- JSON-RPC's start_task