RACER:分布式多无人机地图探索 Ubuntu20.04代码环境配置分享
文章主要解决问题:
本文为笔者在Ubuntu20.04上配置RACER开源代码的流程记录,其中遇到的一些bug error记录一下,以供后续使用该代码的朋友们参考。
备注:其中用的Eigen3 ROS-noetic需要的前提库,大家自行安装。
下载方式:
//下载地址
https://github.com/SYSU-STAR/RACER
通过git clone下载不出来的可以直接去这个网站下,再把下载的文件(3个bag)放在你要的工作空间内。
下发是git clone 下载以及建立工作空间的代码:
mkdir -p ws_name/src
cd ws_name/src
catkin_init_workspace
git clone https://github.com/SYSU-STAR/RACER.git
cd ..
catkin_make
这里编译一定是会出错的,如果你没出错,那就可以直接启动使用啦,本文对你的参考价值就没有啦。
如何编译:
上方的编译出错主要有如下原因:
需要加入库文件:
sudo apt-get install libarmadillo-dev libelf-dev libdw-dev
以及非线性优化库nlopt,这里见我的另一篇关于fastplanner解决nlopt缺失问题的文章。Nlopt缺失问题解决
https://blog.csdn.net/weixin_65657501/article/details/134938329其次,需要在下作者(论文)的相关配置文件:
wget http://akira.ruc.dk/~keld/research/LKH-3/LKH-3.0.6.tgz
tar xvfz LKH-3.0.6.tgz
cd LKH-3.0.6
make
sudo cp LKH /usr/local/bin
这里弄完之后,查看一下/usr/local/bin里有没有LKH。
到这里这个bag的不常见依赖文件就都有啦。其余报错的缺少库可以自行安装,或者在评论下提问,笔者会常来CSDN看的。
由于20.04版本不在适合直接用apt-get install ros-noetic-nlopt,需要自行下载 nlopt 库。并要
将bspline_opt的CMakeLists修改,使得bspline_opt不在去调用ros-noetic-nlopt,代码附上如下
cmake_minimum_required(VERSION 2.8.3)
project(bspline_opt)
set(CMAKE_CXX_STANDARD 14)
find_package(NLopt REQUIRED)
set(NLopt_INCLUDE_DIRS ${NLOPT_INCLUDE_DIR})
set(CMAKE_BUILD_TYPE "Release")
set(CMAKE_CXX_FLAGS "-std=c++11")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -Wall")
find_package(Eigen3 REQUIRED)
find_package(PCL 1.7 REQUIRED)
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
visualization_msgs
active_perception
cv_bridge
plan_env
)
catkin_package(
INCLUDE_DIRS include
LIBRARIES bspline_opt
CATKIN_DEPENDS plan_env active_perception
# DEPENDS system_lib
)
include_directories(
SYSTEM
include
${catkin_INCLUDE_DIRS}
${Eigen3_INCLUDE_DIRS}
${PCL_INCLUDE_DIRS}
${NLOPT_INCLUDE_DIR}
)
add_library( bspline_opt
src/bspline_optimizer.cpp
)
target_link_libraries( bspline_opt
${catkin_LIBRARIES}
${NLOPT_LIBRARIES}
# /usr/local/lib/libnlopt.so
)
随后编译会遇到这是catkin_make会遇到PCL报错,因为20.04需要用到c++14,在涉及报错的bag中的CMakeLists文件中加入
set(CMAKE_CXX_STANDARD 14)
这里需要对所有bag里的都加入一遍,你可以根据自己的报错再去找位置加、
解决完以上问题就可以编译啦,我这里遇到了找不到plan_env.h的问题,因此我采用先编译这个库文件的方式:
catkin_make -DCATKIN_WHITELIST_PACKAGES="plan_env"
catkin_make -DCATKIN_WHITELIST_PACKAGES=""
这样就可以得到如下编译成功的结果啦,嘎嘎嘎。

实在还报错的评论交流吧,也可以联系我三连要配置好的code。
初步使用:
完成编译之后就可以开始它的第一个demo啦。
分别启动rviz和探索程序。
source devel/setup.bash && roslaunch exploration_manager rviz.launch
source devel/setup.bash && roslaunch exploration_manager swarm_exploration.launch
然后,在rviz里给一个2D goal用来触发程序。可以看到四个无人机开始探索地图啦。
证明你的代码配置环境成功啦。不过终端会报很多error warn这应该是代码里自己写的提醒,不算真正的错误,不会影响代码的运行。后续我继续研究这个程序的话,就继续更新分享。有需要的朋友可以评论私信。

先赞后看养成习惯哦!!!嘎嘎噶!!!来个阿尼亚!!!

更多推荐
所有评论(0)