A modern, TUI-themed web interface for controlling robots with real-time joint manipulation and immersive 3D visualization.
Lucy Control Panel is a comprehensive web-based control system designed specifically for robots. Built with React and Three.js, it provides an intuitive terminal-style interface that allows users to control individual robot joints, save/load poses, and visualize the robot in real-time 3D.
The application features a distinctive green-on-black cyberpunk aesthetic reminiscent of classic terminal interfaces, making robot control both functional and visually engaging. Whether you're programming complex movements or fine-tuning individual joints, Lucy Control Panel provides the tools needed for precise robot manipulation.
- 🎮 Real-time Joint Control - Individual control of all robot joints with precision sliders and input fields
- 🎯 URDF Parser - Automatic parsing of InMoov URDF files to extract joint configurations and constraints
- 💾 Pose Management - Save, load, and manage multiple robot poses with custom names
- 🔄 Drag & Drop Categories - Reorganize joint categories (Head, Arms, Torso, etc.) via intuitive drag-and-drop
- 📐 Unit Conversion - Toggle between degrees and radians for joint angle display
- 🤖 3D Robot Visualization - Real-time 3D rendering of robot meshes with STL support
- ⚙️ Visual Controls - Wireframe mode, grid display, transparency adjustment, and camera controls
- 🎨 Cyberpunk UI - Terminal-inspired interface with signature green glow effects
- 📱 Responsive Design - Works seamlessly across desktop and mobile devices
- 🔌 Connection Management - Visual connection status and control interface
- 🔐 Secure Authentication - Optional username and password protection with MD5 encryption
- 🌐 Custom ROS Bridge URL - Configurable ROS Bridge connection with persistent settings
Create a .env file in the project root to configure the application:
# ROS Bridge Server URL
VITE_ROS_BRIDGE_SERVER_URL=ws://localhost:9090
# Authentication (both required for password protection)
VITE_LOCAL_USERNAME=admin
VITE_LOCAL_PASSWORD=5d41402abc4b2a76b9719d911017c592
VITE_PORT=3000
VITE_ENABLE_LOGS=true- Username: Set
VITE_LOCAL_USERNAMEto your desired username - Password: Set
VITE_LOCAL_PASSWORDto the MD5 hash of your password- Generate MD5 hash:
echo -n "yourpassword" | md5sum - Example: Password "lucy123" → MD5 hash "5d41402abc4b2a76b9719d911017c592"
- Generate MD5 hash:
Note: If either VITE_LOCAL_USERNAME or VITE_LOCAL_PASSWORD is not set, the application will run without authentication.
For more details on creation processes, troubleshooting, and other guidance, visit the Sentience Robotics documentation.
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 contact@sentience-robotics.fr.
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
- Original project code/files: GNU GPL V3 License
- InMoov-derived files: CC BY-NC 4.0 (as specified under)
See the LICENSE file for details.
Parts of this project that are derived from InMoov files (including Blender models, CAD files, and STL files) are based on the original work by Gael Langevin.
Original Work: InMoov by Gael Langevin
License: Creative Commons Attribution-NonCommercial (CC BY-NC)
Source: http://inmoov.fr/
Applies to: Blender files, CAD files, STL files, and other 3D models derived from InMoov
- 🎉 InMoov Project – Original design by Gael Langevin
- 🎉 All contributors to the InMoov community
- 🎉 React Three Fiber – 3D rendering capabilities
- 🎉 Three.js – WebGL 3D graphics library
- 📧 Email: contact@sentience-robotics.fr
- 🌍 GitHub Organization: Sentience Robotics