DIAL-MPC: 腿式机器人精确敏捷控制的开源框架

DIAL-MPC: 腿式机器人精确敏捷控制的开源框架

dial-mpc Official implementation for the paper "Full-Order Sampling-Based MPC for Torque-Level Locomotion Control via Diffusion-Style Annealing". DIAL-MPC is a novel sampling-based MPC framework for legged robot full-order torque-level control with both precision and agility in a training-free manner. dial-mpc 项目地址: https://gitcode.com/gh_mirrors/di/dial-mpc

1. 项目介绍

DIAL-MPC 是一个基于采样模型的模型预测控制(MPC)框架,专为腿式机器人全阶转矩级控制设计。它能够在无需训练的情况下实现精确和敏捷的控制。DIAL-MPC 框架简单灵活,对特定的奖励设计动力学模型的要求最小。它直接在基于物理的仿真(Brax)中进行采样和展开,无需降阶建模、线性化、凸化或预定义的接触序列。这意味着您可以在最小设置的情况下,以即插即用的方式测试控制器。

2. 项目快速启动

环境准备

  • 操作系统:Ubuntu 20.04 或更高版本
  • Python:3.10 或更高版本
  • CUDA:12.3 或更高版本

您可以使用 mamba 或 conda 创建一个虚拟环境,然后执行以下命令克隆项目:

git clone https://github.com/LeCAR-Lab/dial-mpc.git --depth 1
cd dial-mpc
pip3 install -e .

同步仿真

在同步仿真模式下,仿真会等待 DIAL-MPC 完成计算后才进行下一步。这种方式适合调试和执行当前不需要实时反馈的任务。

运行示例:

dial-mpc --list-examples
dial-mpc --example unitree_h1_jog

完成仿真后,您可以通过访问 127.0.0.1:5000 来可视化结果。

异步仿真

异步仿真用于在实际应用前测试算法。仿真以实时(或通过 real_time_factor 缩放)进行,DIAL-MPC 可能会遇到延迟。

运行示例:

dial-mpc-sim --list-examples
dial-mpc-sim --example unitree_go2_seq_jump_deploy

# 在另一个终端
dial-mpc-plan --example unitree_go2_seq_jump_deploy

实际部署

实际部署的步骤与异步仿真非常相似。使用 unitree_sdk2_python 通过 CycloneDDS 直接与机器人通信。

步骤 1: 状态估计

项目支持多种状态估计插件,如 ROS2 里程计消息、Vicon 动作捕捉系统,或者您自定义的插件。

步骤 2: 安装 unitree_sdk2_python

按照 unitree_sdk2_python 的说明进行安装。

步骤 3: 配置 DIAL-MPC

在相应的 YAML 配置文件中修改 network_interface 以匹配连接到 Go2 的网络接口。

步骤 4: 启动机器人

按照官方 Unitree 文档关闭 Go2 的运动模式,将机器人平放在地面上。

步骤 5: 运行机器人
dial-mpc-real --list-examples
dial-mpc-real --example unitree_go2_seq_jump_deploy

3. 应用案例和最佳实践

  • 同步仿真:用于开发和调试控制器。
  • 异步仿真:在接近实时条件下测试算法性能。
  • 实际部署:将算法部署到实体机器人上。

4. 典型生态项目

DIAL-MPC 可以与多种腿式机器人平台和仿真环境配合使用,如 Unitree Go2、Brax 等。社区中还有许多扩展项目,例如自定义机器人模型和环境,以及集成其他传感器和控制系统。

dial-mpc Official implementation for the paper "Full-Order Sampling-Based MPC for Torque-Level Locomotion Control via Diffusion-Style Annealing". DIAL-MPC is a novel sampling-based MPC framework for legged robot full-order torque-level control with both precision and agility in a training-free manner. dial-mpc 项目地址: https://gitcode.com/gh_mirrors/di/dial-mpc

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

齐游菊Rosemary

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值