This repository provides an implementation of the paper:
COMPAct: Computational Optimization and Automated Modular design of Planetary ActuatorsAman Singh, Deepak Kapa, Suryank Joshi, and Shishir Kolathaya
IEEE International Conference on Robotics and Automation, 2026
Video-Overview
This framework provides the following features:
-
Optimize planetary gearbox parameters for a given motor across the following gearbox types:
- Single Stage Planetary Gearbox (SSPG),
- Compound Planetary Gearbox (CPG),
- Wolfrom Planetary Gearbox (3K)(WPG), and
- Double Stage Planetary Gearbox (DSPG).
-
Perform multi-objective optimization to minimize actuator mass and axial width while maximizing efficiency.
-
Automatically generate parametric actuator CAD from optimization results, enabling direct 3D printing without manual redesign.
| Motor Code | Description |
|---|---|
| U8 | T-motor U8 |
| U10 | T-motor U10+ |
| U12 | T-motor U12 |
| MN8014 | T-motor MN8014 |
| VT8020 | Vector Techniques 8020 |
| MAD_M6C12 | MAD Components M6C12 |
| Type | Description |
|---|---|
| sspg | Single-Stage Planetary Gearbox |
| cpg | Compound Planetary Gearbox |
| wpg | Wolfrom Planetary Gearbox (3K) |
| dspg | Double-Stage Planetary Gearbox |
- Python 3.x
- SolidWorks 2024 (or higher) – Required for CAD automation features.
- Windows: Git Bash is highly recommended.
- Linux/macOS: Default terminal.
Clone the repository and install the dependencies:
# Clone the repository
git clone https://github.com/singhaman1750/COMPAct-Actuator_design_framework.git
# Enter the directory
cd COMPAct-Actuator_design_framework
# Install required packages
pip install numpy matplotlib pandasDue to file size limits, CAD files are zipped. You must extract them before running the framework.
NOTE: If you only need the optimized gear parameters (teeth count, module, etc.), you can skip this step. Extraction is only required if you intend to use the automated 3D modeling.
- Navigate to the
CADsdirectory. - Inside each gearbox folder (e.g.,
CADs/SSPG/), unzip the archive (e.g.,sspg_actuator.zip) into the same directory.
Your directory structure should look like this after extraction:
COMPAct-Actuator_design_framework/
└── CADs/
├── SSPG/sspg_actuator/sspg_actuator/...
├── CPG/cpg_actuator/cpg_actuator/...
├── DSPG/dspg_actuator/dspg_actuator/...
└── WPG/wpg_actuator/wpg_actuator/...
Run the Python script from the root directory to generate optimal gear parameters.
Syntax:
python actOpt.py <motor> <gearbox> <ratio><motor>: U8, U10, U12, MN8014, VT8020, MAD_M6C12<gearbox>: sspg, cpg, dspg, wpg<ratio>: Must be a value > 2.
Example: To optimize a T-motor U8 with a Single-Stage Planetary Gearbox and a ratio of 6.5:
python actOpt.py U8 sspg 6.5The script will output the optimal geometric parameters directly in the terminal:
Running optimization:
Motor : U8
Gearbox : sspg
Gear Ratio : 6.5
Time taken: 0.0196 sec
Optimization Completed.
-------------------------------
Optimal Parameters:
Number of teeth: Sun(Ns): 23 , Planet(Np): 52 , Ring(Nr): 127 , Module(m): 0.6 , NumPlanet(n_p): 3
---
Gear Ratio(GR): 6.52 : 1
-------------------------------
Detailed parameter files (used by SolidWorks) are automatically generated in the following locations:
- SSPG:
CADs/SSPG/sspg_equations.txt - CPG:
CADs/CPG/cpg_equations.txt - DSPG:
CADs/DSPG/dspg_equations.txt - WPG:
CADs/WPG/wpg_equations.txt
NOTE: If you skipped the CAD extraction, you can stop at Step 2.
- Open SolidWorks.
- Open the assembly file (
.SLDASM) for your specific gearbox type:- SSPG:
CADs/SSPG/sspg_actuator/sspg_actuator/sspg_actuator.SLDASM - (Paths for CPG, DSPG, and WPG follow the same folder pattern)
- SSPG:
- Click the Rebuild (Traffic Light) icon.
- The 3D model will automatically update to reflect the calculated parameters.
- 3D Printing: Export the updated plastic parts to
.STLformat. - Bearings: Check the updated CAD model to identify which standard bearings are required for your specific configuration.
If you use this framework in your research, please cite:
@misc{singh2025compact,
title={COMPAct: Computational Optimization and Automated Modular design of Planetary Actuators},
author={Aman Singh and Deepak Kapa and Suryank Joshi and Shishir Kolathaya},
year={2025},
eprint={2510.07197},
archivePrefix={arXiv},
primaryClass={cs.RO},
url={[https://arxiv.org/abs/2510.07197](https://arxiv.org/abs/2510.07197)},
}