MIT Cheetah开源代码仿真环境搭建

MIT Cheetah开源代码仿真环境搭建

参考文章:长乐未央https://zhuanlan.zhihu.com/p/537013183

背景介绍:

电脑系统:Ubuntu18.04
ROS版本: ROS Melodic

一、安装依赖项

首先更新一下

sudo apt update
sudo apt upgrade

安装依赖项

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

首先是QT5.14.2,下载地址友情链接:QT5.14.2

下载完成后选中下载的QT5文件,右键点击属性,点击权限,勾选允许作为程序执行文件,如下图所示:
MIT Cheetah开源代码仿真环境搭建_第1张图片

然后在该文件夹右键打开终端,在终端输入以下命令打开QT5安装界面(注意,下面命令中qt-opensource-linux-x64-5.14.2.run应当为你实际下载的QT5文件名):

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

我们会看到如下图所示界面,点击next即可:
MIT Cheetah开源代码仿真环境搭建_第2张图片

接下来会看到下图所示界面,需要我们输入QT账号,没有的话就去官网注册一个,输入号账号后点击next。
MIT Cheetah开源代码仿真环境搭建_第3张图片

下一步中勾选 I have read and approve the obligations of using Open Source QT前的方框,然后点击下一步。

在点击下一步

接下来我们来到了选择QT安装目录界面,可更改安装路径

接下来选择安装的QT组件,如下图所示,点击全选,然后点击下一步。

MIT Cheetah开源代码仿真环境搭建_第4张图片

下一步中勾选I have read and agree to the terms contained in the license agreements.前的圆框,然后点击下一步

接下来点击安装即可开始安装。

如下图所示,安装完成后,去掉Launch QT Creator前的勾勾,然后点击完成即可,至此,QT5安装完成。
MIT Cheetah开源代码仿真环境搭建_第5张图片

三、安装LCM

首先是下载LCM安装包,下载链接:lcm-1.4.0
作者是在windows下载好拷过去的
蓝奏云链接:lcm-1.4.0

在此先将下载的压缩包复制到home下,然后右键文件夹打开终端,输入

sudo gunzip 文件名

再在home文件夹下创建lcm-1.4.0-build文件
点击lcm-1.4.0-build文件夹右键打开终端
输入

mkdir build 
cd build 
cmake ..lcm-1.4.0
make 
sudo make install 
sudo ldconfig

这里也可以用其他方式安装好。
注:作者sudo ldconfig时报错:不是符号连接
详情见:sudo ldconfig时报错:不是符号连接
解决方式:打开依赖包文件夹 cd /usr/lib
会发现有重复的包,有了so.0后面还会出现多余的so.1之类的就是多余的包,参考报错的目录文件
MIT Cheetah开源代码仿真环境搭建_第6张图片

删除就OK
rm+文件名

四、安装Eigen3.3.6

只能使用3.3.6版本的eigen
Eigen3.3.6下载链接:Eigen3.3.6

下载完成后安装,安装方式跟lcm安装一致,这里不再做介绍

五、下载和编译MIT Cheetah源码

首先下载MIT Cheetah的源码,github下载链接:MIT Cheetah的源码

蓝奏云链接:MIT Cheetah的源码

下载完成后打开压缩包所在文件夹,然后解压,进入解压后的文件夹Cheetah-Software-master,我们记此文件夹为MIT主文件夹(后面用到,记住),文件夹内容如下图所示:

MIT Cheetah开源代码仿真环境搭建_第7张图片

下面进行两项修改
1):打开mit主文件夹下的common文件夹下的CMakeLists.txt文件,修改下图圈圈中的master为main。
MIT Cheetah开源代码仿真环境搭建_第8张图片

修改后保存退出。

2):打开mit主文件夹下的sim文件夹下的CMakeLists.txt文件,打开后如下图所示,在圈圈中添加有关内容。
MIT Cheetah开源代码仿真环境搭建_第9张图片

添加内容如下图和代码框所示,下图中选中内容为需要删除内容。

