Как запустить поведение NAO с помощью диалога?

Я нашел способ запустить поведение, создав диалог в Choregraphe, но он не работает.

Сценарий диалога следующий:

u(keyword / key sentence): robot_response (optional) 
^start(applicationID/behaviour_1) 
^wait(applicationID/behaviour_1)

Робот (NAO, версия 2.8.6.23) улавливает мое ключевое слово, сообщает ожидаемый ответ, но поведение не запускается: робот переходит в режим ожидания, и мне часто приходится его перезапускать. В любом случае кажется, что приложение запущено (если посмотреть на активный контент). Я попытался запустить поведение вручную, и оно работает хорошо, поэтому я не понимаю, что делаю не так ...

PS: И приложение, и диалог, конечно же, устанавливаются в приложениях-роботах.


person Giulio Amabili    schedule 10.02.2021    source источник


Ответы (1)


Использует ли ваше другое поведение диалог? Может случиться так, что applicationID/behaviour_1 пытается начать прослушивание / активировать диалог и сразу же терпит неудачу, потому что диалог уже запущен (тот, который вы нам показали).

^start предназначен для простого поведения, такого как анимация, если вы действительно хотите запустить другое действие с его собственной логикой и т. Д., Вы должны использовать ^switchFocus вместо ^ start - это остановит ваше текущее поведение, в котором есть этот диалог (так что нет необходимости для ^ ждать) и начать новый. Это будет работать только в том случае, если Autonomous Life активна - задача Autonomous Life состоит в том, чтобы организовать действия так, чтобы в определенный момент времени была активна только одна, чтобы предотвратить ошибки, вызванные небольшим количеством фонового кода в одном поведении, вызывающим проблемы в другом.

(действия - это в основном действия, предназначенные для верхнего уровня, такие как приложения или игры, в отличие от таких мелочей, как анимация, которые можно запускать в фоновом режиме)

person Emile    schedule 11.02.2021
comment
Большое тебе спасибо! Теперь он работает отлично! - person Giulio Amabili; 17.02.2021