Передача большего количества переменных QiChat в функцию Python

У меня возникли некоторые проблемы с Naoqi SDK с хореографией. Мне нужно синхронно передать две или более переменных с помощью модуля QiChat в функцию Python:

u:(Is someone in _~lab lab working on _~themes) $lab=$1 $themes=$2

или лучше:

u:(Is someone in _* lab working on _*) $lab=$1 $themes=$2

Я ничего не нашел в Интернете, кто-то может мне помочь?

заранее спасибо

1 ответ

Решение

QiChat вызывает события ALMemory, когда переменная установлена, но обработка событий ALMemory происходит асинхронно, поэтому вы не можете полагаться на них в вашем случае.

Тем не менее, QiChat предоставляет возможность совершать синхронные вызовы любому API, представленному в NAOqi, используя ключевое слово ^call. Вы можете воспользоваться этим, чтобы вызвать метод, который вы бы открыли в сервисе Python, который вы написали бы сами. В QiChat у вас будет что-то вроде этого:

u:(_$myConcept): alright ^call(MyService.myMethod($1))

Я предполагаю, что вы пишете свою программу, используя Choregraphe, поэтому, пожалуйста, обратите внимание, что у вас уже есть доступ к действительной Сессии Qi в каждом окне Python, вызвав self.session(),

Другие вопросы по тегам