宇树科技A1机器狗开源QP

您所在的位置:网站首页 航模遥控器能控制普通玩具吗知乎文章 宇树科技A1机器狗开源QP

宇树科技A1机器狗开源QP

2024-07-10 15:54| 来源: 网络整理| 查看: 265

参考文章:硕哥大佬知乎文章又一个开源的四足机器人控制器 - 知乎 (zhihu.com)

热心网友开源环境配置:解析A1-QP-MPC-Controller (matheecs.tech)

代码可以从知乎文章中跳转至github下载

本文主要用于说明如何搭建宇树科技开源代码运行环境,环境配置比较复杂,需要提前准备好一个游戏手柄,键盘无法控制机器狗运动

原始仓库采用 Docker 安装依赖环境,其实不用 Docker 也能跑,只需要按照 A1-QP-MPC-Controller/docker/Dockerfile 文件里的指令一步步执行。假设你已经安装好了 ROS,那么还需要完成以下步骤:

1.安装基本库 sudo apt-get update && apt-get install -y \ vim \ libatlas-base-dev \ libeigen3-dev \ libgoogle-glog-dev \ libsuitesparse-dev \ python-catkin-tools \ python3-matplotlib \ gfortran \ autoconf \ coinor-libipopt-dev \ libgfortran3 \ curl \ libopenmpi-dev \ apt-utils \ software-properties-common \ build-essential \ libssl-dev \ ros-${ROS_DISTRO}-ros-control \ ros-${ROS_DISTRO}-gazebo-ros \ ros-${ROS_DISTRO}-joy \ ros-${ROS_DISTRO}-ros-controllers \ ros-${ROS_DISTRO}-robot-state-publisher 2.安装osqp及osqp-eigen等库(这里要注意大概率后续要修改库版本,因为这两个库版本要对应起来才能运行,可以先看我后面的链接)

安装 OSQP

cd ~ git clone --recursive https://github.com/oxfordcontrol/osqp cd osqp mkdir build cd build cmake .. make -j sudo make install

安装 osqp-eigen

cd ~ git clone https://github.com/robotology/osqp-eigen.git cd osqp-eigen mkdir build cd build cmake .. make -j sudo make install

安装 LCM

cd ~ git clone https://github.com/lcm-proj/lcm.git cd lcm mkdir build cd build cmake .. make -j sudo make install

编译(无需安装) unitree_legged_sdk & aliengo_sdk

cd ~ git clone https://github.com/unitreerobotics/unitree_legged_sdk.git cd unitree_legged_sdk git checkout v3.2 mkdir build cd build cmake .. make -j cd ~ git clone https://github.com/unitreerobotics/aliengo_sdk.git cd aliengo_sdk mkdir build cd build cmake .. make -j 3.配置环境变量

修改 ~/.bashrc 文件,末尾添加

source /opt/ros/${ROS_DISTRO}/setup.bash source ~/catkin_ws/devel/setup.bash export UNITREE_LEGGED_SDK_PATH=~/unitree_legged_sdk export ALIENGO_SDK_PATH=~/aliengo_sdk #amd64, arm32, arm64 export UNITREE_PLATFORM="amd64"

最后安装 unitree_ros (假设 ROS 工作空间路径为 ~/catkin_ws) 和 A1-QP-MPC-Controller

cd catkin_ws/src git clone https://github.com/ShuoYangRobotics/unitree_ros.git git clone https://github.com/ShuoYangRobotics/A1-QP-MPC-Controller.git cd ~/catkin_ws catkin_make

顺利执行完以上指令后,就可以启动程序啦。以

4.启动 Gazebo 仿真 # 启动 Gazebo 仿真环境 $ roslaunch unitree_gazebo normal.launch rname:=a1 wname:=stairs_single # 初始化机器人位姿 $ rosrun unitree_controller unitree_servo # let the robot stretch legs $ rosrun unitree_controller unitree_move_kinetic # place the robot back to origin # 启动手柄🎮驱动 $ rosrun joy joy_node # 启动控制器 $ roslaunch a1_cpp a1_ctrl.launch type:=gazebo solver_type:=mpc

其中手柄的 A 键用来切换 stand/tort 步态

遇到的问题:如果在catkin_make运行报错,八成是osqp和osqp-eigen库版本不匹配的原因,可以在csdn上找一些解决方案,参考文章:

osqp和osqp-eigen优化库安装编译报错记录_osqp安装-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/tugepaopaoo/article/details/131178584linux安装eigen/osqp/osqp_eigen库_osqp安装-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qjj18776858511/article/details/125963379

还有一些错误是C语言版本的问题,可以在Cmakelist文件中修改调用的C++库来解决,具体问题可以搜到,时间太久远我都忘了去年搞的

如果没有遇到问题,则说明您运气比较好,我当时改了三天bug才成功!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3