RMVL  2.1.0-dev
Robotic Manipulation and Vision Library
载入中...
搜索中...
未找到
RMVL-Python 绑定功能

目标

了解:

  • RMVL-Python 绑定是如何生成的
  • 如何在配置 RMVL-Python 绑定功能

RMVL-Python 绑定是如何生成的

在 RMVL 中,所有算法都是用 C++ 实现的,但这些算法可以在 Python 的语言环境中使用。这一效果是通过在 CMake 配置阶段绑定生成器实现。这些生成器在 C++ 和 Python 之间架起了一座桥梁,使用户能够从 Python 调用 C++ 函数。RMVL 使用 Pybind11 作为生成器,相比于其他 Python 生成器,Pybind11 对 C++11 乃至部分 C++17 语言标准的支持较好。此外,提供了适用于 CMake 的使用示例。但是,Pybind11 包装代码的代码量较大,通过手动编写 Pybind11 的包装函数将 RMVL 中的指定的函数或类扩展到 Python 是一项耗时的任务,不过,包装代码与源代码之间具有较多相似之处,比较适合自动转化。因此,RMVL 提供了若干宏以及自动转化的脚本完成了这项工作。

如何在配置 RMVL-Python 绑定功能

安装依赖

首先,需要安装 Python 3 和 Pybind11。在 Debian 以及 Ubuntu 上可以通过 APT 包管理工具安装

sudo apt install python3-dev pybind11-dev

也可以通过 pip 安装 Pybind11

pip install pybind11

Windows 上,需要提前准备好 Python 3 的环境,Pybind11 就可以直接通过 pip 进行安装

pip install pybind11

启用 RMVL-Python 绑定功能

RMVL 使用 CMake 进行构建,要启用 RMVL-Python 绑定功能,需要在 CMake 配置阶段设置 BUILD_PYTHONON。这样 RMVL 就会在构建时生成 Python 绑定。

cd build
cmake -DBUILD_PYTHON=ON ..