# cow_temp_check (ROS2 Humble)

牛眼测温节点：

- 订阅可见光：`/camera/front/image_raw`
- 订阅红外温度：`/ir/temperature_celsius_corrected`
- 仅发布可视化结果：`/cow/temp_check/image`

可视化内容对齐 `cowcheck-v1.0.py`：

- 牛头框 + Track ID
- 耳标框 + 耳标数字
- 眼睛框
- 眼睛框旁温度（眼区最高温）

检测推理方式参考 `det_test.py`，使用 HBM 模型部署。

## 1. 模型路径（默认值）

- 检测模型（牛头/眼睛/耳标框）：
  - `/home/sunrise/opt/dev/project/aiagent/models/cowCheck/det/det_640x640.hbm`
- 耳标数字模型：
  - `/home/sunrise/opt/dev/project/aiagent/models/cowCheck/id/id_128x128.hbm`

## 2. 编译

```bash
cd ~/opt/dev/project/aiagent/capabilities
source /opt/ros/humble/setup.bash
colcon build --packages-select cow_temp_check --cmake-args -DCMAKE_BUILD_TYPE=Release
source install/setup.bash
```

## 3. 启动顺序

1) 启动红外节点：

```bash
ros2 run ir_camera ir_camera_node --ros-args -p resolution_index:=1 -p frame_id:=thermal_link
```

2) 启动可见光节点：

```bash
ros2 run camera camera_node --ros-args -p device_path:=/dev/video0 -p width:=640 -p fps:=30 -p output_topic:=/camera/front/image_raw -p reliability:=reliable
```

3) 启动牛眼测温节点：

```bash
ros2 run cow_temp_check cow_temp_check_node
```

## 4. 可选参数

- `rgb_topic`（默认：`/camera/front/image_raw`）
- `ir_temp_topic`（默认：`/ir/temperature_celsius_corrected`）
- `output_topic`（默认：`/cow/temp_check/image`）
- `det_model_path`（默认：det_640x640.hbm 绝对路径）
- `id_model_path`（默认：id_128x128.hbm 绝对路径）
- `det_conf`（默认：0.4）
- `det_iou`（默认：0.45）
- `id_conf`（默认：0.3）
- `track_max_lost`（默认：30）

参数覆盖示例：

```bash
ros2 run cow_temp_check cow_temp_check_node --ros-args -p det_conf:=0.45 -p id_conf:=0.35
```

## 5. 结果查看

```bash
ros2 topic list
ros2 topic echo /cow/temp_check/image --once
ros2 run rqt_image_view rqt_image_view
```

## 6. 注意事项

1. 当前 RGB 与红外使用“按分辨率比例映射”进行 ROI 对齐。
2. 若安装位姿差异较大，建议后续加入外参标定矩阵以提升测温精度。
3. 若 `hbm_runtime` 未安装，节点将无法启动。
