gazebo下使用Fast-planner配置(包含mpc局部规划+控制Gazebo小车以及FastPlanner配置)

news/2024/10/18 22:30:57/

源码链接:

https://github.com/USE-jx/NMPC_CASADI_CPP?tab=readme-ov-file
#这是NMPC的 里面有Fast-Planner,但编译可能缺少东西,所以再放一个Fast-Planner的,可以装装缺少的库
https://github.com/HKUST-Aerial-Robotics/Fast-Planner #这是Fast-Planner的代码

简洁一下:第一个链接到代码是别人添加了模块的,包含自己搭建的Gazebo环境+小车,以及NMPC控制和局部规划。第二个项目是FastPlanner本身项目,第一个里也包含。
下面配置第一个:
sudo apt-get install ros-noetic-tf2-sensor-msgs
sudo apt-get install libarmadillo-dev
sudo apt-get install libarmadillo-dev ros-noetic-nlopt(这里不建议用ros的nlopt,使用C++源码编译的)

sudo apt-get install ros-noetic-openslam-gmapping
先删除mpc_tracking模块编译,不然显示确实bspline库,等Fast-planner编译完后在编译MPC模块

源码安装casadi求解器:

git clone https://github.com/casadi/casadi
安装必要的库: sudo apt-get install gcc g++ gfortran git cmake liblapack-dev pkg-config --install-recommends

cd casadi
mkdir build
cd build
cmake .. -DWITH_IPOPT=ON -DWITH_EXAMPLES=OFF
make -j4
sudo make install

make时候报错 没有makefile,发现上一步 cmake … -DWITH_IPOPT=ON -DWITH_EXAMPLES=OFF报错:
Could NOT find Ipopt (missing: Ipopt_DIR),于是其安装Ipopt

在这里插入图片描述安装后再次 cd build 执行cmake … -DWITH_IPOPT=ON -DWITH_EXAMPLES=OFF 若还有错,从上下载casadi的zip,再cd casadi

- 解决EIGEN头文件报错:

在mpc_tracking的CmakeList.txt里添加 find_package(Eigen3 REQUIRED)
${EIGEN3_INCLUDE_DIRS} 注意大小写一致

- 显示找不到bspline报错
注意Fast-Planner里面文件夹结构,这两个文件夹里面才是ros的pkg,发现fast-planner里有bspline包,于是先单独编译bspline包,然后单独编译fast-planner里的每个包:因为依赖关系。总之:要在mpc_tracking包编译之前,把Fast-Planner里所有的包都编译了
在这里插入图片描述

  • 编译bspine-opt包时,显示找不到nlopt路径,但之前sudo apt-get install libarmadillo-dev ros-noetic-nlopt(这里不建议用ros的nlopt,使用C++源码编译的)我下载了,不使用ROS自带的nlopt库 下载sudo apt-get install libnlopt-dev 后编译成功。
    他还是显示找不到nlop.hpp,我直接在opt/ros/noetic/include/nlopt下,用全局路径写到cpp里

http://www.ppmy.cn/news/1514238.html

相关文章

YOLOv10:面向下一代目标检测模型的创新探索

随着计算机视觉技术的飞速发展,目标检测模型在各类应用场景中的重要性与日俱增。从自动驾驶到智能监控,目标检测的准确性和实时性都直接影响着应用的效果和用户体验。YOLO(You Only Look Once)系列作为实时目标检测的代表性模型&a…

Idea里配置Maven版本

一、安装Maven 1. 官网下载maven地址: Maven – Download Apache Maven Binary是可执行版本,已经编译好可以直接使用。 Source是源代码版本,需要自己编译成可执行软件才可使用。tar.gz和zip两种压缩格式,其实这两个压缩文件里面包含的内容是…

Google Play开发者账号地址验证难题?这些经验或许能帮到你

目前,想要把应用顺利上架到 Google Play,已经不像以前那么简单了,主要是开发者需要应对 Google 日益严格的审核机制。其中,账号验证的地址验证绝对是让很多人头疼的一个环节。 今天就来给大家分享一些真实的经验和干货&#xff0c…

解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题

文章目录 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插件无法选择串口设备节点问题不识别CH340/CH341报错解决办法升级驱动编译安装 卸载brltty程序 vscode espidf插件无法选择串口设备节点问题解决办法编译安装 解决ubuntu22.04无法识别CH340/CH341和vscode espidf插…

短视频SDK解决方案,高效集成,助力商业变现

美摄科技,作为业界领先的多媒体技术服务商,其全面升级的短视频SDK解决方案,旨在为开发者与内容创作者提供一站式、高效能的创作工具,让每一个灵感都能瞬间转化为触动人心的视频作品。 【一站式解决方案,重塑短视频创作…

Qt+ffmpeg环境搭建

Qtffmpeg环境搭建 各平台常见视频开发库举例: iOS:AVFoundation AudioUnitAndroid:MediaPlayer,MediaCodecWindows:DirectShowLinux:GStreamer FFmpeg 库是一个跨平台的视频开发库, 还有 libVLC 也是一个跨平台的视频开…

【速览】数据库-MySQL(更新中)

目录 一、背景二、优缺点三、适用场景四、核心组成基本语法数据库引擎事务索引锁连接池分库分表主从读写分离备份 五、底层原理六、对比参考 一、背景 这个技术出现的背景、初衷和要达到什么样的目标或是要解决什么样的问题。这个问题非常关键,也就是说,…

数据库;SQL语言; 数据库编程

数据库: 1.概念: 文件:存放数据,掉电数据不会丢失,软件的配置及想要持续保存的数据放入文件中 大批量数据存储和管理时使用数据库 2.类型: 1.关系型数据库 1.Or…