如何从 Choregraphe 项目转变 on/off 自主生活

How to turn on/off Autonomous Life from a Choregraphe Project

自主生活可以在 Choregraphe 的 UI 中控制,也可以通过按两次机器人的胸前按钮来控制,但是,这如何在 Choregraphe 项目中实现? 浏览了Box Library中的工具列表后,不清楚可以使用哪个工具。

当“自主生命”开启时,机器人为了表现得活着,会用头、胳膊和腿做一些小动作。我正在开发的行为是微妙的,很难与自主生命运动区分开来,所以我试图让机器人在我的行为运行之前静止不动。

ALAutonomousLife API 提供方法 setState

在 Choregraph 中,您可以制作一个包含以下内容的 python 框:

class MyClass(GeneratedClass):
    def __init__(self):
        GeneratedClass.__init__(self)
        self.al = ALProxy("ALAutonomousLife")

    def onLoad(self):
        #put initialization code here
        pass

    def onUnload(self):
        #put clean-up code here
        pass

    def onInput_onStart(self):
        self.al.setState("disabled")
        #self.onStopped() #activate the output of the box
        pass

    def onInput_onStop(self):
        self.onUnload() #it is recommended to reuse the clean-up as the box is stopped
        self.onStopped() #activate the output of the box

然后激活此 Box 以禁用 AutonomousLife。

您也可以像这样在 python 控制台中测试它:

import naoqi
from naoqi import ALProxy
al = ALProxy("ALAutonomousLife", "pepper.local", 9559)
al.setState("diabled")

这与按两次胸部按钮的效果相同。

要仅禁用微妙的自主移动,请查看Autonomous Abilities

方法setEnabled

提供