Skip to content

Commit

Permalink
Merge pull request #2720 from knorth55/add-knorth55-mthesis
Browse files Browse the repository at this point in the history
  • Loading branch information
knorth55 authored Jul 19, 2020
2 parents ff56ae3 + 870c105 commit 0032974
Show file tree
Hide file tree
Showing 63 changed files with 9,146 additions and 1 deletion.
1 change: 1 addition & 0 deletions demos/selective_dualarm_grasping/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
models/
42 changes: 42 additions & 0 deletions demos/selective_dualarm_grasping/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
cmake_minimum_required(VERSION 2.8.3)
project(dualarm_grasping)

find_package(catkin REQUIRED
dynamic_reconfigure
jsk_recognition_msgs
message_generation
roseus
std_msgs
)

catkin_python_setup()

add_message_files(
FILES
GraspClassificationResult.msg
)

add_service_files(
FILES
GetAnother.srv
)

generate_messages(
DEPENDENCIES
std_msgs
jsk_recognition_msgs
)

# add_custom_target(${PROJECT_NAME}_install_models ALL COMMAND ${PROJECT_SOURCE_DIR}/scripts/install_models.py)

generate_dynamic_reconfigure_options(
cfg/DualarmGraspSegmentation.cfg
cfg/DualarmOccludedGraspInstanceSegmentation.cfg
)

catkin_package(
CATKIN_DEPENDS
std_msgs
jsk_recognition_msgs
message_runtime
)
155 changes: 155 additions & 0 deletions demos/selective_dualarm_grasping/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
# Advanced Robotics 2020: Selective dual-arm occluded grasping

## Download models

```bash
rosrun dualarm_grasping install_models.py
```

## Sampling

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_occluded_sampling.launch
```

Pass args for `first_sampling:=true` or `second_sampling:=true`

### Main Program

```bash
roseus euslisp/sampling-grasp.l
```

## Execution (Cluster Grasping)

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_occluded_picking.launch
```

### Main Program

```bash
roseus euslisp/dualarm-grasp.l
```

## Execution (Target Grasping)

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_occluded_picking.launch target_grasp:=true
```

### Main Program

```bash
roseus euslisp/dualarm-grasp.l
```

## Evaluation (Target Grasping)

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_occluded_test.launch target_grasp:=true
```

### Main Program

```bash
roseus euslisp/test-grasp.l
```

## Citation

```bib
@article{doi:10.1080/01691864.2020.1783352,
author = {Shingo Kitagawa and Kentaro Wada and Shun Hasegawa and Kei Okada and Masayuki Inaba},
title = {Few-experiential learning system of robotic picking task with selective dual-arm grasping},
journal = {Advanced Robotics},
volume = {0},
number = {0},
pages = {1-19},
year = {2020},
publisher = {Taylor & Francis},
doi = {10.1080/01691864.2020.1783352},
URL = {https://doi.org/10.1080/01691864.2020.1783352},
eprint = {https://doi.org/10.1080/01691864.2020.1783352}
}
```

# IROS2018: Selective dual-arm grasping

## Download models

```bash
rosrun dualarm_grasping install_models.py
```

## Sampling

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_sampling.launch
```

Pass args for `first_sampling:=true` or `second_sampling:=true`

### Main Program

```bash
roseus euslisp/sampling-grasp.l
```

## Execution

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_picking.launch
```

### Main Program

```bash
roseus euslisp/dualarm-grasp.l
```

## Evaluation

### Setup

```bash
roslaunch dualarm_grasping baxter.launch
roslaunch dualarm_grasping setup_test.launch
```

### Main Program

```bash
roseus euslisp/test-grasp.l
```

## Citation

```bib
@inproceedings{SelectiveDualarmGrasping:IROS2018,
author={Shingo Kitagawa and Kentaro Wada and Shun Hasegawa and Kei Okada and Masayuki Inaba},
booktitle={Proceedings of The 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems},
title={Multi-stage Learning of Selective Dual-arm Grasping Based on Obtaining and Pruning Grasping Points Through the Robot Experience in the Real World},
year={2018},
month={october},
pages={7123-7130},
}
```
17 changes: 17 additions & 0 deletions demos/selective_dualarm_grasping/cfg/DualarmGraspSegmentation.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import double_t
from dynamic_reconfigure.parameter_generator_catkin import ParameterGenerator
from dynamic_reconfigure.parameter_generator_catkin import str_t


PACKAGE = "dualarm_grasping"


gen = ParameterGenerator()

gen.add('score_thresh', double_t, 0, 'Score thresh', 0.5, 0.0, 1.0)
gen.add('grasp_thresh', double_t, 0, 'Grasp Score thresh', 0.3, 0.0, 1.0)
gen.add('sampling_thresh', double_t, 0, 'Sampling Score thresh', 0.7, 0.0, 1.0)
gen.add('grasping_way', str_t, 0, 'Grasping way', 'single')

