前言
Pinocchio 是一个用于动态计算的 C++ 库,侧重于机器人、计算机动画和生物力学应用。
它基于 Featherstone 在其著作中正式提出的动态多体计算。
该软件附带一个 python 封装和可视化工具。
一、库特征
实现了以下算法
- 递归牛顿-欧拉算法(RNEA,即逆动力学算法)
- 复合刚体算法(CRBA,即广义惯性矩阵)
- 惯性矩阵的稀疏乔尔斯基分解(用于受约束正向动力学解析)
- 置放雅各比(即从配置速度到末端执行器空间速度的应用),以及身体置放、速度和加速度的计算。
- 质量中心及其雅各布
- 模型可通过 URDF 格式解析。实现了以下关节模型
- 旋转 X、Y、Z(优化),与笛卡尔方向不对齐
- 棱柱 X、Y、Z
- 双曲线(四元数表示法)
- 自由(即无约束,适用于人形机器人等移动机器人--旋转使用四元数表示法)
建议使用教程(请参阅页面顶部菜单中的相应项目):在 20 个小时的工作中生成第一个仿人行走机器人,同时了解 Python、Pinocchio 界面、逆运动学和 LQR。
二、安装 Pinocchio
2.1 安装
如果您从未添加过 robotpkg 的软件仓库,现在就添加吧:
sudo tee /etc/apt/sources.list.d/robotpkg.list <<EOF deb [arch=amd64] http://robotpkg.openrobots.org/packages/debian/pub $(lsb_release -sc) robotpkg EOF curl http://robotpkg.openrobots.org/packages/debian/robotpkg.key | sudo apt-key add - sudo apt update
Pinocchio 及其依赖项的安装通过以下命令行完成:
sudo apt install -qqy robotpkg-py3*-pinocchio
它将安装所有系统和其他所需的依赖项。
2.2 配置环境变量
所有软件包都将安装在 /opt/openrobots 目录下。要使用已安装的库和程序,必须配置 PATH、PKG_CONFIG_PATH、PYTHONPATH 和其他类似的环境变量,使其指向该目录。例如
export PATH=/opt/openrobots/bin:$PATH export PKG_CONFIG_PATH=/opt/openrobots/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=/opt/openrobots/lib:$LD_LIBRARY_PATH export PYTHONPATH=/opt/openrobots/lib/python3.10/site-packages:$PYTHONPATH # Adapt your desired python version here export CMAKE_PREFIX_PATH=/opt/openrobots:$CMAKE_PREFIX_PATH
您可以直接将这些行添加到 $HOME/.bashrc 中,以实现持久配置。