Openloong
https://github.com/loongOpen/Openloong-dyn-control
基于 MPC 与 WBC 的仿人机器人运动控制框架
OpenLoong开源项目是由人形机器人(上海)有限公司、上海人形机器人制造业创新中心与开放原子开源基金会(OpenAtom Foundation)共同运营的开源项目。本仓库提供了一套基于 MPC 与 WBC 的仿人机器人控制框架,可部署在 Mujoco 仿真平台上。基于上海人形机器人创新中心“青龙”机器人模型,提供行走、跳跃、盲踩障碍物三种运动示例,在实物样机上实现了机器人的行走、盲踩障碍两种运动。
项目特点
易部署 提供全面的代码运行环境部署解决方案,以便用户能够轻松配置其所需的工作环境,本代码仓库包含了主要依赖,无需进行众多第三方库的安装,简化整个部署过程。
可扩展 控制框架结构采用分层模块化设计,旨在提高系统的可维护性和可扩展性,系统各功能模块在逻辑和功能上具有明确的界限,为二次开发提供了更加友好的环境,使开发人员能够更轻松地对系统进行功能定制和扩展。
易理解 代码结构简洁,遵循针对功能进行模块封装的代码设计原则,应用总线进行模块间数据交互,减少封装冗余,有助于降低代码复杂度;算法实现采用“读取-计算-写入”的简单逻辑,提高代码的可理解性。
Crocoddyl
(https://github.com/loco-3d/crocoddyl)
Crocoddyl 是一个用于接触序列下机器人控制的最优控制库。其求解器基于新颖且高效的微分动态规划(DDP)算法。Crocoddyl 计算最优轨迹和反馈增益,并使用 Pinocchio 进行机器人动力学和解析导数的快速计算。
Crocoddyl 特性
Crocoddyl 功能多样:
- 各种最优控制求解器(DDP、FDDP、BoxFDDP、Ipopt 等)
- 通过 Pinocchio 实现的分析和稀疏导数
- 利用 Pinocchio 的微分几何支持
- 各种积分器、动力学、成本和约束
- 数值微分支持
- 通过 CppAD 实现自动微分支持
Crocoddyl 高效且灵活:
- 缓存友好
- 通过 OpenMP 实现多线程支持
- 通过 Boost Python 实现的 Python 绑定(包括抽象层)
- C++14/17/20 兼容
- 经过广泛测试
- 通过 CppADCodeGen 实现自动代码生成支持
精选出版物
[1] C. Mastalli, R. Budhiraja, W. Merkt, G. Saurel, B. Hammoud, M. Naveau, J. Carpentier, L. Righetti, S. Vijayakumar和N. Mansard. Crocoddyl: An Efficient and Versatile Framework for Multi-Contact Optimal Control, IEEE国际机器人与自动化会议(ICRA), 2020
[2] C. Mastalli, W. Merkt, J. Marti-Saumell, H. Ferrolho, J. Sola, N. Mansard和S. Vijayakumar. A Feasibility-Driven Approach to Control-Limited DDP, 自主机器人, 2022
[3] C. Mastalli, S. P. Chhatoi, T. Corbières, S. Tonneau和S. Vijayakumar. Inverse-Dynamics MPC via Nullspace Resolution, IEEE机器人学汇刊, 2023
✍️ 撰写者
Carlos Mastalli
,英国赫瑞瓦特大学(项目负责人)
Nicolas Mansard
,法国国家科学研究中心(LAAS-CNRS)
Rohan Budhiraja
,法国国家科学研究中心(LAAS-CNRS)(校友)
👷 贡献者
Guilhem Saurel
,法国国家科学研究中心(LAAS-CNRS)
Wolfgang Merkt
,英国牛津大学
Justin Carpentier
,法国国家信息与自动化研究所(INRIA)
Andrea Del Prete
,意大利特伦托大学
Wilson Jallet
,法国国家信息与自动化研究所(INRIA)
Maximilien Naveau
,德国马克斯·普朗克研究所(MPI)
Josep Martí Saumell
,西班牙加泰罗尼亚高级研究理事会 - 加泰罗尼亚理工大学(IRI: CSIC-UPC)
Bilal Hammoud
,德国马克斯·普朗克研究所(MPI)
Julian Eßer
,德国弗劳恩霍夫协会(Fraunhofer)
🏆 鸣谢
Crocoddyl的开发得到了欧盟MEMMO项目和欧盟RoboCom++项目的支持。它由机器人运动智能(RoMI)实验室[隶属英国赫瑞瓦特大学]、Gepetto团队[隶属法国国家科学研究中心(LAAS-CNRS)]以及Willow团队[隶属法国国家信息与自动化研究所(INRIA)]维护。