当前位置: 首页 > news >正文

多机编队—(1)ubuntu 配置Fast_Planner

文章目录

  • 前言
  • 一、Could not find package ...
  • 二、使用error: no match for ‘operator=’...
  • 总结


前言

最近想要做有轨迹引导的多机器人编队,打算采用分布式的编队架构,实时的给每个机器人规划出目标位置,然后通过Fast_Planner生成避障路径,再通过改进的mpc进行跟踪。先记录下配置Fast_Planner时遇到的问题。


一、Could not find package …

如果出现这样的报错:
(1)通过:sudo apt-get install ros-melodic-提示缺少的包的名字进行安装。
(2)如果上面的方法不管用,需要根据提示解决:
例如:CMake Error at /opt/ros/melodic/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
Could not find a package configuration file provided by “NLopt”
with any of the following names:

NLoptConfig.cmake
nlopt-config.cmake

在这里插入图片描述
通过与github Fast_Planner原功能包进行对比,发现在(fast_planner/baspline_opt/CMakeList.txt)目录下
我的:/CMakeList.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 COMPONENTSroscpprospystd_msgsvisualization_msgscv_bridgeplan_env
)catkin_package(INCLUDE_DIRS includeLIBRARIES bspline_optCATKIN_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})  

github Fast_Planner /CMakeList.txt

cmake_minimum_required(VERSION 2.8.3)
project(bspline_opt)find_package(Eigen3 REQUIRED)
find_package(PCL 1.7 REQUIRED)find_package(catkin REQUIRED COMPONENTSroscpprospystd_msgsvisualization_msgscv_bridgenloptplan_env
)catkin_package(INCLUDE_DIRS includeLIBRARIES bspline_optCATKIN_DEPENDS plan_env
#  DEPENDS system_lib
)include_directories( SYSTEM include ${catkin_INCLUDE_DIRS}${Eigen3_INCLUDE_DIRS} ${PCL_INCLUDE_DIRS}
)set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS} -O3 -Wall")add_library( bspline_opt src/bspline_optimizer.cpp )
target_link_libraries( bspline_opt${catkin_LIBRARIES} )  

即去掉find_package(NLopt REQUIRED)在后面find_package中加上nlopt。其他的根据提示缺什么包装什么即可,如果遇到有的包找不到就去原仓库中找一找。

二、使用error: no match for ‘operator=’…

如果出现这样的报错:

error: no match for ‘operator=’ (operand types are ‘Eigen::internal::enable_if<true, Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double> >::type {aka Eigen::IndexedView<Eigen::Matrix<double, -1, -1>, double, double>}’ and ‘double’)
i * (i - 1) * (i - 2) * j * (j - 1) * (j - 2) * pow(ts, i + j - 5) / (i + j - 5);

根据提示找到:fast_planner/poly_traj/include/poly_traj/polynomial_traj.h
根据提示的行数将for循环的圆括号里的double改为int,注意是两个!
在这里插入图片描述


总结

(未完待续)…


http://www.mrgr.cn/news/21567.html

相关文章:

  • AXI4总线详解
  • Python的math库——常用数学函数全解析
  • USB驱动程序知识介绍
  • 物联网之PWM呼吸灯、脉冲、LEDC
  • Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)
  • 自动化测试面试真题(附答案)
  • 高效传输秘籍,揭秘Rsync和SCP的优劣,助你做出明智选择!
  • Hexo博客构建记录
  • 双雄并肩:Tesla P40 GTX 1650 AI工作站搭建指南
  • [yolov5] --- yolov5入门实战「土堆视频」
  • 前端基础面试题·第三篇——JavaScript(其一)
  • Minio 高性能分布式对象存储快速入手指南
  • SnapGene 5.3.1下载安装教程百度网盘分享链接地址
  • 重卡换电连接器的应用
  • java opencv no opencv_java490 in java.library.path
  • OpenAI澄清:“GPT Next”不是新模型。
  • 【C++】string类的模拟实现
  • 备忘录怎么隐藏起来 适合记录秘密的备忘录推荐
  • 初次使用住宅代理有哪些常见误区?
  • CSS 有什么奇技淫巧