2

我在使用 Choreographe 的 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

我在网上没有找到任何东西,有人可以帮助我吗?

提前致谢

4

1 回答 1

2

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

然而,QiChat 提供了一种使用^call 关键字对 NAOqi 中公开的任何 API进行同步调用的方法。您可以利用这一点来调用您在自己编写的 Python 服务中公开的方法。在 QiChat 中,您将拥有类似的内容:

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

我假设您使用 Choregraphe 编写程序,所以请注意,您已经可以通过调用在每个 Python 框中访问有效的 Qi 会话self.session()

于 2017-01-18T14:29:51.767 回答