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

源码链接:

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里
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值