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博客
安装前准备:
如果已完成安装且磁盘的大小设置为20GB,很可能后续编译Cheetah代码时出现问题。不过不用担心,我们也出现了这样的问题,在后面编译时会给出解决办法。
2.需要配置网络环境,但是没有办法给教程。
正式安装过程:
主要分为四大部分:完成Qt、Lcm与Eigen库的安装及Cheetah代码的编译四部分。(具体Cheetah代码与论文的简介可以参考知乎中MIT Cheetah 完整开源代码与论文简介 - 知乎 (zhihu.com)的介绍)。
在Ubuntu终端中输入如下代码,进行更新。
sudo apt update
sudo apt upgrade
**小tips:ubuntu中的复制和粘贴为ctrl+shift+c/v
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
链接:https://pan.baidu.com/s/1p3-hBYNUcVbnMrUCQLJvRQ
提取码:kj6x
将下载好的文件直接拉拽到Ubuntu的主目录下。
(这里有可能拖拽不成功,如果不成功可以重启试试;如果还不行就在csdn搜索:windows系统和虚拟机开启共享文件夹,按照教程设置共享文件夹,那么在Windows上的文件也可以被虚拟机所使用。)
在终端运行下述命令完成下载。
sudo chmod -R 755 qt-opensource-linux-x64-5.10.0.run
./qt-opensource-linux-x64-5.10.0.run
看到下图所示界面时,需要Qt账号,需要注册一个,注意密码的要求。(然后你需要验证,验证的过程按照他要求的填,看不懂的话就翻译一下,第一次没看明白就填,也不知道是哪里填错了导致注册不成功,这里我们重新下载了三次。)
看到下面这个界面,记得把Qt5.10.0勾选上。
安装完成后去掉这个勾勾。
sudo apt-get update
sudo apt-get install git
**从此步骤开始一定要保证挂载成功,要不然会出现 拒绝连接 的情况。基本上所有github的网站打开都要保证的连接,否则就只能看命(网络不稳定嘛)。
git clone https://github.com/lcm-proj/lcm.git
cd lcm
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig
完成安装
使用如下命令完成安装。
sudo apt-get install libeigen3-dev
git clone https://github.com/mit-biomimetics/Cheetah-Software.git
cd Cheetah-Software
cd scripts
./make_types.sh
cd ..
mkdir build
cd build
记住主目录下Qt文件夹的名字。
在/Cheetah-software/scripts/find_qt_path.sh中将文本中的两处Qt更改成Qt5.10.0(自己文件夹的名字)如下所示,然后保存退出。
sudo cp -r /usr/include/eigen3 /usr/local/include/eigen3
cd build
cmake ..
make -j4
**在进行cmake ..步骤时挂载一定要正常,此步骤和谷歌有关,需要爬梯子才能成功。
**若在执行cmake命令遇到报错,打开Cheetah-Software文件下的common文件夹下的CmakeLists.txt文件,修改master为main,保存后退出,重新执行cmake。
**编译这里很离谱,会碰到蛮多的问题,请保持耐心和零散的时间(怕长时间做这个编译不出来人会崩溃)。
可能每个人碰到的问题会不一样,因此这边只能给出我们所碰到的问题汇总以及相应的解决方法,可以按需使用。
一、报错:C++: fatal error: Killed signal terminated program cc1plus
解决方法:
步骤如下:
# 创建分区路径
sudo mkdir -p /var/cache/swap/
# 设置分区的大小
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=64M count=128
出现如下界面:
(bs=64M是块大小,count=128是块数量,所以swap空间大小是bs*count=8192MB=8GB。)
# 设置该目录权限
sudo chmod 0600 /var/cache/swap/swap0
# 创建SWAP文件
sudo mkswap /var/cache/swap/swap0
出现如下界面:
# 激活SWAP文件
sudo swapon /var/cache/swap/swap0
# 查看SWAP信息是否正确
sudo swapon -s
正确的话图像如下:
增加 VM虚拟机硬盘容量_磁盘已成功扩展 ,你必须从客户机操作系统_o王o的博客-CSDN博客
二、报错:Built target test-common(这个是文件名,会不一样的) make: *** [Makefile:130:all] 错误 2
解决方法:
我们也没有找到这类错误发生的原因,目前有我们有两个解决方法,第一个是认为他的错误是由于其他错误所引起的,因此我们先解决其他错误。如果报错仅仅只有这一个错误,那么不管他,重新来一次make -j4,看看问题会不会改变(如果改变了就解决改变后的问题),如果没改变,重启虚拟机重新编译,看看会不会改变。
解决方法:
在/usr/include文件里建立一个空的stropts.h文件(终端输入touch stropts.h命令)(你可能会找不到usr文件,先搜索user,然后你会看见其中一个user是在一个usr文件夹里面的,从而找到usr。)
如果解决不了这个问题,你就得往里面加入内容了,参考:curl库移植时出现:fatal error: stropts.h: 没有那个文件或目录_追梦-北极星的博客-CSDN博客
解决方法:
输入如下命令
./sim/sim
打开如下界面
出现如下界面:
此时机器狗还没有四肢。
输入以下命令
具体看自己user文件下的MIT_Controll文件的名字我的名字为MIT_Controller,否则报错找不到文件。
此时四肢显现出来。