# reorientbot **Repository Path**: gaocansunny/reorientbot ## Basic Information - **Project Name**: reorientbot - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-17 - **Last Updated**: 2026-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

ReorientBot

Learning Object Reorientation for Specific-Posed Placement

Kentaro Wada, Stephen James, Andrew J. Davison
Dyson Robotics Laboratory, Imperial College London
IEEE International Conference on Robotics and Automation (ICRA), 2022

Installation | Usage | Paper | Video | Webpage

---
## Installation ### Python project only ```bash make install source .anaconda3/bin/activate ./checks/check_motion_planning.py ``` ### ROS project - `robot-agent`: A computer for visual processing. - `robot-node`: A computer with a real-time OS for a Panda robot. #### @robot-agent ```bash make install source .anaconda3/bin/activate cd ros/ make install source devel/setup.sh ``` #### @robot-node ``` cd ros/ source /opt/ros/noetic/setup.sh catkin build morefusion_panda rosrun morefusion_panda create_udev_rules.sh catkin build reorientbot_ros ``` ## Usage ### Training & inference #### Reorient pose selection ```bash cd examples/reorientation/ ./download_piles.py # # train from scratch # for seed in $(seq 0 4999); do # ./pickable_create_dataset.py --seed $seed # done # ./pickable_view_dataset.py # ./pickable_train.py --name franka_panda-panda_suction # NOTE: replace model path to use your own model ./pickable_eval.py --seed 0 ```

Figure 1. Reorient pose selection's dataset (left) and inference (right)

#### Reorient motion selection ```bash # # train from scratch # for seed in $(seq 0 4999); do # ./reorientable_create_dataset.py --seed $seed # done # ./reorientable_view_dataset.py # ./reorientable_train.py --name franka_panda-panda_suction # NOTE: replace model path to use your own model ./reorient_dynamic.py --seed 0 --face front ```

Figure 2. Reorient motion selection's dataset (left) and inference (right)

### Real-world demonstration ```bash robot-node $ roslaunch reorientbot_ros panda_control.launch robot-agent $ roslaunch reorientbot_ros setup.launch robot-agent $ rosrun reorientbot_ros reorientbot_task_interface.py >>> # self.run_singleview() >>> self.run_multiview() ```

Figure 3. Robotic rearrangement while picking, reorienting and placing objects.

## Citation ``` @inproceedings{Wada:etal:ICRA2022b, title={{ReorientBot}: Learning Object Reorientation for Specific-Posed Placement}, author={Kentaro Wada and Stephen James and Andrew J. Davison}, booktitle={IEEE International Conference on Robotics and Automation (ICRA)}, year={2022}, } ```