当前位置:   article > 正文

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

fastplanner编译

项目场景

高飞的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源代码编译库文件。

可以通过以下代码下载。

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

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

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

  1. cmake_minimum_required(VERSION 2.8.3)
  2. project(bspline_opt)
  3. find_package(NLopt REQUIRED)
  4. set(NLopt_INCLUDE_DIRS ${NLOPT_INCLUDE_DIR})
  5. find_package(Eigen3 REQUIRED)
  6. find_package(PCL 1.7 REQUIRED)
  7. find_package(catkin REQUIRED COMPONENTS
  8. roscpp
  9. rospy
  10. std_msgs
  11. visualization_msgs
  12. cv_bridge
  13. plan_env
  14. )
  15. catkin_package(
  16. INCLUDE_DIRS include
  17. LIBRARIES bspline_opt
  18. CATKIN_DEPENDS plan_env
  19. # DEPENDS system_lib
  20. )
  21. include_directories(
  22. SYSTEM
  23. include
  24. ${catkin_INCLUDE_DIRS}
  25. ${Eigen3_INCLUDE_DIRS}
  26. ${PCL_INCLUDE_DIRS}
  27. ${NLOPT_INCLUDE_DIR}
  28. )
  29. set(CMAKE_CXX_FLAGS "-std=c++14 ${CMAKE_CXX_FLAGS} -O3 -Wall")
  30. add_library( bspline_opt
  31. src/bspline_optimizer.cpp
  32. )
  33. target_link_libraries( bspline_opt
  34. ${catkin_LIBRARIES}
  35. ${NLOPT_LIBRARIES}
  36. )

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

  1. source devel/setup.bash
  2. roslaunch plan_manage rviz.launch
  3. roslaunch plan_manage kino_replan.launch

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

参考:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/542870
推荐阅读
相关标签
  

闽ICP备14008679号