Pepper Robot - getImageLocal 生成错误

Pepper Robot - getImageLocal generates error

尝试使用 getImageLocal 从机器人获取图像时,我收到一条错误消息。这是尽管我 运行 直接在机器人上的代码。错误信息是:

Traceback (most recent call last):
  File "test.py", line 13, in <module>
    video_device.getImageLocal(handle)
RuntimeError: Uncaught error: Pointer serialization not implemented

我用来获取此错误的代码如下(我在使用 C++ 时也收到相同的错误):

import qi
import sys

if __name__ == "__main__":
    app = qi.Application(sys.argv)

    # start the eventloop
    app.start()

    video_device = app.session.service("ALVideoDevice")
    handle = video_device.subscribe('handler', 0, 0, 10)

    video_device.getImageLocal(handle)
    video_device.releaseImage(handle)

我目前运行此代码使用:

python test.py --qi-url=tcp://pepper.local

我很想知道这是否是我在这里做错了什么,或者是否存在更严重的潜在问题。

即使您直接在机器人上 运行 此代码,您也无法使用 Python 代码检索此图像。在使用 C++ 时出现相同错误的事实确实令人不安...

如果您想在 Python 中工作,您应该考虑使用 getImageRemote() 方法来获取图像。如果您的代码 运行s 在机器人上,但如果它 运行s 在远程计算机上,则此解决方案有效。

如果你想更快地检索图像,你也可以考虑使用GStreamer(这里有一个link到一个post描述如何使用它。它是 Nao 的有效解决方案,但它也可以用于 Pepper。

您使用的是哪个版本的 Naoqi?