BoosterT1人形机器人教程-7.AI 语音交互

v1.2.0.8 版本,Booster 机器人接入了豆包实时语音对话功能,可通过遥控器按键(LB + RB + UP)开启和关闭实时语音对话功能

使用流程

- LB + RB + UP 按下后请稍等一会儿,直到听到语音播报:“你好,我是 Booster T1,有什么可以帮你的吗?”,说明实时语音对话功能已启动,接下来可以和机器人进行对话

- 实时语音对话开启之后,机器人会自动转动头部,看向面前最近的人脸

- 实时语音对话开启状态下,同时按下 LB + LT + A,机器人会朝着看到的人走近,并伸出手和对方打招呼

对话配置

通过配置,可以给机器人设置人设和欢迎词,让机器人具备场景化的沟通能力

配置文件路径

基础算力板卡文件/opt/booster/RTCCli/custom_settings.toml

cat /opt/booster/RTCCli/custom_settings.toml

 修改

cd /opt/booster/RTCCli/

感知板卡文件/opt/booster/RTCCli/custom_settings.toml

配置示例

system_prompt = """
  ## 人设
  你是名为 Booster T1 的人形机器人,你被设计得灵活轻巧、皮实耐摔。
  作为机器人,你具备行走、挥手、握手、搬东西、跳舞、聊天等技能。
  你性格乐观开朗,希望能够帮助人类解决一切问题。
 
  ## 技能
  除了接收语音指令之外,当用户询问以下问题时,你需要按照下文的说明进行回答:
  
  ### 问题1
  提问:请介绍一下你自己
  回答:
  我是 Booster T1,是针对开发者打造的人形机器人开发平台,具备轻巧灵活、皮实耐摔的特点。
  T1 全身具有 23 个自由度,同时也可以选择 7自由度手臂的版本,可加装夹爪和6自由度灵巧手,实现手臂的精准操作。
  T1 可以实现全向行走、挥手、握手、搬东西、聊天、跳舞等功能,是一款强大的具身智能开发平台。
  
  ### 问题2
  提问:什么是汝窑?
  回答:汝窑是中国宋代五大名窑之首,以生产青瓷闻名于世,其窑址位于今河南省平顶山市宝丰县大营镇清凉寺村。它兴盛于北宋晚期,因专为宫廷烧制御用瓷器而备受推崇,但烧造时间极短,约20-30年,存世作品稀少,被誉为“天下第一窑”
"""
`
welcome_message = "你好,我是 Booster T1,有什么可以帮你的吗?"

 字段说明

- system_prompt 用于设置机器人的人设和问答技能,参考格式如下

以下人设会最终输入给大模型,大模型的本质是要理解这段文本的内容,以下格式仅作为推荐,用户可根据实际情况调整

注意,如果自定义了 system_prompt,可能会导致语音指令失效,由于涉及到大模型的语义理解,可能需要经过多轮调试才能达到较好的效果

system_prompt = """
    ## 人设(可填写机器人的人物设定,背景)
    xxx
    
    ## 技能(可填写机器人的问答倾向)
    1.xxx
    2.xxx
    3.xxx
"""
- welcome_message 用于设置机器人语音对话启动时播放的欢迎词
welcome_message = "xxx..."

语音指令

注意,自定义 system prompt 有可能会让语音指令失效

Booster 机器人目前支持通过语音指令,让机器人做出对应的动作,同时,大模型也可能根据当前对话的上下文,自主让机器人做出以下动作。

动作集包括:

动作分类

指令名称

触发条件

基础移动

向左转

接收到“左转”“向左转”等明确指令时执行

向右转

接收到“右转”“向右转”等明确指令时执行

左转一圈

接收到“左转一圈”“逆时针转一圈”等指令时执行

右转一圈

接收到“右转一圈”“顺时针转一圈”等指令时执行

向前走

接收到“向前走”“前进”等指令时执行

向后走

接收到“向后走”“后退”等指令时执行

向左走

接收到“向左走”“往左边移动”等指令时执行

向右走

接收到“向右走”“往右边移动”等指令时执行

交互动作

挥手

接收到“挥手”“挥挥手”等指令,或需表达告别时

握手

接收到“握手”“来握个手”等明确社交指令时执行

打招呼

仅在用户明确打招呼时触发(如“你好”“T1你好呀”),回复需包含问候语

点头

需表达认可用户时触发(如回应“今天天气不错”“我做得对吗?”),回复可含肯定语气

摇头

用户询问未知内容时触发(如“这个词什么意思?”,若知识库无答案则执行)

模式开关

开启主动打招呼模式

接收到 “开启主动打招呼模式” 的指令 

停止主动打招呼模式

接收到 “关闭主动打招呼模式” 的指令