Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/wkentaro/safepicking

SafePicking: Learning Safe Object Extraction via Object-Level Mapping, ICRA 2022
https://github.com/wkentaro/safepicking

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

Last synced: 7 days ago
JSON representation

SafePicking: Learning Safe Object Extraction via Object-Level Mapping, ICRA 2022

Awesome Lists containing this project

README

        

SafePicking


Learning Safe Object Extraction via Object-Level Mapping


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 with CUDA and a GPU installed 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 safepicking_ros
```

## Usage

### Training & Inference

```bash
cd examples/picking/

# download pile files at ~/.cache/safepicking/pile_generation/
./download_piles.py

./train.py --model fusion_net --noise
./learned.py logs/XXX/weights/YYY

# use pretrained model
./download_pretrained_models.py

# inference in the test environments: ~/.cache/safepicking/pile_generation/00009000 - 00009999.pkl
./learned.py --weight-dir logs/20210709_005731-fusion_net-noise/weights/84500 \
~/.cache/safepicking/pile_generation/00009000.pkl
```







### Robotic demonstration

```bash
robot-node $ roslaunch safepicking_ros panda_control.launch

robot-agent $ roslaunch safepicking_ros setup.launch
robot-agent $ rosrun safepicking_ros safepicking_task_interface.py
>>> self.run([YcbObject.PITCHER])
```

## Citation

```
@inproceedings{Wada:etal:ICRA2022a,
title={{SafePicking}: Learning Safe Object Extraction via Object-Level Mapping},
author={Kentaro Wada and Stephen James and Andrew J. Davison},
booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
year={2022},
}
```