Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/wkentaro/reorientbot

ReorientBot: Learning Object Reorientation for Specific-Posed Placement, ICRA 2022
https://github.com/wkentaro/reorientbot

artificial-intelligence computer-vision deep-learning machine-learning robotics ros

Last synced: 7 days ago
JSON representation

ReorientBot: Learning Object Reorientation for Specific-Posed Placement, ICRA 2022

Awesome Lists containing this project

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},
}
```