【问题标题】:QiChat ^switchFocus does not stop dialogQiChat ^switchFocus 不会停止对话
【发布时间】:2018-03-20 12:33:06
【问题描述】:

在 Pepper 2.5.7.1 上,我使用 .top 对话框脚本作为主要的交互式应用程序来调用机器人上的其他应用程序。

这些都很好

[...] ^run(User/epicsax-6f83fc/behavior_1)
[...] ^run(User/taichidemo-c66a80/behavior_1)
[...] ^pCall(ALVolumeSlider.increaseVolume())

但是,如果应用程序必须运行交互式的东西,冥想应用程序会同时运行:

u:(meditation) okay ^switchFocus(meditation-8806ca/behavior_1)

执行此操作时,机器人仍处于对话模式,眼睛闪烁蓝色,其他仍按照 .top 脚本响应。 我希望第一个应用程序会停止。

如果我在主对话框运行时运行此 SSH 命令,我会在对话框停止时得到预期的行为:

qicli call ALAutonomousLife.switchFocus meditation-8806ca/behavior_1

【问题讨论】:

    标签: nao-robot pepper


    【解决方案1】:

    如何加载带有这些对话框的 .top 文件?在协作对话中,作为行为中的一个框,从脚本中动态加载?如果它来自一种行为,那么这种行为是否也是一种自主生活行为? (即使用交互式标签,从切换焦点开始等)如果您使用 ALBehaviorManager.startBehavior 启动它,那么当您切换焦点时它不会自动停止)。

    一些方法:

    • 试试^pCall(ALAutonomousLife.switchFocus("meditation-8806ca/behavior_1")) - 应该是等价的,但你永远不知道
    • call qicli call ALDialog.getActivatedTopics 这样您就可以知道您的主题是否仍在运行(不应该!)

    【讨论】:

    • .top 在对话框中以非协作方式加载。该程序是交互式的。我尝试了 ^pCall(switch focus) 但第二个行为从未加载。调用 getActivatedTopics 表明该主题仍在运行。
    猜你喜欢
    • 2012-04-17
    • 1970-01-01
    • 2012-02-10
    • 2016-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多