Fast-Planner [fast_planner_node-1]process has died 错误解决

文章讲述了在使用FastPlanner开源包时遇到的编译错误,原因是nlopt库与代码其他库冲突。作者提供了通过源代码安装nlopt并修改CMakeLists.txt的解决方案,成功解决了编译问题并实现无人机路径规划。
摘要由CSDN通过智能技术生成

项目场景

高飞的FastPlanner开源包,在编译成功后运行出现 [fast_planner_node-1]process has died...的错误。


问题描述

出现以下报错。

[fast_planner_node-1] process has died [pid 32631, exit code -11, cmd /home/rechard/demo06_ws/devel/lib/plan_manage/fast_planner_node /odom_world:=/state_ukf/odom /sdf_map/odom:=/state_ukf/odom /sdf_map/cloud:=/pcl_render_node/cloud /sdf_map/pose:=/pcl_render_node/camera_pose /sdf_map/depth:=/pcl_render_node/depth __name:=fast_planner_node __log:=/home/rechard/.ros/log/fc1b2026-7e98-11ed-aab1-ef1864111d04/fast_planner_node-1.log]. log file: /home/rechard/.ros/log/fc1b2026-7e98-11ed-aab1-ef1864111d04/fast_planner_node-1*.log


原因分析

这里我的Ubuntu为20.04,在下载nlopt时直接采用了sudo apt install ros-noetic-nlopt的方式。但是据尝试发现,目前的nlopt通过这种方式下载,会与代码其他库产生冲突。


解决方案:

因此修改为下载nlopt源代码编译库文件。

可以通过以下代码下载。

git clone https://github.com/stevengj/nlopt.git//非线性优化库安装
cd nlopt
mkdir build && cd build
cmake ..
make
sudo make install

虚拟机直接clone github有点慢,可以在本地上下载后,复制过去。

Fast Planner中bspline_opt中的CMakeLists.txt要寻找ros-noetic-nlopt,所以需要修改一下bspline_opt中的CMakeLists.txt,找到用源码安装的nlopt,修改后的CMakeLists.txt文件如下所示。

cmake_minimum_required(VERSION 2.8.3)
project(bspline_opt)
find_package(NLopt REQUIRED)
set(NLopt_INCLUDE_DIRS ${NLOPT_INCLUDE_DIR})
 
find_package(Eigen3 REQUIRED)
find_package(PCL 1.7 REQUIRED)
 
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
visualization_msgs
cv_bridge
plan_env
)
 
catkin_package(
INCLUDE_DIRS include
LIBRARIES bspline_opt
CATKIN_DEPENDS plan_env
#  DEPENDS system_lib
)
 
include_directories( 
SYSTEM 
include 
${catkin_INCLUDE_DIRS}
${Eigen3_INCLUDE_DIRS} 
${PCL_INCLUDE_DIRS}
${NLOPT_INCLUDE_DIR}
)
 
set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS} -O3 -Wall")
 
add_library( bspline_opt 
src/bspline_optimizer.cpp 
)
target_link_libraries( bspline_opt
${catkin_LIBRARIES} 
${NLOPT_LIBRARIES}
)  

修改后,编译catkin_make。在运行如下代码。

source devel/setup.bash
roslaunch plan_manage rviz.launch
roslaunch plan_manage kino_replan.launch

给定无人机运动目标,发现无人机开始规划路径,并飞了过去。不再报错。

参考:

https://blog.csdn.net/weixin_43793717/article/details/131072185

  • 7
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

筱夯66

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值