Introduction A framework for robotic grasping using iterative Cross-Entropy Method (iCEM) with Model Predictive Control (MPC). Uses DexGraspNet hand positions for generate optimal approach trajectory.
Approach trajectory and grasp pose matching:
- Implementation of iCEM algorithm for robotic control
- MPC-based grasp planning and execution
- Support for multiple object types (bottles, bowls, mugs, etc.)
- Integration with DexGraspNet dataset
- Physics-based simulation environment compatible with RL
.
├── app/ # Example applications
├── icem_mpc/ # Core implementation
├── mjcf/ # MuJoCo model files
├── final_positions/ # Pre-computed grasp positions
└── typings/ # Type definitions
- Create environment using conda:
conda env create -f environment.yml
- Install the package:
pip install -e .
Check the example scripts in app/
folder:
example_icem_mpc.py
- Basic iCEM-MPC implementationexample_env.py
- Environment setup exampleshow_start_poses.py
- Visualization of initial poses
The reward function in reach_pose_env.py
encourages the robot hand to minimize the distance between key points on hand and the target grasp pose. A higher reward is given for precise alignment and successful approach, while penalties are applied for bumping an object.
DexGraspNet -- for good postions
pytorch_icem -- for fast and simple implemnatation iCEM