Как включить / выключить автономную жизнь из хореографического проекта - PullRequest
0 голосов
/ 31 января 2019

Автономной жизнью можно управлять из пользовательского интерфейса Choregraphe, а также дважды нажав кнопку сундука на роботе, однако, как это можно сделать из проекта Choregraphe?После просмотра списка инструментов в библиотеке ящиков неясно, какой инструмент можно использовать для этого.

Когда включена автономная жизнь, робот, чтобы появиться жив , делаетнебольшие движения головой, руками и ногами.Разрабатываемое мной поведение является тонким и его трудно отличить от движений Автономной Жизни, поэтому я пытаюсь заставить робота стоять на месте, прежде чем мое поведение заработает.

1 Ответ

0 голосов
/ 31 января 2019

API-интерфейс ALAutilitaryLife предлагает метод 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

И затем активировать это поле, чтобы отключитьAuthorsLife.

Вы также можете протестировать его в консоли Python, например:

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

Это будет иметь тот же эффект, что и нажатие кнопки сундука дважды.

Только дляотключить тонкое автономное движение, посмотрите на Автономные способности

Метод setEnabled предлагается

...