Other

技术解读

以下内容由 GitRead 中文社区 编辑团队基于项目 README 与官方资料整理, 结合中文开发者的常见使用场景补充技术选型建议。具体以项目官方文档为准。

深度分析:HECTOR 仿真软件项目

项目背景与痛点

HECTOR (Humanoid Engineering, Control, and Optimization Research) 是一个专注于人体形机器人步态控制的研究项目。尤其在双足步行控制系统中,该项目通过 Simulation Software (ROS/MATLAB) 提供了强大的仿真实验环境,用于优化机器人的步态控制和力矩控制。这类仿真实验环境的核心问题是:如何在虚拟环境中准确模拟实际机器人在复杂的地面环境下的运动控制。

双足机器人在进行步态仿真时,最大的挑战之一是如何在实现动态平衡的同时,完成从行走、跑步到跳跃等多种复杂的动作。HECTOR 项目通过结合力矩控制和优化控制算法,有效解决了这一问题,为双足机器人的运动控制实验提供了可靠的平台。

核心技术揭秘

HECTOR 仿真软件主要基于 ROS (Robot Operating System) 和 MATLAB,通过力矩控制和优化控制算法来控制 HECTOR 机器人的步态。其架构可概况为以下几点:

技术架构简介

仿真软件的核心技术基于现代控制理论中的模型预测控制 (MPC) 策略。通过 MPC,HECTOR 能够预测机器人在接下来的一段时间内如何运动,并据此调整步态控制参数。下面是一张简化的技术架构图:

graph TD A[用户指令] --> B{"状态预测"} B -->|"MPC优化"| C[力矩分配] B -->|"实时反馈"| D[状态更新] C --> E[执行控制命令] E --> F[机器人动作] F --> G[传感器反馈] G --> D D --> B

结合初始化和实时状态反馈机制,系统不断优化未来行为模型,从而达到机器人动态平衡和步态调控的目标。

FMA10 (Force-and-moment-based MPC) 亮点

HECTOR 仿真软件的独特设计之一是使用力矩-力矩矩控制方法 (Force-and-moment-based MPC,简称 FMA10),结合线性优化模型来优化步态控制参数。突显其优势可以在处理复杂的地面环境时,通过实时反馈调整算法使机器人保持良好的姿态与平衡,从而实现动态平衡下的稳定与灵活性。

功能亮点与差异

HECTOR 仿真软件相对于其他类似的仿真软件,在力矩控制方面采用了更为复杂的优化算法,能够更准确地模拟实际机器人在复杂运动条件下的行为。此外,它将是基于 ROS 和 MATLAB 的组合,使得研发人员易于上手,在保证高效算法实现的同时,具备良好的易用性。

FMA10 (Force-and-moment-based MPC) 工作机制

通过精准控制力矩与力矩矩,在协调导航和动力操作上具备更强的适应性。这一点在变化多端的真实地板条件下尤其明显,在提供精密控制设计方面相对竞品有较大优势。

应用场景与落地建议

HECTOR 仿真软件非常适用于高等院校及研究机构中的双足机器人步态控制研究平台。由于其复杂的算法核心,建议使用者精通现代控制理论和力矩优化算法,拥有较强的编程及仿真软件使用经验。

使用注意及解决方案

在基于 ROS 环境进行仿真时,需关注以下几点:

  • 稳定性问题: 通过力矩控制模块故障检测及信息冗余,确保运行的稳定。
  • 数据兼容性: 提高不同仿真平台之间的数据同步能力,保证仿真模型的一致性。

综合评价

优点:

  • 力矩控制和优化算法能有效处理复杂的地面环境。
  • 基于 ROS 和 MATLAB 的实现增强了仿真效果。

缺点:

  • 对于初学者,API 或者用户接口的理解可能超过其能力范围。
  • 可能需要较强的专业背景才能进行定制化调整。

综上所述,HECTOR 项目以其先进的仿真技术和对力矩控制的深入理解,为双足机器人的步态控制提供了一个强大的解决方案。

关于

GitHub 原始描述(英文)

