EGO-Planner算法仿真环境搭建
欢迎关注我的B站:https://space.bilibili.com/379384819
欢迎交流学习,vx:18074116692
参考教程:
ZJU-FAST-Lab/自我规划师 (github.com)
1. 查看系统环境
要运行本仿真程序,需要保证当前环境为ubuntu18.04+ros-melodic-desktop-full
查看ubuntu
版本:
rosnoetic@rosnoetic-VirtualBox:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.6 LTS
Release: 18.04
Codename: bionic
可知,当前ubuntu
版本满足18.04
查看ros
版本:
rosnoetic@rosnoetic-VirtualBox:~$ rosversion -d
melodic
可知,当前ros
版本满足melodic
2. 环境部署
2.1 Armadillo下载
Armadillo
的官网链接如下所示:
执行如下指令安装Armadillo
,程序中的uav_simulator
需要Armadillo
rosnoetic@rosnoetic-VirtualBox:~$ sudo apt-get install libarmadillo-dev
2.2 EGO源码下载
执行如下指令下载EGO源码
rosnoetic@rosnoetic-VirtualBox:~$ git clone https://github.com/ZJU-FAST-Lab/ego-planner.git
下载好后即可在主目录
下看到如下文件:
2.3 编译
ctrl+allt+T
打开终端,执行如下指令进行编译
rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner/
rosnoetic@rosnoetic-VirtualBox:~/ego-planner$ catkin_make
-
编译过程
3. 运行
ctrl+alt+T
打开一个新的终端,输入如下指令,打开rviz
可视化和交互
rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner/
rosnoetic@rosnoetic-VirtualBox:~/ego-planner$ source ./devel/setup.bash
rosnoetic@rosnoetic-VirtualBox:~/ego-planner$ roslaunch ego_planner simple_run.launch
-
增加交换空间
首先关闭交换分区
rosnoetic@rosnoetic-VirtualBox:~$ sudo swapoff /swapfile
接着创建分区,
4 * 1024 = 4096
创建4 G
的内存分区rosnoetic@rosnoetic-VirtualBox:~$ sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
继续执行如下指令:
rosnoetic@rosnoetic-VirtualBox:~$ sudo mkswap /swapfile rosnoetic@rosnoetic-VirtualBox:~$ sudo swapon /swapfile
创建完交换分区之后就可以继续编译。
也可以查看分区的大小
rosnoetic@rosnoetic-VirtualBox:~$ free -m
编译若是还不成功,试着创建更大的分区。
如果编译使用完成后,可以关闭内存。
rosnoetic@rosnoetic-VirtualBox:~$ sudo swapoff /swapfile rosnoetic@rosnoetic-VirtualBox:~$ sudo rm /swapfile
4. 使用IDE
为了便于后续代码的查阅,我们配置IDE以自动完成代码跳转。
(1)在vscode
安装C++
和CMake扩展
(2)ctrl+alt+T
打开终端,执行如下指令重新编译
代码:
rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner/
rosnoetic@rosnoetic-VirtualBox:~/ego-planner$ catkin_make -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMMANDS=Yes
-
重新编译过程
它将导出一个编译命令文件,该文件可以帮助 vscode
确定代码架构。
(3)启动 vscode
并选择要打开的 ego-planner
文件夹。
rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner/
rosnoetic@rosnoetic-VirtualBox:~/ego-planner$ code .
在 vscode
中按 Ctrl+Shift+B
编译代码。此命令在 .vscode/tasks.json
中定义。 您可以在“args
”后面添加自定义参数。默认值为“-DCMAKE_BUILD_TYPE=Release”
。
(4)关闭并重新启动vscode
,你会看到vscode
已经理解了代码架构,可以执行自动补全和跳转。