You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Choregraphe开发NAO应用如何禁用监听时自动亮蓝灯功能

解决NAO机器人监听状态自动覆盖自定义LED灯效的方案

该问题的核心原因是Autonomous Life开启状态下,系统默认对话逻辑会自动绑定监听状态与预设蓝色LED效果,优先级高于普通自定义灯效设置。可通过以下两种方案解决:

方案1:在Dialog链路中添加高优先级覆写逻辑

该方案无需修改系统配置,仅在你的项目逻辑中添加控制代码即可生效:

  • 在Choregraphe项目中添加Python脚本盒,优先级设置为高于系统默认行为,将其输入端口绑定到Dialog盒的onListening输出端口
  • 在Python脚本盒中写入如下控制代码,监听状态触发时会直接抢占LED控制权并写入你自定义的颜色:
import naoqi

class LedControl(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
        self.leds = naoqi.ALProxy("ALLeds")

    def onInput_onStart(self):
        # 禁用系统对眼部、耳部LED的自动控制权限
        self.leds.enableControl("FaceLeds", False)
        self.leds.enableControl("EarLeds", False)
        # 替换括号内的三个数值为你需要的RGB色值,范围0-1,示例为暖黄色
        self.leds.fadeRGB("FaceLeds", 1, 0.7, 0.2, 0.1)
        self.leds.fadeRGB("EarLeds", 1, 0.7, 0.2, 0.1)
        self.onStopped()

方案2:直接关闭对话模块的LED自动反馈

该方案可以彻底禁用对话状态对应的自动LED变化,不会再出现自定义灯效被覆盖的情况:

  • 打开Choregraphe的Robot applications面板,找到autonomous-life组件的配置页
  • 定位到Dialog子模块的enable_led_feedback参数,将参数值修改为false即可

注意:不要禁用ALLeds模块的全局控制权限,否则会影响机器人其他必要的状态提示功能,仅按需控制FaceLeds、EarLeds两组灯的权限即可。

内容的提问来源于stack exchange,提问作者Cain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 19:06:05