Skip to content

Commit 7841e81

Browse files
feat: update Jetson Orin Nano workspace - complete implementation with evaluation framework, ROS2 nodes, BT integration, docs
1 parent 7a8e1af commit 7841e81

57 files changed

Lines changed: 7894 additions & 166 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
# Data Collection Guide
2+
3+
---
4+
5+
## Terminal Commands
6+
7+
### Start Pipeline (every session)
8+
9+
```bash
10+
# T1
11+
source /opt/ros/humble/setup.bash && source ~/Documents/Visual_Inspection_ws/inspection_ws/install/setup.bash
12+
ros2 run visual_inspection_ros camera_node
13+
14+
# T2
15+
source /opt/ros/humble/setup.bash && source ~/Documents/Visual_Inspection_ws/inspection_ws/install/setup.bash
16+
ros2 run visual_inspection_ros servo_node
17+
18+
# T3
19+
source /opt/ros/humble/setup.bash && source ~/Documents/Visual_Inspection_ws/inspection_ws/install/setup.bash
20+
ros2 run visual_inspection_ros ibvs_action_server
21+
22+
# T4 — collection script
23+
python3 ~/Documents/Visual_Inspection_ws/evaluation/collect_dataset.py
24+
```
25+
26+
### ROS Topic Monitor Commands
27+
28+
```bash
29+
# Check all active topics
30+
ros2 topic list
31+
32+
# Watch camera feed is running (should publish at 30Hz)
33+
ros2 topic hz /visual_inspection/insta360/image_raw
34+
35+
# Watch Logitech camera
36+
ros2 topic hz /visual_inspection/logitech/image_raw
37+
38+
# Watch YOLO detections
39+
ros2 topic echo /visual_inspection/detections
40+
41+
# Watch current system status
42+
ros2 topic echo /visual_inspection/status
43+
44+
# Watch IBVS error live
45+
ros2 topic echo /visual_inspection/ibvs_error
46+
47+
# Check action server is ready
48+
ros2 action list
49+
50+
# Open RViz to see camera feed
51+
rviz2
52+
# Then: Add → By Topic → /visual_inspection/debug → Image
53+
```
54+
55+
### Check Collected Images
56+
57+
```bash
58+
# Count all collected images
59+
find ~/Documents/Visual_Inspection_ws/evaluation/ -name "*.jpg" | wc -l
60+
61+
# See folder breakdown
62+
find ~/Documents/Visual_Inspection_ws/evaluation/ -name "*.jpg" | \
63+
sed 's|/[^/]*\.jpg||' | sort | uniq -c | sort -rn
64+
65+
# Check latest capture
66+
ls -lt ~/Documents/Visual_Inspection_ws/captures/inspection/ | head -5
67+
68+
# View capture log
69+
cat ~/Documents/Visual_Inspection_ws/evaluation/capture_log.csv
70+
```
71+
72+
### SCP Images to Laptop
73+
74+
```bash
75+
# Run on LAPTOP after each session
76+
scp -r rgen@192.168.8.181:~/Documents/Visual_Inspection_ws/evaluation/ \
77+
/home/dinethra/Jetson_orin_nano/Evaluation_V_I_ws/eval_dataset/
78+
79+
# Or just the log
80+
scp rgen@192.168.8.181:~/Documents/Visual_Inspection_ws/evaluation/capture_log.csv \
81+
/home/dinethra/Jetson_orin_nano/Evaluation_V_I_ws/eval_dataset/capture_log.csv
82+
```
83+
84+
---
85+
86+
## Script Features
87+
88+
Press `s` in the main menu to see a **progress bar** showing how many images in each folder.
89+
90+
All sessions let you:
91+
- Type **any angle** (0 to 180°, any direction)
92+
- Type **any exact distance** you measured (e.g. 1.2m, 2.4m)
93+
- Type **how many images** you want at that position
94+
- Type **any occlusion %** you applied
95+
- Decide when you're done — `q` goes back to menu, `y` continues
96+
97+
---
98+
99+
## What to Collect Per Session
100+
101+
### Session 1 — Reference
102+
- Pick object → robot at 1m, 0° → press ENTER
103+
- 5 images per object (fire_ext, gauge, door)
104+
105+
### Session 2 — Angle
106+
- Pick ANY angle (0°, 15°, 30°, 45°, 60°, 90° etc.)
107+
- Pick L or R direction (covers full 180°)
108+
- Type actual measured distance (can vary ±20cm per position)
109+
- 10 images per position
110+
- Keep going: change angle → type new angle → more images
111+
112+
### Session 3 — Distance
113+
- Type exact measured distance (0.5m, 1.0m, 1.5m, 2.0m, 2.5m, 3.0m, 4.0m)
114+
- 10 images per distance
115+
- Keep going: new distance → more images
116+
117+
### Session 4 — Gauge Ground Truth
118+
- Type true reading → 3 images → type next reading → repeat
119+
- Skip if no gauge equipment (q to exit)
120+
121+
### Session 5 — VLM Images
122+
- Pick scenario (fire_ext pass/fail, exit pass/fail, door, cylinder)
123+
- Type caption after each capture (1 sentence)
124+
- 10 images per scenario
125+
126+
### Session 6 — Occlusion
127+
- Type exact % you covered (0, 10, 25, 50, 75, 90...)
128+
- 10 images per level
129+
130+
### Session 7 — Multi-object
131+
- Pick scene type → 5 images per scene
132+
133+
---
134+
135+
## Checklist
136+
137+
```
138+
[ ] Reference: fire_ext (5) gauge (5) door (5)
139+
[ ] Angle: 0° 15°L 15°R 30°L 30°R 45°L 45°R (10 each)
140+
[ ] Angle extra: 60°L 60°R 90°L 90°R (10 each, if time)
141+
[ ] Angle vertical: up down (5-10 each)
142+
[ ] Distance: 1m 1.5m 2m 2.5m 3m 3.5m 4m (10 each)
143+
[ ] Gauge GT: 5 reading positions × 3 (skip if no equipment)
144+
[ ] VLM: fire_ext pass (10) fail (10)
145+
[ ] VLM: exit pass (10) fail (10)
146+
[ ] VLM: door pass (10)
147+
[ ] Occlusion: 0% 25% 50% 75% (10 each)
148+
[ ] Multi-object: 2 same class, mixed class (5 each)
149+
```

0 commit comments

Comments
 (0)