游乐游手机版
首页/AI热点日报/热点详情

AI操控机器人语音控制实战教程第三期

类型:热点整理2026-07-14
提到语音控制机器人,相信不少朋友都和我一样,曾幻想过:如果能动动嘴就让机器人完成任务,那该多轻松。市面上确实有一些产品宣称支持语音跟随,但实际体验往往不尽人意——要么说完指令还得自己转身引导方向,要么干脆依赖遥控器操作。这哪是懒人福音?分明是换了一种方式折腾人。 好在,真正的解决方案已经落地。地平线

提到语音控制机器人,相信不少朋友都和我一样,曾幻想过:如果能动动嘴就让机器人完成任务,那该多轻松。市面上确实有一些产品宣称支持语音跟随,但实际体验往往不尽人意——要么说完指令还得自己转身引导方向,要么干脆依赖遥控器操作。这哪是懒人福音?分明是换了一种方式折腾人。

好在,真正的解决方案已经落地。地平线AI操控机器人系列本期聚焦语音控制——让机器人真正理解人类语言,做到说走就走、说停就停。

开发者说

在上一期“人体跟随”中,地平线的奶爸程序员朱靠借助TogetherROS搭建了跟随机器人。而本期开发者梁雪,作为一名“能不动手绝不动手”的终极懒人,将目光投向了语音控制——她体验过产品A,说话能走,但想右转?抱歉,你得自己先向右转……产品B更离谱,还需要用手柄遥控。难道就没有一款真正只用嘴就能控制机器人运动的方案吗?答案当然是:有!

一、功能介绍

先来看看最终实现的效果:从说出语音指令到机器人快速、准确地做出运动反应,整个过程几乎没有延迟。这背后依赖地平线旭日®️X3派上那颗5Tops算力的BPU,保证了低延迟的算法推理能力;再加上语音算法模块实现的远场(3~5米)降噪、回声消除,以及高准确率的ASR识别,才让语音控制变得真正实用。

在动手写代码之前,我们先简单拆解一下语音控制机器人需要哪些基本模块:

语音输入——麦克风

旭日X3派采用麦克风阵列硬件拾音,通过麦克风采集音频后,交给后端的智能语音分析模块处理。

智能语音感知

智能语音算法对原始音频进行降噪、识别,同时还能输出声源定位的DOA角度——也就是知道声音从哪个方向传来。

交互

识别出语音后,需要定义并实现不同语音对应的功能,例如“向前走”对应机器人向前运动。

控制

根据交互模块输出的控制指令,实现对机器人的机械控制。

机器人本体

当然还需要一个能跑能动的机器人本体,接收指令后控制电机运动,最终实现语音控制的效果。

地平线发布的TogetherROS软件栈内置了丰富易用的机器人开发组件,从语音输入到运动控制,所有功能模块都涵盖在内,完全开源免费,并允许开发者二次开发。

二、准备工作

需要准备的硬件和软件如下:

硬件

① 旭日X3派

② 麦克风阵列及转接板

③ 机器人本体(本次使用本末的轮足机器人,没有的朋友也不用担心,后面会介绍自己搭建的方式)

安装系统

参考旭日X3派用户手册的安装系统章节完成安装,安装完成后记得更新系统。

系统配置

配置旭日X3派的无线网络,参考用户手册的无线网络章节。

安装TogetherROS

通过apt命令使用DEB包安装。登录旭日X3派ssh root@192.168.1.147,执行:

root@ubuntu:~# sudo apt install hhproot@ubuntu:/userdata# ls /opt/tros

看到TogetherROS已安装在/opt目录下,说明安装成功。准备工作到此结束,下面开始搭建语音控制应用。

三、使用介绍

接下来我们逐步操作各个功能模块,并一一验证效果。

安装音频麦克风

首先将旭日X3派与音频转接板连接起来,安装好的样子如下图所示(这里插图片)。然后直接使用TogetherROS中的ROS package测试麦克风阵列功能,通过脚本加载驱动并启动智能语音识别模块。登录旭日X3派ssh root@192.168.1.147后,在终端输入:

