将QiMessaging Service应用程序打包和部署到Pepper / Nao机器人的正确方法是什么?

时间:2018-08-10 13:41:23

标签: python nao-robot pepper choregraphe

我对将自定义Service应用程序打包并部署到机器人的正确过程感到困惑。我正在使用Python。

  • 我阅读了this document,但它看起来更像是App创建指南。
  • 另一方面,我尝试了robot-jumpstarter,看起来非常有前途。我使用了python jumpstart.py python-service my-package-name MyServiceName命令来生成服务模板。我可以通过Choregraphe打开并安装服务,但没有找到执行此操作的CLI工具。此外,项目结构看上去与this不同,并且robot-jumpstarter生成了大量代码。我想从更简单的内容入手,并在必要时使其复杂化。

我想知道什么是正确的QiMessaging服务项目结构,以及如何使用CLI工具打包并部署到机器人。现在,我正在使用autoload.ini加载服务。

编辑:我找到了this guide

1 个答案:

答案 0 :(得分:1)

我制作了robot-jumpstarter,是的,它具有大量样板代码,可简化调试等。

如果您需要准系统服务,则文档中的How to write a qimessaging service涵盖了该内容;还有the tutorial you already found涵盖了这一点,此外还介绍了如何使用qipkg,这实际上是打包服务的标准命令行方式。这两个文档中给出的示例确实非常简单。

最小结构应为manifest.xml,.pml文件和python脚本(以及也许软件包的图标;至少强烈建议使用不带图标的应用程序丑陋)。

您还应该注意:

  • “服务”一词可以指代 NAOqi服务(注册,可以用qicli调用,并且由ServiceDirectory服务管理),或者指代系统服务,基本上是一个独立的进程(可能包含或不包含NAOqi服务),由ALServiceManager管理。
  • 通常当人们使用Python制作NAOqi应用程序时,该应用程序的核心代码位于该应用程序包中包含的一个或多个NAOqi服务中(“应用程序”和“服务”不是互斥的类别)