本文主要是介绍Pinocchio - 开源多刚体动力学 C++、Python库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
系列文章目录
前言
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
EOFcurl 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 中,以实现持久配置。
这篇关于Pinocchio - 开源多刚体动力学 C++、Python库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!