新手从0到1搭建Ubuntu20.04,ROS-neotic安装,OCS2——涵盖各种常见坑,hunter

一、虚拟机搭建

从网上下载16版本的VMware-workstation-full-16.2.3-win10.win11,这里提供我的版本
链接: https://pan.baidu.com/s/1uACEk--ao_YVIzXhTNRVJg 提取码: 1234

二、ubuntu20.04搭建

下载链接:Ubuntu 20.04.6 LTS (Focal Fossa)

安装视频:八分钟完成VMware和ubuntu系统安装_哔哩哔哩_bilibili

虚拟机最好设置硬盘大点,至少100GB,内存12GB以上,不然后续安装OCS2容易编译失败

一些常见问题:

主机有vpn,虚拟机没有:VMware Ubuntu虚拟机 使用主机VPN 配置(简单、可行)-CSDN博客

ubuntu分辨率不能自适应:要么设置分辨率,要么重新下载vmtools,我是两种都试了,vmtools下载后只能恢复一下子,重新开机就不行了,所以结合分辨率方法,当vmtools重新下载好后,分辨率会留下历史痕迹,直接设置固定分辨率就行。

vmtools重新下载参考链接:vmware14Pro中ubuntu系统界面太小的问题解决_ubuntu虚拟机界面小-CSDN博客

ubuntu与主机之间不能进行复制粘贴:要进行open-vm-tools下载

sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop

如果遇到上面这个下载问题,先运行下面代码,再重新下载

sudo apt-get update

下载成功后,重启就可以复制粘贴了。(注意:Ubuntu中的复制粘贴是ctrl+shift+c, ctrl+shift+v)

三、ros-neotic

亲测有效的流程,全程ctrl+C就行:ROS环境搭建 – 阿波的博客

若有小白看不懂在哪复制,可以搭配视频看,操作是一模一样的:机器人操作系统ROS的安装心得以及rosdep问题的处理_哔哩哔哩_bilibili

四、ocs2安装流程(注意:先装ROS,再装ocs2)

这里的坑太多了,自己目前找的博主给的都有些问题,所以这里会有比较详细的过程。

安装步骤就是:下载库的依赖,下载ocs2的文件,最后编译。

别看很简单的过程,硬是花了我4,5天的时间,问题就出现最后编译,总是容易失败。

编译失败问题总结:库的安装依赖不全,ocs2文件都是github 克隆复制下来的,需要翻墙也容易失败,并且哪怕有翻墙了,因为hpp和pin两个文件都是有子文件夹,子文件夹下也是调用别的网站的下载链接,所以容易clone过程文件缺少,而且根本看不出来,但最后编译就是会失败,实测只能编译11~14个文件就会报错,所以为了粉丝方便,我把自己成功下载好的文件放在百度网盘
链接: https://pan.baidu.com/s/1BItr5AuoYx4sMESTJUIgwQ 提取码: 1234,只需要windows下载压缩包,然后拖到ubuntu对应位置解压即可,ubuntu解压就是提取,接下来就是具体的安装过程。

①创建ocs2工作空间与下载ocs2文件

打开命令行:在桌面右键即可看到终端

然后输入:

mkdir -p ~/ocs2_ws

然后再主目录下会看到一个ocs2_ws文件,打开它,将windows下载好的压缩包托在里面,进行解压,注意src里面还有压缩包,要把hpp和pin也解压了。

注意,build,devel,logs都是后续编译才出现的文件,解压后没有是正常的。

②安装相关ocs2文件、依赖库与进行部分编译(一行一行复制,成功后再继续,确保库装成功)

首先进入src文件,在src文件里打开终端,接着输入下面指令。

Eigen (v3.3)

sudo apt-get update
sudo apt-get install libeigen3-dev

继续下载其他ocs2文件

 git clone https://github.com/leggedrobotics/ocs2_robotic_assets.git
 git clone --depth 1 https://github.com/raisimTech/raisimLib.git -b v1.1.01
 git clone https://github.com/leggedrobotics/elevation_mapping_cupy.git
 git clone https://github.com/ANYbotics/grid_map.git
 git clone https://github.com/leggedrobotics/ocs2.git

Boost C++ (v1.71)

进入src文件,将boost文件解压后,继续在src文件下进入终端,进行boost文件安装

cd boost_1_71_0
./bootstrap.sh
sudo ./b2 install

安装剩余依赖

