gpt4 book ai didi

nao-robot - 我可以在 NAOqi 2.9 (QiSDK) 机器人 (Pepper) 上使用 NAOqi 2.5 (C++/Python SDK) 功能吗?

转载 作者:行者123 更新时间:2023-12-03 08:37:54 24 4
gpt4 key购买 nike

我有运行 NAOqi 2.9 的 Pepper 机器人,该机器人旨在为其 Android 平板电脑使用 QiSDK。一切进展顺利,但照片捕获速率出奇地慢(最多 2 fps),因此我必须使用 NAOqi 2.5 可用的 C++(或 Python)SDK 来完成此特定任务。

我已经尝试让它工作几天了,但没有成功。我已设置并运行 C++ 和 Python SDK,但我面临的问题是与机器人的连接。

我运行了在官方网站here上找到的以下简单代码(使用机器人的IP)

from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "<IP of your robot>", 9559)
tts.say("Hello, world!")

我得到以下输出流 after the second line

在 Ubuntu 上运行 C++ 或在 Windows 上运行 Python 时会出现连接问题。

我可以在 Android Studio 中通过 SSH、FTP、QiSDK 连接到机器人,但不能通过适用于 C++ 或 Python 的 NAOqi 2.5 SDK 以任何方式连接到机器人。由于 QiSDK 很可能是构建在 C++ SDK 之上的,因此肯定有一种方法可以使其发挥作用。

任何信息都会有不可估量的帮助。

最佳答案

编辑

还有另一种方法,您可以使用 Pepper 头部内的 qi Python 库,以便使用 ALTextToSpeech 或 ALMotion 等服务,用一个简单的示例 here 。人们还只能使用 SSH 来启动 Python 服务器,这将允许通过端点访问这些功能。

import qi

app = qi.Application()
app.start()
session = app.session
tts = session.service("ALTextToSpeech")
tts.say("Hello Word")

如果您在 Pepper 的头脑中运行上面的代码片段,它会产生预期的输出(说“Hello world”)。几乎有记录的所有服务here 。您还可以通过在 session 对象上调用 .services() 来列出所有这些

编辑结束

我终于找到了破解它的方法。如果您通过 SSH 连接到机器人,则可以使用 qicli 二进制文件。它的文档是here

qicli info 列出所有可用的服务,例如 ALVideoDevice 或 ALMotion

qicli info ALMotion 显示该服务的可用方法

qicli info ALMotion.setAngles 显示有关该方法参数的信息

qicli call ALMotion.setAngles HeadYaw 0.7 0.3 使用给定参数调用模块中的函数

因此,人们可以为这个二进制文件编写一个包装器,并通过 SSH 以编程方式调用它,这种任务似乎需要做很多工作,但我还没有找到其他任何东西。

我有Python的Paramiko图书馆工作:


导入paramiko
客户端 = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(主机名='ip-of-robot',用户名='nao',密码='your-pass')

标准输入、标准输出、标准错误 = client.exec_command('pwd')
打印(stdout.read())

client.exec_command('qicli 调用 ALMotion.setAngles HeadYaw -0.7 0.2')

客户端.close()

我也尝试过 .NET 的 SSH.NET 库,但几乎没有成功。

关于nao-robot - 我可以在 NAOqi 2.9 (QiSDK) 机器人 (Pepper) 上使用 NAOqi 2.5 (C++/Python SDK) 功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63355141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com