如何在 pydrake 中使用 RotaryEncoder 和其他模板化传感器类型?

问题描述 投票:0回答:1

当我尝试从

RotaryEncoders
RotaryEncoders_
导入
pydrake.all
pydrake.systems.sensors
时,出现导入错误。我觉得我错过了一些明显的东西;
sensors.pyi
中“缺少”所有模板化传感器类型。我错过了什么?

这显然是可行的,我只是一定做错了什么,参见这个测试:https://github.com/RobotLocomotion/drake/blob/03890722e4576c043192303a8270fd1bdf343653/bindings/pydrake/systems/test/sensors_test.py#L579

我的设置

我怀疑这并不重要,但我在 Ubuntu 22.04 上通过 pip 在 venv 中安装了

pydrake
版本 1.30.0

我做了什么

Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pydrake.all import RotaryEncoders
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'RotaryEncoders' from 'pydrake.all' (/opt/drake/lib/python3.10/site-packages/pydrake/all.py)
>>> from pydrake.systems.sensors import RotaryEncoders
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'RotaryEncoders' from 'pydrake.systems.sensors' (/opt/drake/lib/python3.10/site-packages/pydrake/systems/sensors.cpython-310-x86_64-linux-gnu.so)
>>> from pydrake.systems.sensors import RotaryEncoders_
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'RotaryEncoders_' from 'pydrake.systems.sensors' (/opt/drake/lib/python3.10/site-packages/pydrake/systems/sensors.cpython-310-x86_64-linux-gnu.so)

我所期待的

为了避免出现导入错误

pybind11 drake
1个回答
0
投票

实际上,drake 版本确实很重要。我最近才为 RotaryEncoders 类PR 了 python 绑定。它们不在 v1.30.0 中,但会出现在 v1.31.0 中,并且现在可以在夜间点轮中使用。

© www.soinside.com 2019 - 2024. All rights reserved.