Skip to content

完成第五章 OpenCV 视觉人脸追踪与语音控制交互 - #158

Open
tianyutu981 wants to merge 1 commit into
OpenHUTB:masterfrom
tianyutu981:feat/chap5-vision-voice
Open

tianyutu981 wants to merge 1 commit into
OpenHUTB:masterfrom
tianyutu981:feat/chap5-vision-voice

Conversation

@tianyutu981

Copy link
Copy Markdown
Contributor

修改概述

完成第五章(机器人视觉与语音交互)实验:基于 ROS Noetic + OpenCV 实现 Kinect 传感器图像采集与人脸目标闭环追踪控制;实现基于语音指令的底盘运动控制及自定义语音播报反馈;规范代码依赖并补充说明文档与运行动图。

修改的详细描述

  1. 视觉人脸识别与闭环运动追踪(robot_vision):
    • 通过 cv_bridge 订阅 /camera/rgb/image_raw 彩色图像,使用 Haar 级联检测算法定位人脸五官与尺度信息;
    • 优化 Haar 分类器路径多级容错逻辑(支持包内自带模型、系统 opencv4/haarcascades 路径与动态降级),规避特定环境下的 cv2.data 属性缺失异常;
    • 引入 P 比例控制器实现底盘角速度闭环,修正负反馈转向极性,实现小车平滑原地摆头跟随目标人脸,并设置目标丢失保护与死区过滤;
    • 配套开发了人脸靶标生成与键盘控制脚本 spawn_face_target.py,支持在 Gazebo 中精准测试跟随响应。
  2. 语音指令控制与播报交互(robot_voice):
    • 支持控制台交互输入与 /voice_cmd 话题双通道指令接收,解析“向前”、“向后”、“向左”、“向右”、“停止”等动作并下发平稳差速控制;
    • 集成 TTS 响应逻辑,触发运动指令时同步播报语音文本:“太阳当空照,花儿对我笑”;
    • 调整 CMakeLists.txt 构建逻辑,将实体声卡 C++ SDK 设置为可选编译,确保纯 Python 节点在虚拟机无独立动态库环境下免编译平稳运行。

经过了什么样的测试?

  1. 测试环境:Ubuntu 20.04 LTS (VMware Workstation), ROS Noetic, Gazebo 11
  2. 测试项目与结果:
    • 语音控制测试:分别输入各方向指令,小车精准执行位移与转向,运动时长结束自动刹停,终端同步输出 TTS 播报文本;
    • 视觉追踪测试:在 Gazebo 仿真环境中生成人脸标牌,OpenCV 视口稳定框选人脸并打上准星,手动平移立牌时小车底盘迅速自适应转向对齐;
    • 编译与分支测试:代码在干净的工作空间中一次性构建通过(catkin_make 100%),基于上游 upstream/master 新建分支,无合并冲突。

运行效果展示

1. 语音控制与播报反馈演示

demo_chap5_01

2. OpenCV 人脸识别与目标追踪演示

demo_chap5_02

所使用具体的大模型声明

使用 Claude Code (DeepSeek 模型) 辅助完成节点通信架构调试、异常路径容错与代码规范优化。

Comment thread src/chap5/README.md

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

文档应该能够在这里看到:https://openhutb.github.io/ros2/chapter/chap5/

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants