Compare commits

...

12 Commits

Author SHA1 Message Date
722c319ed3 update 2024-12-20 15:28:39 +08:00
384d8a0ca6 sim on omni_test 2024-12-04 16:07:44 +08:00
03bed63e8d debug sim 2024-11-20 16:14:27 +08:00
0nhc
e6650e4042 add roadmap 2024-11-05 10:58:22 -06:00
0nhc
2a82851dd7 change pcd visualization color 2024-11-04 01:01:21 -06:00
0nhc
4099a0574d add offset for gsnet-generated grasp poses 2024-11-04 00:53:23 -06:00
0nhc
9304832801 update README 2024-11-03 04:11:36 -06:00
0nhc
65cb231206 update manual scene 2024-11-03 03:19:27 -06:00
0nhc
e1a23cdde6 add pointcloud memory feature for gsnet input 2024-11-03 02:54:33 -06:00
0nhc
28bfe0e552 add KNN interpolation for pointcloud 2024-11-03 01:28:57 -05:00
0nhc
ed5915fa40 added support id interface 2024-11-03 01:15:25 -05:00
0nhc
bae70e1de0 removed plane in scene_points 2024-11-02 23:53:16 -05:00
550 changed files with 73756 additions and 341 deletions

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@ __pycache__/
# C extensions # C extensions
*.so *.so
*.txt
# Distribution / packaging # Distribution / packaging
.Python .Python

View File

