Передача большего количества переменных 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()
,