# 配置TogetherROS环境
source /opt/tros/setup.bash
# 拷贝配置文件
cp -r /opt/tros/lib/hobot_audio/config/ .
# 加载音频驱动(设备启动后只需加载一次)
bash config/audio.sh
# 启动launch文件
ros2 launch hobot_audio hobot_audio.launch.py

智能语音识别模块默认发布的智能语音消息话题名为/audio_smart,在另一个终端使用ros2 topic list可以查询到:

$ ros2 topic list
/audio_smart

语音识别和命令词控制小车运动

在旭日X3派上再开一个终端,启动语音识别和控制脚本:

source /opt/tros/setup.bash
cp -r /opt/tros/lib/hobot_audio/config/ .
bash config/audio.sh
ros2 launch audio_control hobot_audio_control.launch.py

然后执行ros2 topic echo /cmd_vel查询话题信息,当语音说“向前走”时,终端输出类似:

linear:
  x: 0.30000001192092896
  y: 0.0
  z: 0.0
angular:
  x: 0.0
  y: 0.0
  z: 0.0

这说明智能语音识别和交互功能已经跑通,并能通过/cmd_vel话题发布机器人运动控制消息。

将旭日X3派安装在机器人上

先把音频板安装在旭日X3派上,然后将装了线性四麦麦克风阵列的旭日X3派固定在机器人上,并把机器人的USB控制接口插到旭日X3派上。安装效果如下图(插入图片)。装好后先测试一下机器人是否能被控制:在旭日X3派上启动本末双足机器人运动控制Node:

source /opt/tros/setup.bash
ros2 run diablo_sdk ros_bridge_example

再开一个终端,通过发布/cmd_vel让机器人以0.3r/s的速度转动:

source /opt/tros/setup.bash
ros2 topic pub -r 10 /cmd_vel geometry_msgs/Twist '{linear: {x: 0, y: 0, z: 0}, angular: {x: 0, y: 0, z: 0.3}}'

机器人收到指令后转动的效果如下图(插入图片)。

四、完整的机器人语音控制效果

在旭日X3派上打开终端1,启动智能语音识别和语音控制脚本:

source /opt/tros/setup.bash
cp -r /opt/tros/lib/hobot_audio/config/ .
bash config/audio.sh
ros2 launch audio_control hobot_audio_control.launch.py

在旭日X3派上打开终端2,启动机器人运动控制Node:

source /opt/tros/setup.bash
ros2 run diablo_sdk ros_bridge_example

接下来就可以对着麦克风说出“向前走”、“向左转”、“停止运动”等指令,机器人会立即响应。效果视频在此(插入图片/链接)。

五、原理分析

复杂的机器人系统一般会配置上位机和下位机两种处理器。语音控制机器人同样由两部分组成:上位机负责语音识别与决策,下位机负责运动控制。各部分详细组成如下图所示:

(此处插入原理图)

六、语音控制进阶

智能语音识别Node中的唤醒词和命令词默认配置在/opt/tros/lib/hobot_audio/config/hrsc/cmd_word.json文件下(如果用户拷贝了config文件夹到其他路径,以实际路径为准):

{
    "cmd_word": [
        "地平线你好",
        "向前走",
        "向后退",
        "向左转",
        "向右转",
        "停止运动"
    ]
}

配置文件的第一项是唤醒词,后面都是命令词。用户可以根据实际需求随意修改、增加或删除命令词,实现完全自定义的语音操作。比如把“向前走”改成“冲啊”,或者增加“转圈圈”这种花式指令,都完全没问题。

从硬件接线到软件部署,再到自定义命令词,整个流程跑下来,你会发现语音控制机器人并没有想象中那么遥不可及。动动嘴就能让机器人跑东跑西——这种“懒人生活”,其实已经触手可及了。

来源:https://m.elecfans.com/article/2129569.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。