EGO-Swarm 仿真环境搭建

EGO-Swarm仿真环境搭建

参考教程:

https://github.com/ZJU-FAST-Lab/ego-planner-swarm

EGO-Swarm是一种分散的异步系统解决方案,用于仅使用机载资源在未知的障碍物丰富的场景中进行多机器人自主导航。

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的官网链接如下所示:

http://arma.sourceforge.net/

执行如下指令安装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-swarm.git

下载好后即可在主目录下看到如下文件:

2.3 编译

multi_map_server文件夹下的4.h头文件拖拽到虚拟机的

/home/rosnoetic/ego-planner-swarm/src/uav_simulator/Utils/multi_map_server/include/multi_map_server目录下

ctrl+allt+T打开终端,执行如下指令进行编译

rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner-swarm/

rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ catkin_make -DCMAKE_BUILD_TYPE=Release -j1

  • 如果出现错误:fatal error: multi_map_server/MultiOccupancyGrid.h: 没有那个文件或目录

    参考教程:

    multi_map_server/MultiOccupancyGrid.h:没有那个文件或目录_fatal error: multi_map_server/multioccupancygrid.h-CSDN博客

    出现该错误的原因还是因为缺少了MultiOccupancyGrid.h的头文件,与之前的添加MultiOccupancyGrid.h方式不同,此时我们需要直接添加在编译后的/home/rosnoetic/ego-planner-swarm/devel/include/multi_map_server文件夹下

    接着重新编译(注意此时不需要删除builddevel文件夹)

    rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ catkin_make -DCMAKE_BUILD_TYPE=Release -j1
    

    就可以发现剩下的内容编译成功

3. 运行

ctrl+alt+T打开一个新的终端,输入如下指令,进行rviz可视化和交互

rosnoetic@rosnoetic-VirtualBox:~$ cd ego-planner-swarm/

rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ source ./devel/setup.bash 

rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ roslaunch ego_planner rviz.launch

可以打开一个rviz界面

ctrl+alt+T再打开一个新的终端,输入如下指令,实现仿真规划

rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ source ./devel/setup.bash 

rosnoetic@rosnoetic-VirtualBox:~/ego-planner-swarm$ roslaunch ego_planner swarm.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
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值