You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: coffee_ws/README.md
+59-5Lines changed: 59 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,10 +12,22 @@ source ../ros-source.sh
12
12
colcon build
13
13
ros-source
14
14
# Note: coffee_head package was split into coffee_head_control and coffee_vision
15
+
# Note: coffee_vision now features modular architecture with configurable parameters
15
16
# Launch individual nodes as needed - see sections below
16
17
```
17
18
18
-
- Camera node handles opening the camera, tracking faces (`src/coffee_vision/coffee_vision/camera_node.py`).
19
+
## Recent Architecture Improvements
20
+
21
+
**Coffee Vision Package Refactoring:**
22
+
-**Modular Design**: Face detection and coordinate transformation separated into independent modules
23
+
-**Configurable Parameters**: Runtime tuning via ROS2 parameters without code changes
24
+
-**Headless Operation**: Removed GUI dependencies for better deployment flexibility
25
+
-**Improved Testability**: Components can be tested and reused independently
26
+
27
+
- Camera node handles opening the camera, tracking faces with modular face detection and coordinate transformation (`src/coffee_vision/coffee_vision/camera_node.py`).
28
+
-**Modular Architecture**: Separated face detection (`face_detection.py`) and coordinate utilities (`coordinate_utils.py`)
29
+
-**Configurable Parameters**: ROS2 parameters for face detection sensitivity, eye movement, and coordinate transformation
30
+
-**Headless Operation**: No GUI dependencies, controlled via ROS topics
19
31
- Head tracking handles the PID controller, and is in coordination with the camera node to move the motors to center the detected face in frame (`src/coffee_head_control/coffee_head_control/head_tracking.py`).
20
32
- Subscribes to the camera node.
21
33
- Coffee Expression show the latest version of the eye shapes with a new topic message (`src/coffee_expressions/coffee_expressions/plaipin_expressive_eyes.py`)
@@ -32,7 +44,7 @@ ros-source
32
44
33
45
-`/voice/intent` - Voice intent
34
46
35
-
-`/vision/face_position` - Face position -- the position of the face in the frame of the camera viewer. NOTE that we can dynamically update the field of view (FOV) of the camera viewer. The smaller the FOV, the faster the head tracking will be.
47
+
-`/vision/face_position` - Face position -- the position of the face transformed to robot eye coordinates. Uses configurable sensitivity and range parameters for eye movement control. NOTE that we can dynamically update the field of view (FOV) of the camera viewer. The smaller the FOV, the faster the head tracking will be.
0 commit comments