当前位置: 首页 > 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,注意是两个!
在这里插入图片描述


总结

(未完待续)…

相关文章:

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

文章目录 前言一、Could not find package ...二、使用error: no match for ‘operator’...总结 前言 最近想要做有轨迹引导的多机器人编队&#xff0c;打算采用分布式的编队架构&#xff0c;实时的给每个机器人规划出目标位置&#xff0c;然后通过Fast_Planner生成避障路径&…...

【数学建模经验贴】国赛拿到赛题后,该如何选题?

2024“高教社杯”全国大学生数学建模竞赛即将开赛。这可能是很多同学第一次参加国赛&#xff0c;甚至是第一次参加数学建模比赛。 那么赛题的公布也就意味着比赛的开始&#xff0c;也将是我们所要面对的第一个问题——选题。在国赛来临的前夕&#xff0c;C君想和大家聊一聊容易…...

如何快速融入大学课堂

快速融入大学课堂是适应大学生活的重要一步。以下是一些实用的建议&#xff0c;帮助你快速融入大学课堂并取得良好的学习效果。 ### 1. 提前准备 - **课前预习**&#xff1a;在上课前预习课程内容&#xff0c;了解基本概念和知识点&#xff0c;这样在课堂上更容易跟上老师的讲…...

el-table行编辑

需求&#xff1a;单点行编辑并且请求接口更新数据&#xff0c;表格中某几个字段是下拉框取值的&#xff0c;剩下的是文本域&#xff1b;展示的时候 需要区分下拉框编码还是中文 故障模式这个展示的是fault_mode编码,但要显示的文字fault_mode_chn 这点需要注意 <el-tablere…...

OpenSSL Windows编译

目录 1. 源码下载2. vs2022编译 1. 源码下载 源码地址 2. vs2022编译 (1) 将“VS2022安装目录VC\Auxiliary\Build\“设置为PATH环境变量&#xff0c;启动cmd命令行&#xff08;一定要先设置环境变量&#xff09;。 (2)在cmd下进入VS2013安装目录vs2022\VC\Auxiliary\Build&…...

优化LabVIEW中TCP通信速度的方法

在LabVIEW中&#xff0c;TCP通信速度较慢可能由多种因素导致&#xff0c;如数据包处理延迟、阻塞式读取或数据解析效率低等。通过调整读取模式、优化数据处理逻辑、以及使用并行处理结构&#xff0c;可以显著提升TCP通信的速度&#xff0c;使其接近第三方调试工具的表现。LabVI…...

【视频讲解】Python贝叶斯卷积神经网络分类胸部X光图像数据集实例

全文链接&#xff1a;https://tecdat.cn/?p37604 分析师&#xff1a;Yuanchun Niu 在人工智能的诸多领域中&#xff0c;分类技术扮演着核心角色&#xff0c;其应用广泛而深远。无论是在金融风险评估、医疗诊断、安全监控还是日常的交互式服务中&#xff0c;有效的分类算法都是…...

src/pyaudio/device_api.c:9:10: fatal error: portaudio.h: 没有那个文件或目录

