REST API backend for managing robot joints via URDF files in ROS 2
The Lucy Control Panel Package is a ROS 2 package that provides a REST API backend for the Lucy Control Panel project. This package enables remote management and control of robot joints through a web-based interface by exposing robot capabilities via RESTful endpoints.
The package integrates with ROS 2's robot description framework, parsing URDF (Unified Robot Description Format) files to dynamically generate API endpoints for each controllable joint. This allows for real-time monitoring and control of robot actuators through HTTP requests, making it easy to integrate with web applications, mobile apps, or other external systems.
- REST API Server: Embedded HTTP server providing RESTful endpoints for robot control
- URDF Integration: Automatic parsing of robot URDF files to discover available joints and capabilities
- Joint Control: Real-time position, velocity, and effort control for robot joints
- Status Monitoring: Live feedback on joint states, positions, and health status
- ROS 2 Native: Full integration with ROS 2 ecosystem including topics, services, and parameters
- Web Interface Compatible: Designed to work seamlessly with the Lucy Control Panel frontend
- Configurable: Flexible configuration options for different robot platforms and setups
- ROS 2 (Humble or later)
- Python 3.8+
- Valid URDF file for your robot
# Clone the repository into your ROS 2 workspace
cd ~/ros2_ws/src
git clone https://github.com/Sentience-Robotics/lucy_control_panel_package.git
# Build the package
cd ~/ros2_ws
colcon build --packages-select lucy_control_panel_package
# Source the workspace
source install/setup.bash# Launch the REST API server
ros2 launch lucy_control_panel_package lucy_api.launch.py
# The API will be available at http://localhost:8080
# Use with the Lucy Control Panel frontend for full functionalityFor more details on API endpoints, configuration options, and integration guides, visit the Sentience Robotics documentation.
- Lucy Control Panel - Frontend web interface for robot control
- InMoov Project - Open-source humanoid robot platform
We value the participation of each member of our community and are committed to ensuring that every interaction is respectful and productive. To foster a positive environment, we ask you to read and adhere to our Code of Conduct.
By participating in this project, you agree to uphold this code in all your interactions, both online and offline. Let's work together to maintain a welcoming and inclusive community for everyone.
If you encounter any issues or have questions regarding the Code of Conduct, please contact us at [email protected].
Thank you for being a part of our community!
To find out more on how you can contribute to the project, please check our CONTRIBUTING.md
This project is licensed under the GNU GPL V3 License. See the LICENSE file for details.
- 🎉 InMoov Project – Original design by Gael Langevin
- 🎉 ROS 2 Community – For the excellent robotics framework
- 🎉 All contributors to the InMoov and ROS communities
- 📧 Email: [email protected]
- 🌍 GitHub Organization: Sentience Robotics