四足机器人腿部控制框架:legged_control 安装与配置完全指南

四足机器人腿部控制框架:legged_control 安装与配置完全指南

legged_control Nonlinear MPC and WBC framework for legged robot based on OCS2 and ros-controls legged_control 项目地址: https://gitcode.com/gh_mirrors/le/legged_control

项目基础介绍及编程语言

legged_control 是一个专为腿部机器人设计的高性能控制栈与框架,它结合了非线性模型预测控制(NMPC)和全身体力控制器(WBC),基于OCS2(Optimal Control Software Suite)和ROS控制系统。此项目旨在提供一个易于部署且高性能的模型,适用于A1等机器人,并通过ROS接口轻松适配自定义机器人体系结构。核心编程语言是C++。

关键技术和框架

  • NMPC (Nonlinear Model Predictive Control):一种优化控制策略,用于实时地计算最优控制输入。
  • WBC (Whole Body Control):一种控制算法,确保机器人以协调的方式利用全身资源来完成任务。
  • OCS2 (Optimal Control Software Suite):提供了高效的求解器和工具,用于实现在线优化。
  • ROS (Robot Operating System):提供了一套开发机器人软件的标准平台,包括通信、感知、决策等模块。
  • Pinocchiohpp-fcl:用于机器人动力学和碰撞检测的重要库。

准备工作与详细安装步骤

步骤1: 环境准备

  • 操作系统: Ubuntu 20.04 或更高版本
  • ROS版本: ROS Noetic Ninjemys
  • 必要依赖:
    sudo apt-get update && sudo apt-get upgrade
    sudo apt-get install liburdfdom-dev liboctomap-dev libassimp-dev
    

步骤2: 获取源码

  • 克隆legged_control仓库到本地:
    git clone https://github.com/qiayuanl/legged_control.git
    
  • 同时需要克隆并编译OCS2及其依赖库:
    git clone https://github.com/leggedrobotics/ocs2.git
    git clone --recurse-submodules https://github.com/leggedrobotics/pinocchio.git
    git clone --recurse-submodules https://github.com/leggedrobotics/hpp-fcl.git
    
    cd hpp-fcl
    mkdir build; cd build
    cmake .. && make -j$(nproc) && sudo make install
    cd ../..
    
    # 对于pinocchio和ocs2,你需要按照它们的官方文档进行编译安装。
    

步骤3: 编译legged_control

  • 设置Catkin Workspace(假设你已经有了一个catkin workspace),然后进入src目录添加legged_control及其相关包:
    cd ~/your_catkin_ws/src
    ln -s /path/to/legged_control .   # 若不直接将代码放入ws中
    
  • 编译
    cd ~/your_catkin_ws
    catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
    catkin build ocs2_legged_robot_ros ocs2_self_collision_visualization legged_controllers legged_unitree_description legged_gazebo legged_unitree_hw
    
    注意:如果仅用于仿真,可以跳过legged_unitree_hw的编译。

步骤4: 设置环境变量

  • 根据你的机器人类型设置ROBOT_TYPE环境变量:
    export ROBOT_TYPE=a1
    

步骤5: 运行模拟或硬件测试

模拟运行
  • 启动空世界:
    roslaunch legged_unitree_description empty_world.launch
    
  • 加载控制器:
    roslaunch legged_controllers load_controller.launch cheater:=false
    
  • 切换到控制器:
    rosservice call /controller_manager/switch_controller "start_controllers: ['controllers/legged_controller'] stop_controllers: [''] strictness: 0 start_asap: false timeout: 0.0"
    
硬件部署(需在真实的机器人上进行)
  • 确保硬件连接正确后,启动相应的硬件节点。

至此,您已经完成了legged_control项目的安装与基本配置,接下来就可以通过RViz或其他ROS工具进一步控制和调整您的四足机器人了。

legged_control Nonlinear MPC and WBC framework for legged robot based on OCS2 and ros-controls legged_control 项目地址: https://gitcode.com/gh_mirrors/le/legged_control

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

支滨权Fresh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值