exit(gen.generate(PACKAGE, PACKAGE, 'DualarmGraspSegmentation'))
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/usr/bin/env python
from dynamic_reconfigure.parameter_generator_catkin import double_t
from dynamic_reconfigure.parameter_generator_catkin import ParameterGenerator
from dynamic_reconfigure.parameter_generator_catkin import str_t


PACKAGE = "dualarm_grasping"


gen = ParameterGenerator()

gen.add('score_thresh', double_t, 0, 'Score thresh', 0.5, 0.0, 1.0)
gen.add('grasp_thresh', double_t, 0, 'Grasp Score thresh', 0.3, 0.0, 1.0)
gen.add('nms_thresh', double_t, 0, 'NMS thresh', 0.3, 0.0, 1.0)
gen.add('vis_thresh', double_t, 0, 'Vis region ratio thresh', 0.8, 0.0, 1.0)
gen.add('sampling_thresh', double_t, 0, 'Sampling Score thresh', 0.7, 0.0, 1.0)
gen.add('grasping_way', str_t, 0, 'Grasping way', 'single')

exit(gen.generate(
PACKAGE, PACKAGE, 'DualarmOccludedGraspInstanceSegmentation'))
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.35, 0.6, 0.3]
frame_id: base
name: tote
orientation: [0.006811395297589589, -0.02481966841912109, 0.014732206262089195,
0.9995601788048162]
position: [0.6535828113555908, 0.11746583878993988, -0.3259793519973755]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.3499999940395355, 0.6000000238418579, 0.20999999344348907]
frame_id: base
name: target_tote
orientation: [0.0070683994862820645, -0.02474772236333151, 0.004366822631185315,
0.9996592013414559]
position: [1.0436279773712158, 0.029123149812221527, -0.342985063791275]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.35, 0.6, 0.21]
frame_id: base
name: tote
orientation: [-0.005413727427457605, -0.02493861717018956, 0.011270340653429979,
0.9996107924340031]
position: [0.6436677575111389, 0.01432156190276146, -0.4225315749645233]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.3499999940395355, 0.6000000238418579, 0.30000001192092896]
frame_id: base
name: target_tote
orientation: [0.007238342304459111, -0.024698547601765104, -0.002504836958434969,
0.9996656010581031]
position: [1.0950188636779785, 0.032183099538087845, -0.35149049758911133]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.30000001192092896, 0.5, 0.30000001192092896]
frame_id: base
name: tote
orientation: [0.007238342304459111, -0.024698547601765104, -0.002504836958434969,
0.9996656010581031]
position: [0.7619464993476868, 0.021540701389312744, -0.4418632388114929]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.35, 0.6, 0.21]
frame_id: base_link
name: target_tote
orientation: [0.0070683994862820645, -0.02474772236333151, 0.004366822631185315,
0.9996592013414559]
position: [1.0621156692504883, 0.023430507630109787, -0.35995131731033325]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.35, 0.6, 0.21]
frame_id: base_link
name: tote
orientation: [0.006889725010306631, -0.02479804646037768, 0.011576424195440006,
0.9996017081737498]
position: [0.7192068696022034, 0.018723100423812866, -0.37579140067100525]
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.3499999940395355, 0.6000000238418579, 0.30000001192092896]
frame_id: base_link
name: target_tote
orientation: [0.007238342304459111, -0.024698547601765104, -0.002504836958434969,
0.9996656010581031]
position: [1.0213091373443604, 0.016158416867256165, 0.7774733304977417]
7 changes: 7 additions & 0 deletions demos/selective_dualarm_grasping/config/pr2/tote_marker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
boxes:
- dimensions: [0.30000001192092896, 0.5, 0.30000001192092896]
frame_id: base_link
name: tote
orientation: [0.007184166449114169, -0.045677434576014746, -0.00265622790454915,
0.9989268762909047]
position: [0.6855822801589966, 0.04986734688282013, 0.7560162544250488]
30 changes: 30 additions & 0 deletions demos/selective_dualarm_grasping/data/json/item_location_file.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
{
"bins": [
{
"bin_id": "A",
"contents": []
},
{
"bin_id": "B",
"contents": []
},
{
"bin_id": "C",
"contents": []
}
],
"boxes": [],
"tote": {
"contents": [
"avery_binder",
"composition_book",
"hanes_socks",
"ice_cube_tray",
"reynolds_wrap",
"robots_dvd",
"scotch_sponges",
"table_cloth",
"toilet_brush"
]
}
}
Loading

0 comments on commit 0032974

Please sign in to comment.