@@ -1,8 +1,15 @@
# Roadmap # Roadmap
* GS-Net filter aligned with VGN * Majority Vote
* Initial Poses for Manual Scenes
# Updated installation steps fo my PC environment # Updated installation steps fo my PC environment
## Prerequisites
* `Ubuntu 20.04`
* `CUDA 12.1`
* `ROS Noetic`. Recommended installation method: [小鱼一键安装](https://fishros.org.cn/forum/topic/20/%E5%B0%8F%E9%B1%BC%E7%9A%84%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85%E7%B3%BB%E5%88%97/1?lang=en-US)
* `GS-Net`: My [GS-net repo](https://github.com/0nhc/GS-Net). Run: `python flask_server.py`
## Installation
```sh ```sh
# Install Active Grasp # Install Active Grasp
sudo apt install liborocos-kdl-dev sudo apt install liborocos-kdl-dev
@@ -24,23 +31,45 @@ rosdep install --from-paths src --ignore-src -r -y
catkin build catkin build
# Install Active Perception # Install Active Perception
cd <path-to-your-ws>/src/active_grasp/src/active_grasp/active_perception/modules/module_lib/pointnet2_utils/pointnet2 cd ws/src/active_grasp/src/active_grasp/active_perception/modules/module_lib/pointnet2_utils/pointnet2
pip install -e . pip install -e .
``` ```
# Updated Features ## Quick Start
* Added our baseline: src/active_grasp/active_perception_policy.py ```sh
* Added RGB and Segmentation image publishers. The segmentation ID 1 corresponds to the grasping target object. # Terminal 1
conda activate active_grasp
cd ws
source devel/setup.bash
roslaunch active_grasp env.launch sim:=true
# Terminal 2
conda activate active_grasp
cd ws
source devel/setup.bash
cd src/active_grasp
python3 scripts/run.py ap-single-view
```
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
</br>
# Closed-Loop Next-Best-View Planning for Target-Driven Grasping # Closed-Loop Next-Best-View Planning for Target-Driven Grasping

View File

@@ -6,6 +6,7 @@ Panels:
Expanded: Expanded:
- /TF1/Frames1 - /TF1/Frames1
- /Markers1/Namespaces1 - /Markers1/Namespaces1
- /PointCloud21
- /Marker1 - /Marker1
Splitter Ratio: 0.6852940917015076 Splitter Ratio: 0.6852940917015076
Tree Height: 226 Tree Height: 226
@@ -256,6 +257,7 @@ Visualization Manager:
Name: Markers Name: Markers
Namespaces: Namespaces:
bbox: true bbox: true
grasp: true
path: true path: true
views: true views: true
Queue Size: 100 Queue Size: 100
@@ -272,7 +274,7 @@ Visualization Manager:
Color: 255; 255; 255 Color: 255; 255; 255
Color Transformer: Intensity Color Transformer: Intensity
Decay Time: 0 Decay Time: 0
Enabled: true Enabled: false
Invert Rainbow: false Invert Rainbow: false
Max Color: 255; 255; 255 Max Color: 255; 255; 255
Min Color: 0; 0; 0 Min Color: 0; 0; 0
@@ -287,7 +289,7 @@ Visualization Manager:
Unreliable: false Unreliable: false
Use Fixed Frame: true Use Fixed Frame: true
Use rainbow: true Use rainbow: true
Value: true Value: false
- Alpha: 0.20000000298023224 - Alpha: 0.20000000298023224
Autocompute Intensity Bounds: false Autocompute Intensity Bounds: false
Autocompute Value Bounds: Autocompute Value Bounds:
@@ -369,7 +371,7 @@ Visualization Manager:
Axis: Z Axis: Z
Channel Name: intensity Channel Name: intensity
Class: rviz/PointCloud2 Class: rviz/PointCloud2
Color: 239; 41; 41 Color: 114; 159; 207
Color Transformer: FlatColor Color Transformer: FlatColor
Decay Time: 0 Decay Time: 0
Enabled: true Enabled: true
@@ -424,7 +426,7 @@ Visualization Manager:
Views: Views:
Current: Current:
Class: rviz/Orbit Class: rviz/Orbit
Distance: 1.094533920288086 Distance: 1.2382971048355103
Enable Stereo Rendering: Enable Stereo Rendering:
Stereo Eye Separation: 0.05999999865889549 Stereo Eye Separation: 0.05999999865889549
Stereo Focal Distance: 1 Stereo Focal Distance: 1
@@ -432,17 +434,17 @@ Visualization Manager:
Value: false Value: false
Field of View: 0.7853981852531433 Field of View: 0.7853981852531433
Focal Point: Focal Point:
X: 0.32280832529067993 X: 0.27311334013938904
Y: 0.16504701972007751 Y: -0.15430450439453125
Z: 0.43913549184799194 Z: 0.29310858249664307
Focal Shape Fixed Size: false Focal Shape Fixed Size: false
Focal Shape Size: 0.05000000074505806 Focal Shape Size: 0.05000000074505806
Invert Z Axis: false Invert Z Axis: false
Name: Current View Name: Current View
Near Clip Distance: 0.009999999776482582 Near Clip Distance: 0.009999999776482582
Pitch: 0.2053970992565155 Pitch: 0.4653984010219574
Target Frame: <Fixed Frame> Target Frame: <Fixed Frame>
Yaw: 0.8653952479362488 Yaw: 1.5403975248336792
Saved: Saved:
- Class: rviz/Orbit - Class: rviz/Orbit
Distance: 1.2000000476837158 Distance: 1.2000000476837158
@@ -482,5 +484,5 @@ Window Geometry:
Views: Views:
collapsed: true collapsed: true
Width: 1095 Width: 1095
X: 1260 X: 1273
Y: 27 Y: 53

View File

@@ -1,10 +1,9 @@
bt_sim: bt_sim:
gui: True gui: True
gripper_force: 10 gripper_force: 100
# scene: random # scene: random
# scene: manual # scene: manual
scene: $(find active_grasp)/cfg/sim/challenging_scene_3.yaml scene: $(find active_grasp)/cfg/pkl_scene/scene_0
hw: hw:
roi_calib_file: $(find active_grasp)/cfg/hw/T_base_tag.txt roi_calib_file: $(find active_grasp)/cfg/hw/T_base_tag.txt
scene_file: $(find active_grasp)/cfg/hw/scene01.yaml scene_file: $(find active_grasp)/cfg/hw/scene01.yaml
@@ -43,3 +42,9 @@ ap_grasp:
max_views: 80 max_views: 80
ap_config_path: $(find active_grasp)/src/active_grasp/active_perception/configs/local_inference_config.yaml ap_config_path: $(find active_grasp)/src/active_grasp/active_perception/configs/local_inference_config.yaml
max_inference_num: 50 max_inference_num: 50
crop_min_radius: 0.2
crop_radius_step: 0.05
crop_max_radius: 0.5
num_knn_neighbours: 5
gsnet_grasp_offset: [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, -0.01], [0, 0, 0, 1]]

View File

@@ -0,0 +1,12 @@
center: [0.45, 0.0, 0.0]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects:
- object_id: active_perception/omni_objects/blender_cabinet/blender_cabinet_003
xyz: [0.2, 0.0, 0.0]
rpy: [0, 0, 110]
scale: 1.0
- object_id: active_perception/omni_objects/bowl/bowl_001
xyz: [0.1, -0.15, 0.2]
rpy: [0, 0, 0]
scale: 1.0

View File

@@ -3,7 +3,7 @@ q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects: objects:
- object_id: ycb/006_mustard_bottle - object_id: ycb/006_mustard_bottle
xyz: [-0.1, 0.13, 0.1] xyz: [-0.1, 0.13, 0.1]
rpy: [0, 0, 90] rpy: [0, 0, 100]
scale: 0.8 scale: 0.8
- object_id: active_perception/box2 - object_id: active_perception/box2
xyz: [0.05, 0.15, 0.3] xyz: [0.05, 0.15, 0.3]

View File

@@ -0,0 +1,11 @@
center: [0.5, 0.0, 0.25]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects:
- object_id: ycb/006_mustard_bottle
xyz: [-0.05, 0.0, 0.1]
rpy: [0, 0, 0]
scale: 0.5
- object_id: active_perception/shelf1
xyz: [-0.05, 0.0, 0.0]
rpy: [0, 0, 45]
scale: 0.5

View File

@@ -0,0 +1,11 @@
center: [0.5, 0.0, 0.25]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects:
- object_id: ycb/006_mustard_bottle
xyz: [-0.1, 0.0, 0.1]
rpy: [0, 0, 0]
scale: 0.5
- object_id: active_perception/cabinet1
xyz: [-0.1, 0.0, 0.0]
rpy: [0, 0, 45]
scale: 0.5

View File

@@ -2,10 +2,10 @@ center: [0.5, 0.0, 0.25]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79] q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects: objects:
- object_id: ycb/006_mustard_bottle - object_id: ycb/006_mustard_bottle
xyz: [0.0, 0.0, 0.03] xyz: [0.0, 0.05, 0.05]
rpy: [0, 0, 0] rpy: [0, 0, -45]
scale: 0.8 scale: 0.5
- object_id: active_perception/box - object_id: active_perception/cabinet2
xyz: [0.0, 0.0, 0.0] xyz: [0.0, 0.0, 0.0]
rpy: [0, 0, 0] rpy: [0, 0, 135]
scale: 0.8 scale: 0.25

