将更多QiChat变量传递给Python函数

时间:2017-01-10 18:36:46

标签: python nao-robot

我正在与编舞家的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 个答案:

答案 0 :(得分:1)

当设置变量时,QiChat会引发ALMemory事件,但处理ALMemory事件是异步的,因此在您的情况下不能依赖它们。

但是,QiChat提供了一种使用^call keyword对NAOqi中公开的任何API进行同步调用的方法。您可以利用此方法调用您自己编写的a Python service中已公开的方法。在QiChat你会有类似的东西:

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

我想你是使用Choregraphe编写程序的,所以请注意,你可以通过调用self.session()访问每个Python框中的有效Qi会话。

相关问题