(venv) shgbitaishgbitai-C9X299-PGF:~/pythonworkspace/ai-accompany$ pip install pyaudio sounddevice Collecting pyaudioDownloading PyAudio-0.2.14.tar.gz (47 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.1/47.1 kB 644.…...

移动端视频编辑SDK解决方案,AI语音识别添加字幕

对于众多Vlog创作者而言&#xff0c;繁琐的字幕添加过程往往成为提升内容质量的绊脚石。为了彻底改变这一现状&#xff0c;美摄科技凭借其深厚的AI技术积累与创新的移动端视频编辑SDK解决方案&#xff0c;推出了革命性的AI语音识别添加字幕功能&#xff0c;让视频创作更加高效、…...

WIN11 ESP32 IDF + VSCODE 环境搭建[教程向]

前言 目录 前言 安装ESP32-IDF VSCODE插件安装 编译测试 很多时候我们想学习一门新的技能&#xff0c;需要使用全新的开发环境&#xff0c;很多时候我们会在安装环境这个环节卡住很久&#xff0c;这里简单介绍一下ESP32VSCODE环境搭建。 安装ESP32-IDF https://dl.espre…...

Gemini AI 与 ChatGPT:哪个更适合为我策划婚礼?

我在六月订婚后&#xff0c;一心想着婚礼钟声&#xff0c;但在看到这些婚礼场地报价后&#xff0c;更像是警铃声响起。 “叮咚”已经被重新混音成“哗啦啦”——我需要帮助。 我甚至不知道如何 开始 计划婚礼。第一步是什么&#xff1f;我需要优先考虑什么&#xff1f;哪些任…...

log4j 同一线程隔离classloader下MDC信息不同问题解决 ThreadLocal问题分析

最近遇到日志文件记录错误的问题。一个任务的日志信息会被莫名的拆分到两个不同目录中。且有一个目录还是曾经执行过的任务的目录。经过分析&#xff0c;首先怀疑的是MDC没有清理的问题&#xff0c;这也是最直观的问题。因为任务是在线程池(fixedThreadPool)中运行的。由于线程…...

【2024-2025源码+文档+调试讲解】微信小程序的城市公交查询系统

摘 要 当今社会已经步入了科学技术进步和经济社会快速发展的新时期&#xff0c;国际信息和学术交流也不断加强&#xff0c;计算机技术对经济社会发展和人民生活改善的影响也日益突出&#xff0c;人类的生存和思考方式也产生了变化。传统城市公交查询管理采取了人工的管理方法…...

Android14音频进阶之定制ramdisk文件系统init服务(八十三)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…...

Clickhouse 为什么这么快

Clickhouse 的缘起 Clickhouse 最初是为 Yandex.Metrica 这个世界上第二大的Web分析平台开发的&#xff0c;并且一直是这个系统的核心组件。ClickHouse在Yandex.Metrica中的主要任务是使用非聚合数据在在线模式下构建报告&#xff0c;使用374台服务器组成的集群&#xff0c;在…...

后仿真中《建立违例和保持违例》你死板思维了吗?

最近胡乱翻翻一些大佬的博客文章,忽然看到了关于clock skew 的一篇文章,文章的链接贴在这里,供大家查阅。《Clock skew (qq.com)》。那么,这篇文章与今天的主题,由什么关系呢? 是因为,从中看到了关于时序违例的解读。UP主对保持时间和建立时间的解读,是从另一个角度,…...

springboot启动时替换配置参数

SpringBoot启动时配置参数替换 一.背景 SpringBoot项目启动的时候&#xff0c;在不使用配置中心等的前提下或者有公司强制使用指定的“密码箱”情况下&#xff0c;需要远程获取关键配置信息&#xff0c;比如数据库密码&#xff0c;则需要在项目启动前获取配置并且进行本地配置…...

postgres数据库中如何看查询是否走索引,以及在什么情况下走索引

在 PostgreSQL 中,可以通过 EXPLAIN 或 EXPLAIN ANALYZE 查看查询计划,以判断查询是否使用了索引。除此之外,了解索引的使用条件对于优化查询性能也很重要。 1. 如何查看查询是否使用索引 使用 EXPLAIN 查看查询计划 EXPLAIN 显示 PostgreSQL 如何执行查询,包括是否使用索…...

AI预测福彩3D采取888=3策略+和值012路或胆码测试9月7日新模型预测第80弹

经过近80期的测试&#xff0c;当然有很多彩友也一直在观察我每天发的预测结果&#xff0c;得到了一个非常有价值的信息&#xff0c;那就是9码定位的命中率非常高&#xff0c;70多期一共只错了8次&#xff0c;这给喜欢打私房菜的朋友提供了极高价值的预测结果~当然了&#xff0c…...

MQTT broker搭建并用SSL加密

系统为centos&#xff0c;基于emqx搭建broker&#xff0c;流程参考官方。 安装好后&#xff0c;用ssl加密。 进入/etc/emqx/certs,可以看到 分别为 cacert.pem CA 文件cert.pem 服务端证书key.pem 服务端keyclient-cert.pem 客户端证书client-key.pem 客户端key 编辑emqx配…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题

【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要&#xff1a; 近期&#xff0c;在使用较新版本的OpenSSH客户端连接老旧SSH服务器时&#xff0c;会遇到 "no matching key exchange method found"​, "n…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

c++第七天 继承与派生2

这一篇文章主要内容是 派生类构造函数与析构函数 在派生类中重写基类成员 以及多继承 第一部分&#xff1a;派生类构造函数与析构函数 当创建一个派生类对象时&#xff0c;基类成员是如何初始化的&#xff1f; 1.当派生类对象创建的时候&#xff0c;基类成员的初始化顺序 …...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...

API网关Kong的鉴权与限流:高并发场景下的核心实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 引言 在微服务架构中&#xff0c;API网关承担着流量调度、安全防护和协议转换的核心职责。作为云原生时代的代表性网关&#xff0c;Kong凭借其插件化架构…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...

用 Rust 重写 Linux 内核模块实战:迈向安全内核的新篇章

用 Rust 重写 Linux 内核模块实战&#xff1a;迈向安全内核的新篇章 ​​摘要&#xff1a;​​ 操作系统内核的安全性、稳定性至关重要。传统 Linux 内核模块开发长期依赖于 C 语言&#xff0c;受限于 C 语言本身的内存安全和并发安全问题&#xff0c;开发复杂模块极易引入难以…...