Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/wkentaro/reorientbot
- Owner: wkentaro
- License: other
- Created: 2022-02-18T17:58:24.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2022-03-16T15:25:40.000Z (over 2 years ago)
- Last Synced: 2024-11-01T10:35:09.746Z (14 days ago)
- Topics: artificial-intelligence, computer-vision, deep-learning, machine-learning, robotics, ros
- Language: Python
- Homepage: https://reorientbot.wkentaro.com
- Size: 29.8 MB
- Stars: 52
- Watchers: 3
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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 installsource .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/activatecd ros/
make install
source devel/setup.sh
```#### @robot-node
```
cd ros/
source /opt/ros/noetic/setup.shcatkin build morefusion_panda
rosrun morefusion_panda create_udev_rules.shcatkin 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.launchrobot-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},
}
```