View File

@@ -0,0 +1,12 @@
center: [0.45, 0.0, 0.25]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects:
- object_id: ycb/006_mustard_bottle
xyz: [0.0, +0.1, 0.1]
rpy: [0, 0, 0]
scale: 0.8
- object_id: active_perception/blender_cabinet
xyz: [-0.1, -0.2, 0.02]
rpy: [0, 0, 0]
scale: 1.0

44
cfg/old_sim/scene_0.yaml Normal file
View File

@@ -0,0 +1,44 @@
center: [0.8, 0.0, 0.0]
q: [0.0, -1.39, 0.0, -2.36, 0.0, 1.57, 0.79]
objects:
- object_id: active_perception/omni_objects/chair/chair_028
xyz: [-0.0068908389657735825, 0.005315959919244051, 0.22069703042507172]
rpy: [1.7886940604406145, 1.01981032172009, 89.94713459186843]
scale: 1.0
- object_id: active_perception/omni_objects/banana/banana_039
xyz: [0.7659764885902405, 0.13244639337062836, -0.04103884473443031]
rpy: [-159.92582804293914, -85.42660168404156, -103.58175651841792]
scale: 1.0
- object_id: active_perception/omni_objects/biscuit/biscuit_114
xyz: [0.008980791084468365, 0.07558994740247726, 0.2308768779039383]
rpy: [11.011894411740208, 11.353458522097622, 152.3866433619816]
scale: 1.0
- object_id: active_perception/omni_objects/biscuit/biscuit_115
xyz: [0.04214617237448692, 0.10601552575826645, 0.23250775039196014]
rpy: [83.20043939487029, -10.314548853298982, -177.60985707120096]
scale: 1.0
- object_id: active_perception/omni_objects/biscuit/biscuit_120
xyz: [0.11285210400819778, -0.07488349825143814, 0.22921115159988403]
rpy: [-89.49948184622092, 4.498975090794982, -9.099756342937475]
scale: 1.0
- object_id: active_perception/omni_objects/shrimp/shrimp_041
xyz: [0.15021200478076935, 0.09884239733219147, 0.23815606534481049]
rpy: [8.284258796440458, 79.99516936338651, 110.00644636249444]
scale: 1.0
- object_id: active_perception/omni_objects/tomato/tomato_030
xyz: [-0.04284593090415001, 0.041140712797641754, 0.256274938583374]
rpy: [-9.592290990627584, -68.86805058250192, -125.56497138835732]
scale: 1.0
- object_id: active_perception/omni_objects/apple/apple_060
xyz: [-0.008709152229130268, -0.022433513775467873, 0.23665982484817505]
rpy: [-53.995144869912664, -29.051497741486138, 168.64676150555815]
scale: 1.0

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1 @@
<EFBFBD>]<5D>.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More