当前位置: 首页 > news >正文

语音识别与语音控制的原理介绍

硬件平台

机器硬件:OriginBot(导航版/视觉版)PC主机:Windows(>=10)/Ubuntu(>=20.04)扩展硬件:X3语音版

运行案例

首先进入OriginBot主控系统,运行一下指令。请注意,部分操作OriginBot内暂未放入,请根据内容进行适当处理。

cd /userdata/dev_ws/
# 配置TogetheROS环境
source /opt/tros/setup.bash# 从tros.b的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .# 加载音频驱动,设备启动之后只需要加载一次
bash config/audio.sh#启动launch文件
ros2 launch speech speech_recongnition_launch.py 

其中speech_recongnition_launch.py 文件内容如下:

from launch import LaunchDescription
from launch.actions import DeclareLaunchArgument
from launch.substitutions import LaunchConfiguration
from launch_ros.actions import Nodedef generate_launch_description():# 启动音频采集pkg
audio_get = Node(package='hobot_audio',executable='hobot_audio',output='screen',parameters=[{"config_path":"./config"},{"audio_pub_topic_name": "audio_smart"}],arguments=['--ros-args', '--log-level', 'error'])return LaunchDescription([audio_get
])

​ 此时出现如下报错是因为没有语音唤醒,说出“地平线你好”后,即可唤醒

报错

​ 当人依次在麦克风旁边说出“地平线你好”、“向左转”、“向右转”、“向前走”、“向后退”命令词,语音算法sdk经过智能处理后输出识别结果,log显示如下

​ 识别到语音命令词“向前走”、“向左转”、“向右转”、“向后退”,并且输出DOA的角度信息,如recv hrsc sdk doa data: 110字段表示DOA角度为110度。

语音控制

SSH连接OriginBot成功后,配置智能语音模块:

#从TogetheROS的安装路径中拷贝出运行示例需要的配置文件。
cp -r /opt/tros/lib/hobot_audio/config/ .#加载音频驱动,设备启动之后只需要加载一次
bash config/audio.sh

启动机器人底盘在终端中输入如下指令,启动机器人底盘:

ros2 launch originbot_bringup originbot.launch.py

启动语音控制以下是口令控制功能的指令:

ros2 launch audio_control audio_control.launch.py

此时即可看到小车运动的效果了

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++的初阶模板和STL
  • 漫步者头戴式耳机怎么样?漫步者、西圣、索尼三大耳机测评对比
  • 1.3 MySql的用户管理
  • 基于STM32红外感应的自动迎客人语音控制系统设计
  • .NET Core中的时区转换问题
  • Java设计模式—面向对象设计原则(五) ----->迪米特法则(DP) (完整详解,附有代码+案例)
  • 生信初学者教程(五):R语言基础
  • PCL 读取txt格式点云并可视化
  • Cron表达式学习
  • 机器狗与无人机空地协调技术分析
  • 自注意力与多头自注意力的区别
  • 基于yolov5的不同颜色安全帽检测系统python源码+onnx模型+评估指标曲线+精美GUI界面
  • Virtuoso服务在centos中自动停止的原因分析及解决方案
  • js中的 赋值 浅拷贝 和 深拷贝 详细解读
  • Knowledge Graph Large Language Model (KG-LLM) for Link Prediction
  • 收藏网友的 源程序下载网
  • [Vue CLI 3] 配置解析之 css.extract
  • 10个确保微服务与容器安全的最佳实践
  • Android系统模拟器绘制实现概述
  • CSS 专业技巧
  • Git同步原始仓库到Fork仓库中
  • hadoop集群管理系统搭建规划说明
  • JavaScript DOM 10 - 滚动
  • mac修复ab及siege安装
  • node入门
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • SegmentFault 2015 Top Rank
  • SQLServer插入数据
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • Xmanager 远程桌面 CentOS 7
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 少走弯路,给Java 1~5 年程序员的建议
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 算法之不定期更新(一)(2018-04-12)
  • 小试R空间处理新库sf
  • 一起参Ember.js讨论、问答社区。
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 怎么将电脑中的声音录制成WAV格式
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • NLPIR智能语义技术让大数据挖掘更简单
  • #QT(TCP网络编程-服务端)
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (06)金属布线——为半导体注入生命的连接
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (12)目标检测_SSD基于pytorch搭建代码
  • (13)Latex:基于ΤΕΧ的自动排版系统——写论文必备
  • (52)只出现一次的数字III
  • (C#)获取字符编码的类
  • (多级缓存)多级缓存
  • (附源码)ssm码农论坛 毕业设计 231126
  • (力扣题库)跳跃游戏II(c++)
  • (南京观海微电子)——COF介绍