sudo apt install ros-noetic-catkin
sudo apt install libglpk-dev libglfw3-dev
sudo apt install ros-noetic-pybind11-catkin
sudo apt install python3-catkin-tools
sudo apt install doxygen doxygen-latex
sudo apt install liburdfdom-dev liboctomap-dev libassimp-dev
sudo apt-get install ros-noetic-rqt-multiplot
sudo apt install ros-noetic-grid-map-msgs
sudo apt install ros-noetic-octomap-msgs
sudo apt install libreadline-dev
sudo apt install libcgal-dev
sudo apt update && sudo apt install checkinstall

编译安装Raisim

cd ~/ocs2_ws/src/raisimLib
mkdir build
cd build
cmake .. -DRAISIM_EXAMPLE=ON -DRAISIM_PY=ON -DPYTHON_EXECUTABLE=$(python3 -c "import sys; print(sys.executable)")
make -j4 && sudo checkinstall

后续onnxruntime的安装配置

cd /tmp
wget https://github.com/microsoft/onnxruntime/releases/download/v1.7.0/onnxruntime-linux-x64-1.7.0.tgz
tar xf onnxruntime-linux-x64-1.7.0.tgz
mkdir -p ~/.local/bin ~/.local/include/onnxruntime ~/.local/lib ~/.local/share/cmake/onnxruntime
rsync -a /tmp/onnxruntime-linux-x64-1.7.0/include/ ~/.local/include/onnxruntime
rsync -a /tmp/onnxruntime-linux-x64-1.7.0/lib/ ~/.local/lib
rsync -a ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ ~/.local/share/cmake/onnxruntime
mkdir -p ~/.local/share/onnxruntime/cmake/
rsync -a ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/misc/onnxruntime/cmake/ ~/.local/share/onnxruntime/cmake/

这个包的虽然很容易安装,但后续安装ocs2时,容易找不到该软件包,在.bash可以手动设置如下环境变量:

 export onnxruntime_DIR=~/.local/
 export LD_LIBRARY_PATH=/home/lgf/.local/lib:${LD_LIBRARY_PATH}

配置MPC-Net(很重要,这个包不能失败,因为这个包会因为网络问题会容易失败,失败了就继续下直到全部下载好,大概3~4次就可以成功,每次下载都会继承前面已经下载好的,所以会越来越快)

cd ~
sudo apt-get install python3-venv
mkdir venvs && cd venvs
python3 -m venv mpcnet
source ~/venvs/mpcnet/bin/activate
python3 -m pip install -r ~/ocs2_ws/src/ocs2/ocs2_mpcnet/ocs2_mpcnet_core/requirements.txt
pip3 install torch==1.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html

编译elevation_mapping_cupy

cd ~/ocs2_ws/
catkin init
catkin build elevation_mapping_cupy

编译成功会显示下图

③进行最后编译:

cd ~/ocs2_ws
catkin init
catkin config --extend /opt/ros/noetic
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin build ocs2

若成功会出现下面这个图

若失败了,查看失败问题,是文件问题,还是库的依赖没装好,或者时虚拟运行内存不够,实践下来就是这几个问题比较常见。如果看不出什么问题,则再次编译,有时候一些莫名失败再次编译就会好,除非编译两次都是同个问题,编译数量一直是那么几个,那就得看看原因了。

实测下来,hpp和pin文件有问题时,编译11~14个就有问题,库的安装不全,44个时就会有问题,虚拟内存不足时会爆C++ : fatal error: Killed signal terminated program cc1plus,在54左右,实测扩到12g就可以了(笔者电脑只有16g运行内存)。

失败要进行重新编译:

cd ~/ocs2_ws
catkin clean #然后输入y
catkin init  #再次编译elevation_mapping_cupy
catkin build elevation_mapping_cupy
catkin init  #再次安装ocs2
catkin config --extend /opt/ros/noetic
catkin config -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin build ocs2

编译成功后修改.bashrc文件,添加

source  ~/ocs2_ws/devel/setup.bash

至此OCS2安装成功。

五、安装hunter

 cd ~/ocs2_ws/src
 git clone https://github.com/bridgedp/hunter_bipedal_control.git
 cd ~/ocs2_ws
 catkin init
 catkin config --no-install -DCMAKE_BUILD_TYPE=RelWithDebInfo

编译

catkin build legged_controllers legged_hunter_description legged_gazebo

安装完成后开启环境,该环境可以写入~/.bashrc

source ~/ocs2_ws/devel/setup.bash

然后就可以执行如下命令开始模拟了,如果执行后报错,重新执行一遍

roslaunch legged_controllers one_start_gazebo.launch

参考文章:

0-1双足机器人仿真环境搭建记录_ocs2双足机器人-CSDN博客

https://zhuanlan.zhihu.com/p/689199154

Ubuntu20.04:OCS2安装-CSDN博客

https://zhuanlan.zhihu.com/p/682704448

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值