ros noetic mpc local planner 编译问题

mpc local planner 使用了 teb local planner 的部分文件。安装 teb local planner 的 noetic 版本,编译后报错:

/home/lmr/ws/navigation_ws/src/nav/mpc_local_planner/mpc_local_planner/src/mpc_local_planner_ros.cpp:926:124:   required from here
/usr/include/boost/smart_ptr/make_shared_object.hpp:256:5: error: no matching function for call to ‘teb_local_planner::LineRobotFootprint::LineRobotFootprint(Eigen::Map<const Eigen::Matrix<double, 2, 1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<const Eigen::Matrix<double, 2, 1>, 0, Eigen::Stride<0, 0> >)’
  256 |     ::new( pv ) T( boost::detail::sp_forward<Args>( args )... );

再往下翻会看到

这下面的提示才是重点:

  458 |   LineRobotFootprint(const Eigen::Vector2d& line_start, const Eigen::Vector2d& line_end, const double min_obstacle_dist) : min_obstacle_dist_(min_obstacle_dist)

/home/lmr/ws/navigation_ws/src/nav/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:458:3: note:   candidate expects 3 arguments, 2 provided

这里说  teb 中 LineRobotFootprint 函数声明有三个参数,但是 mpc 里的 LineRobotFootprint 函数调用只传递了两个参数。

mpc 中的调用只传递了两个参数

翻看了下 teb 的 LineRobotFootprint 确实是三个参数 !

teb 中 LineRobotFootprint 函数声明

可以看到注释中也只有两个参数的说明,第三个参数应该是后来更新的,但是 mpc 的 noetic 版本还未同步。

给 mpc 中函数补充上第三个参数即可:

编译成功 !

  • 17
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是在 Ubuntu 22.04 上源码编译安装 ROS Noetic 的步骤: 1. 安装依赖项 首先,需要安装一些依赖项,包括构建工具、依赖项和其他必要的软件包。在终端中运行以下命令: ``` sudo apt update sudo apt install -y python3-rosdep python3-rosinstall-generator python3-wstool build-essential cmake ``` 2. 初始化 rosdep 运行以下命令以初始化 rosdep: ``` sudo rosdep init rosdep update ``` 3. 创建工作空间 在您的主目录中创建一个 catkin 工作空间。运行以下命令: ``` mkdir -p ~/catkin_ws/src cd ~/catkin_ws/ catkin_make ``` 4. 下载源代码 使用 rosinstall_generator 下载 ROS Noetic 的源代码。运行以下命令: ``` cd ~/catkin_ws/src rosinstall_generator desktop --rosdistro noetic --deps --tar > noetic-desktop.rosinstall ``` 5. 安装依赖项 使用 rosdep 安装必要的依赖项。运行以下命令: ``` cd ~/catkin_ws/src sudo apt install -y python3-rosdep rosdep install --from-paths . --ignore-src --rosdistro noetic -y ``` 6. 构建源代码 运行以下命令构建源代码: ``` cd ~/catkin_ws/ catkin_make ``` 7. 设置环境变量 运行以下命令以设置 ROS 环境变量: ``` source ~/catkin_ws/devel/setup.bash echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc ``` 现在,您已经成功地在 Ubuntu 22.04 上源码编译安装了 ROS Noetic。您可以通过在终端中运行以下命令来验证安装: ``` roscore ``` 如果一切正常,您应该能够启动 ROS 核心。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值