0

我正在构建一个项目,我希望在我的机器人内部触发一些预安装的行为(我从开发人员那里下载的)。了解我可以将行为 (.xar) 格式的内容导入我当前的项目。知道如何将已安装的行为从机器人提取到我的 PC 中吗?

谢谢

4

1 回答 1

0

这取决于您想对应用程序做什么,只是将它们作为应用程序的一部分运行,或者您是否想以某种方式编辑或将行为集成到您的应用程序中。

应用切换

如果您将应用程序下载为 .pkg 文件或安装到机器人的 Choregraphe 项目(即,您可以在 Chorgraphe 的“机器人应用程序”视图中看到它们安装),您可以使用 Pepper 的自主生活 API切换到应用程序,运行它直到完成,然后切换回您的应用程序。活动名称是应用 ID(在机器人应用程序中右键单击应用程序 -> 复制应用程序 ID)和行为名称(默认为 behavior_1)。例子'danceApp/behavior_1'

# in a python box
def __init__(self):
    # ...
    self.life = ALProxy("ALAutonomousLife")

def onInput_onStart(self):
    # 1 means return to this app when the new app is closed
    self.life.switchFocus('activityName', 1)  

提取行为

如果您不只是想切换到应用程序,例如,如果您想编辑它,或者在做其他事情时运行它,您可以像这样将 .xar 文件从机器人复制到 Choregraphe。

  1. 使用终端中的 SSH 将机器人的应用程序复制到您的 PC(再次,通过在 Choregraphe 的机器人应用程序视图中右键单击应用程序来获取应用程序 ID)
scp -r nao@<nao-ip>:/home/nao/.local/PackageManager/apps/app-id <path-to-copy-to>
  1. 制作一个新的空白 Choregraphe 应用程序并保存
  2. 将您从机器人获得的应用程序文件夹的内容复制到空白的 Choregraphe 应用程序中
  3. 打开 Choregraphe 应用程序并单击 Project files 下的 behavior.xar。您应该看到该行为并能够根据需要复制或编辑它。
于 2020-02-07T11:16:01.857 回答