#以下内容切勿复制粘贴!!!
set(CMAKE_PREFIX_PATH /home/xiao/Qt5.14.2/5.14.2/gcc_64)
set(QT5Core_DIR/home/xiao/Qt5.14.2/5.14.2/gcc_64/lib/cmake/QT5Core)
set(QT5Widgets_DIR/home/xiao/Qt5.14.2/5.14.2/gcc_64/lib/cmake/QT5Widgets) set(QT5Gamepad_DIR/home/xiao/Qt5.14.2/5.14.2/gcc_64/lib/cmake/QT5Gamepad)

#删除上图选中的内容,即删除SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH_1})

解释一下添加的内容,其中/home/xiao/为之前让记录的QT安装路径,5.14.2为QT安装路径下的文件夹,读者在此路径下应当可以找到这个5.14.2文件夹(然后输入pwd查看安装路径),读者应当根据实际安装路径进行修改,切勿复制粘贴。
最后记得保存退出。

到此处两项修改完成,下面进行代码编译。
首先进入到mit主文件夹(前文说过)下的scripts文件夹,在空白处右键在终端打开,复制下方命令执行。

./make_types.sh

此处会提示一些错误,类似无法删除,没有那个文件或目录之类的,无视就行。
再次进入到mit主文件夹,在空白处右键在终端打开,复制下方命令执行(建议一条一条地执行)。

mkdir build
cd build
cmake .. 
make -j4

提示:在执行cmake …命令时,可能会卡在某个步骤
这个步骤跟谷歌有关,如果没有梯子的话,那就只能随缘了,作者时两天后意外编译成功了
最后的make -j4是指利用双核心进行编译,如果你的电脑不支持,可以用make指令替代make -j4,只不过编译速度会变慢。

六、仿真的使用

在编译完成后,我们进入到mit主文件夹下的build文件夹下的config文件夹,打开mini-cheetah-defaults.yaml文件,修改control_mode和cheater_mode为1,修改use_rc为0,修改后如下图所示,最后保存并退出。
MIT Cheetah开源代码仿真环境搭建_第10张图片

后面才是仿真的使用

接下来打开机器人仿真,在这之前,需要用游戏手柄连接电脑,没有就算了,接好之后,我们进入到mit主文件夹下的build文件夹下(有时直接进到sim里会打不开仿真,因此不要再进入sim文件夹了),在空白处右键在终端打开,复制下方命令执行。

./sim/sim

此时我们会见到下图所示的界面,该界面为机器人仿真控制界面:
MIT Cheetah开源代码仿真环境搭建_第11张图片

先点击Mini Cheetah和Simulator,然后点击Start,将会出现下图所示界面,该界面为机器人仿真界面:
MIT Cheetah开源代码仿真环境搭建_第12张图片

接下来打开机器人控制器,此时我们再次进入mit主文件夹下的build文件夹下的user文件夹下的MIT_Controller文件夹,在空白处右键在终端打开,复制下方命令执行。

./mit_ctrl m s

上面代码中,mit_ctrl为编译得到的可执行文件,m的含义为mini cheetah模型,s的含义为simulate,即仿真。
MIT Cheetah开源代码仿真环境搭建_第13张图片

此时,在仿真中应当可以看到机器人站起来,我们再次切换到下图的界面,同时修改圈圈中的**control_mode值为4,**此时应当可以看到仿真中的机器人切换到了trot步态。
MIT Cheetah开源代码仿真环境搭建_第14张图片

此时可以控制机器人运动,通过游戏手柄的摇杆可以进行机器人的运动速度的控制,请读者自行探索。这里介绍一下后空翻怎么操作:首先修改上图的仿真控制界面的圈圈中的control_mode值为3,可以观察到机器人原地站立,这时我们再修改control_mode值为9,可以观察到仿真中机器人将会进行后空翻,待完成后空翻后再次修改control_mode值为3,然后再修改control_mode值为9就可以再进行后空翻。
MIT Cheetah开源代码仿真环境搭建_第15张图片

control_mode值为8时时前进后退
MIT Cheetah开源代码仿真环境搭建_第16张图片

如果在操作过程中机器人倒下了,可以点击上图仿真控制界面的Go Home按钮恢复原位,若无法恢复,则需要重新打开仿真和控制器。

至此,仿真环境搭建完成,谢谢阅读!

你可能感兴趣的:(ubuntu,linux)