wkentaro / reorientbot

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

Home Page:https://reorientbot.wkentaro.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

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

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

# # 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

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

About

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

https://reorientbot.wkentaro.com

License:Other


Languages

Language:Python 96.0%Language:Shell 3.3%Language:Makefile 0.6%Language:CMake 0.2%