Modern web-based control interface for the Arctos Robot, built with NiceGUI and Python.
- Modern UI: Material Design interface with real-time updates
- Robot Control:
- Joint and Cartesian position control
- Path planning and program execution
- Gripper control
- Keyboard shortcuts for fine movement
- Configuration:
- MKS Servo configuration
- Customizable settings
- Python 3.8+
- CAN interface for robot communication
- Arctos Robot hardware (for full functionality)
- Recommended: Conda/Miniconda for dependency management
-
Clone the repository:
git clone https://github.com/jetta18/ArctosGuiPython.git cd ArctosGuiPython
-
Create and activate the Conda environment:
conda env create -f environment.yml conda activate arctos-env
💡 Don't have Conda? Install Anaconda (https://www.anaconda.com/download)
-
Clone the repository:
git clone https://github.com/jetta18/ArctosGuiPython.git cd ArctosGuiPython
-
Create and activate a virtual environment:
# Linux/macOS python3 -m venv venv source venv/bin/activate # Windows python -m venv venv .\venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Install Pinocchio manually: Pinocchio Installation Guide
Note: The following steps are only necessary for Linux systems. On Windows, CAN interface setup is not required. By default, COM5 is used as the CAN interface on Windows.
-
Navigate to the scripts directory:
cd ~/ArctosGuiPython/scripts
-
Run the setup script (requires sudo):
sudo ./setup_canable.sh
-
Activate your environment:
# For Conda conda activate arctos-env # For venv # Linux/macOS: source venv/bin/activate # Windows: .\venv\Scripts\activate
-
Start the application:
cd ~/ArctosGuiPython/src python main.py
-
Open your browser and navigate to:
http://localhost:8080
ArctosGuiPython/
├── src/ # Source code
│ ├── core/ # Core robot functionality
│ ├── config/ # User preferences and settings
│ ├── models/ # 3D models and URDF files
│ ├── services/ # Robot services and communication
│ ├── components/ # UI components
│ ├── pages/ # Application pages
│ ├── programs/ # Stored motion programs
│ └── utils/ # Utility functions
│ └── main.py # Application entry point
├── assets/ # Static assets (icon.png, etc.)
├── scripts/ # System scripts (setup_canable.sh)
├── docs/ # Documentation (ARCHITECTURE.md, etc.)
├── requirements.txt # Python dependencies
└── environment.yml # Conda environment
This project is licensed under MIT License.
Note: The included MKS-Servo CAN library is licensed under the GNU General Public License v3.0.
- MKS-Servo CAN library - For servo control
- NiceGUI - Modern web interface
- Pinocchio - Robotics calculations
- MeshCat - 3D visualization