Simulation Software (ROS/MATLAB) for HECTOR Humanoid Robot Locomotion Control/Bipedal Locomotion Control/Force-and-moment-based MPC

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
1334
价值分
412
活跃状态
活跃

语言占比

C
C++
CMake

README

Hector Open-source Simulation Software in ROS

HECTOR: Humanoid for Enhanced ConTrol and Open-source Research

This branch contains the ROS+Gazebo simulation for the Hector humanoid robot.

For humanoid ROS model with arms use the ROS_Humanoid_Simulation branch.

Introduction Video: https://youtu.be/NcW-NFwjMh0

Video associated with preprint “Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research”: https://youtu.be/-r0QoxQgshk

Dependencies:

sudo apt-get install ros-noetic-controller-manager ros-noetic-ros-control ros-noetic-ros-controllers ros-noetic-joint-state-controller ros-noetic-effort-controllers ros-noetic-velocity-controllers ros-noetic-position-controllers ros-noetic-robot-controllers ros-noetic-robot-state-publisher ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control

System Requirements:

If you want to simulate with Gazebo, we recommend x86 platform. ARM platform is not suggested for simulation. So, if you run this code on ARM platform, please remove Simulation related folder first.

The current system environment is:

  • Ubuntu 20.04 + ROS Noetic* (recommended, tested stable)

Configuration:

Use command to open .bashrc file:

  • gedit ~/.bashrc

Make sure the following exist in your ~/.bashrc file or export them in terminal. noetic, gazebo-11 and ~/catkin_ws should be replaced in your own case.

source /opt/ros/noetic/setup.bash
source /usr/share/gazebo-11/setup.sh
source ~/catkin_ws/devel/setup.bash
export ROS_PACKAGE_PATH=~/catkin_ws:${ROS_PACKAGE_PATH}
export GAZEBO_PLUGIN_PATH=~/catkin_ws/devel/lib:${GAZEBO_PLUGIN_PATH}
export LD_LIBRARY_PATH=~/catkin_ws/devel/lib:${LD_LIBRARY_PATH}

Build:

  • cd ~/catkin_ws
  • catkin_make

NOTE: If it is the first time to compile, Please compile the laikago_msgs first by following command:

complie the package

  • catkin_make -DCMAKE_BUILD_TYPE=Release

launch and run gazebo simulation:

  • roslaunch unitree_gazebo biped.launch The robot should be standing on the ground

  • In a new terminal, enter and source your workspace, then run: rosrun hector_control hector_ctrl

  • Click the start button at the bottom of the simulator, the robot should stand up/move away

  • In some occasions the controller does not kick in after starting, please terminate the controller with ctrl + \. Then go back to the simulator, pause, and reset (ctrl + R). Rerun controller.

Keyboard Control:

  • Inside the terminal window, use W or S to control x direction speed
  • Use A or D to control robot turning
  • Use J or L to control y direction speed

Cite Us:

Thank you for choosing our software for your research and development, we highly appreciate your citing our work:

  1. HECTOR Project: “Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research” https://arxiv.org/pdf/2312.11868.pdf
@article{li2023dynamic,
  title={Dynamic Loco-manipulation on HECTOR: Humanoid for Enhanced ConTrol and Open-source Research},
  author={Li, Junheng and Ma, Junchao and Kolt, Omar and Shah, Manas and Nguyen, Quan},
  journal={arXiv preprint arXiv:2312.11868},
  year={2023}
}
  1. Force-and-moment-based Locomotion MPC: “Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots” https://arxiv.org/abs/2104.00065
  @inproceedings{li2021force,
  title={Force-and-moment-based model predictive control for achieving highly dynamic locomotion on bipedal robots},
  author={Li, Junheng and Nguyen, Quan},
  booktitle={2021 60th IEEE Conference on Decision and Control (CDC)},
  pages={1024--1030},
  year={2021},
  organization={IEEE}
}

Contact Information:

Junheng Li – [email protected] Yiyu Chen – [email protected]

License

Please read the License.md for details.

Acknowledgement:

The authors would like to express special thanks to MIT Biomimetic Lab for providing the cheetah MPC framework and Unitree Robotics for providing the Unitree gazebo simulation framework.

评论

暂无评论