MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总

VMware ubuntu20.04(虚拟机的安装教程csdn很多,如果还木有安装可以搜一下20.04版本的安装,装一样的版本控制变量嘛)

参考主体:

MIT Mini Cheetah仿真环境搭建(VMware中的ubuntu20.04,含问题解决)_warning: ‘char* __builtin_strncpy(char*, const cha_为所爱的人努力的博客-CSDN博客

MIT Cheetah开源代码仿真环境搭建_how do i run mit cheetah 3with ros installed_扛菜刀的博客-CSDN博客

安装前准备:

  1. 在安装Ubuntu时尽量将磁盘和内存给的足够大,以避免后续安装时出现因内存不够而导致程序自行杀死的问题。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第1张图片

如果已完成安装且磁盘的大小设置为20GB,很可能后续编译Cheetah代码时出现问题。不过不用担心,我们也出现了这样的问题,在后面编译时会给出解决办法。

        2.需要配置网络环境,但是没有办法给教程。

正式安装过程:

主要分为四大部分完成Qt、LcmEigen库的安装及Cheetah代码的编译四部分。(具体Cheetah代码与论文的简介可以参考知乎中MIT Cheetah 完整开源代码与论文简介 - 知乎 (zhihu.com)的介绍)。

  • 安装依赖项
  1. 首先进行更新

在Ubuntu终端中输入如下代码,进行更新。

sudo apt update

sudo apt upgrade

**小tips:ubuntu中的复制和粘贴为ctrl+shift+c/v

  1. 安装依赖项

sudo apt install mesa-common-dev freeglut3-dev coinor-libipopt-dev libblas-dev liblapack-dev gfortran liblapack-dev coinor-libipopt-dev cmake gcc build-essential libglib2.0-dev

  • 安装Qt5
  1. 下载Qt5.10.0,下载链接如下

链接:https://pan.baidu.com/s/1p3-hBYNUcVbnMrUCQLJvRQ 
提取码:kj6x 

  1. Ubuntu中下载Qt

将下载好的文件直接拉拽到Ubuntu的主目录下。

(这里有可能拖拽不成功,如果不成功可以重启试试;如果还不行就在csdn搜索:windows系统和虚拟机开启共享文件夹,按照教程设置共享文件夹,那么在Windows上的文件也可以被虚拟机所使用。)

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第2张图片

在终端运行下述命令完成下载。

sudo chmod -R 755 qt-opensource-linux-x64-5.10.0.run

./qt-opensource-linux-x64-5.10.0.run

  1. 接下来的安装,基本点next即可

看到下图所示界面时,需要Qt账号,需要注册一个,注意密码的要求。(然后你需要验证,验证的过程按照他要求的填,看不懂的话就翻译一下,第一次没看明白就填,也不知道是哪里填错了导致注册不成功,这里我们重新下载了三次。)

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第3张图片

看到下面这个界面,记得把Qt5.10.0勾选上。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第4张图片

安装完成后去掉这个勾勾。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第5张图片

  • 安装lcm
  1. 下载安装git,需要使用以下命令

sudo apt-get update

sudo apt-get install git

  1. 依次进行如下命令

**从此步骤开始一定保证挂载成功要不然会出现 拒绝连接 的情况。基本上所有github的网站打开都要保证的连接,否则就只能看命(网络不稳定嘛)。

git clone https://github.com/lcm-proj/lcm.git

cd lcm

mkdir build

cd build

cmake ..

make

sudo make install

sudo ldconfig

完成安装

  • 安装Eigen库

使用如下命令完成安装。

sudo apt-get install libeigen3-dev

  • 下载编译MIT Cheetah源码
  1. 克隆cheetah代码

git clone https://github.com/mit-biomimetics/Cheetah-Software.git

cd Cheetah-Software

cd scripts

./make_types.sh

cd ..

mkdir build

cd build

  1. 进行编译前修改

记住主目录下Qt文件夹的名字。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第6张图片

在/Cheetah-software/scripts/find_qt_path.sh中将文本中的两处Qt更改成Qt5.10.0(自己文件夹的名字)如下所示,然后保存退出。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第7张图片

  1. 进行代码编译
  1. 打开Cheetah-Software文件夹后,右键在终端中打开,输入如下代码以提升cmake处理速度。

sudo cp -r /usr/include/eigen3  /usr/local/include/eigen3

  1. 在该终端下继续输入以下代码进行编译。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第8张图片

cd build

cmake ..

make -j4

**在进行cmake ..步骤时挂载一定要正常,此步骤和谷歌有关,需要爬梯子才能成功。

**若在执行cmake命令遇到报错,打开Cheetah-Software文件下的common文件夹下的CmakeLists.txt文件,修改master为main,保存后退出,重新执行cmake。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第9张图片

  1. 执行make -j4命令时,所遇到的问题及解决

**编译这里很离谱,会碰到蛮多的问题,请保持耐心和零散的时间(怕长时间做这个编译不出来人会崩溃)。

可能每个人碰到的问题会不一样,因此这边只能给出我们所碰到的问题汇总以及相应的解决方法,可以按需使用。

一、报错:C++: fatal error: Killed signal terminated program cc1plus

解决方法

  1. 有可能是虚拟机内存不足造成的,可以通过创造swap分区解决。

步骤如下:

# 创建分区路径

sudo mkdir -p /var/cache/swap/

# 设置分区的大小

sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=128

出现如下界面:

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第10张图片

(bs=64M是块大小,count=128是块数量,所以swap空间大小是bs*count=8192MB=8GB。)

# 设置该目录权限

sudo chmod 0600 /var/cache/swap/swap0

# 创建SWAP文件

sudo mkswap /var/cache/swap/swap0

出现如下界面:

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第11张图片

# 激活SWAP文件

sudo swapon /var/cache/swap/swap0

# 查看SWAP信息是否正确

sudo swapon -s

正确的话图像如下:

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第12张图片

  1. 如果还不能解决,就查看是不是自己的盘内存不够了,如果是,给盘分配更多的内存。如何分配按照这篇文章来:

增加 VM虚拟机硬盘容量_磁盘已成功扩展 ,你必须从客户机操作系统_o王o的博客-CSDN博客

二、报错:Built target test-common(这个是文件名,会不一样的) make: *** [Makefile:130:all] 错误 2

解决方法:

我们也没有找到这类错误发生的原因,目前有我们有两个解决方法,第一个是认为他的错误是由于其他错误所引起的,因此我们先解决其他错误。如果报错仅仅只有这一个错误,那么不管他,重新来一次make -j4,看看问题会不会改变(如果改变了就解决改变后的问题),如果没改变,重启虚拟机重新编译,看看会不会改变。

三、报错:fatal error: stropts.h: 没有那个文件或目录

解决方法:

在/usr/include文件里建立一个空的stropts.h文件(终端输入touch stropts.h命令(你可能会找不到usr文件,先搜索user,然后你会看见其中一个user是在一个usr文件夹里面的,从而找到usr。)

如果解决不了这个问题,你就得往里面加入内容了,参考:curl库移植时出现:fatal error: stropts.h: 没有那个文件或目录_追梦-北极星的博客-CSDN博客

四、报错:error: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 2056 equals destination size [-Werror=stringop-truncation]

解决方法:

  1. 在Cheetah-Software文件夹下找到CmakeLists.txt文件

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第13张图片

  1. 把里面的两个-Werror删掉就可以

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第14张图片

  1. 保存文件再执行一次make -j4命令。

  • 仿真的使用
  1. 打开Cheetah-Software下的build,右键打开终端

输入如下命令

./sim/sim

打开如下界面

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第15张图片

  1. 依次点击1. Mini Cheetah 2. Simulator 3. Start

出现如下界面:

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第16张图片

此时机器狗还没有四肢。

  1. 在/Cheetah-Software/build路径下另开一新终端

输入以下命令

具体看自己user文件下的MIT_Controll文件的名字我的名字为MIT_Controller,否则报错找不到文件。

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第17张图片

此时四肢显现出来。

  1. 修改参数就可以动了

MIT Mini Cheetah四足机器狗开源代码仿真环境搭建以及问题报错汇总_第18张图片

你可能感兴趣的:(四足机器人,ubuntu,linux,开源)