rst-tu-dortmund / mpc_local_planner

The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations.
http://wiki.ros.org/mpc_local_planner
GNU General Public License v3.0
545 stars 143 forks source link

Noetic Catkin build error Ubunto 20.04 #57

Open MF-Ahmed opened 10 months ago

MF-Ahmed commented 10 months ago

Hi Im having the following error: In file included from /usr/include/boost/smart_ptr/make_shared.hpp:14, from /usr/include/boost/make_shared.hpp:14, from /opt/ros/noetic/include/ros/forwards.h:38, from /opt/ros/noetic/include/ros/common.h:37, from /opt/ros/noetic/include/ros/ros.h:43, from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/include/mpc_local_planner/mpc_local_planner_ros.h:26, from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/src/mpc_local_planner_ros.cpp:23: /usr/include/boost/smart_ptr/make_shared_object.hpp: In instantiation of ‘typename boost::detail::sp_if_not_array::type boost::make_shared(Args&& ...) [with T = teb_local_planner::LineRobotFootprint; Args = {Eigen::Map<const Eigen::Matrix<double, 2, 1, 0, 2, 1>, 0, Eigen::Stride<0, 0> >, Eigen::Map<const Eigen::Matrix<double, 2, 1, 0, 2, 1>, 0, Eigen::Stride<0, 0> >}; typename boost::detail::sp_if_not_array::type = boost::shared_ptr]’: /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/src/mpc_local_planner_ros.cpp:924: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 )... ); | ^~~~~~~~~~~~~~~ In file included from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/include/mpc_local_planner/optimal_control/stage_inequality_se2.h:29, from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/include/mpc_local_planner/controller.h:29, from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/include/mpc_local_planner/mpc_local_planner_ros.h:36, from /home/usr/data/ExplOrbSLAM_working/src/mpc_local_planner/mpc_local_planner/src/mpc_local_planner_ros.cpp:23: /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:458:3: note: candidate: ‘teb_local_planner::LineRobotFootprint::LineRobotFootprint(const Vector2d&, const Vector2d&, double)’ 458 | LineRobotFootprint(const Eigen::Vector2d& line_start, const Eigen::Vector2d& line_end, const double min_obstacle_dist) : min_obstacledist(min_obstacle_dist) | ^~~~~~ /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:458:3: note: candidate expects 3 arguments, 2 provided /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:448:3: note: candidate: ‘teb_local_planner::LineRobotFootprint::LineRobotFootprint(const Point&, const Point&)’ 448 | LineRobotFootprint(const geometry_msgs::Point& line_start, const geometry_msgs::Point& line_end) | ^~~~~~ /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:448:50: note: no known conversion for argument 1 from ‘Eigen::Map<const Eigen::Matrix<double, 2, 1>, 0, Eigen::Stride<0, 0> >’ to ‘const Point&’ {aka ‘const geometrymsgs::Point<std::allocator >&’} 448 | LineRobotFootprint(const geometry_msgs::Point& line_start, const geometry_msgs::Point& line_end) | ~~~~~~^~~~ /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:439:7: note: candidate: ‘teb_local_planner::LineRobotFootprint::LineRobotFootprint(const teb_local_planner::LineRobotFootprint&)’ 439 | class LineRobotFootprint : public BaseRobotFootprintModel | ^~~~~~ /home/usr/data/ExplOrbSLAM_working/src/teb_local_planner/include/teb_local_planner/robot_footprint_model.h:439:7: note: candidate expects 1 argument, 2 provided make[2]: [CMakeFiles/mpc_local_planner.dir/build.make:76: CMakeFiles/mpc_local_planner.dir/src/mpc_local_planner_ros.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:2896: CMakeFiles/mpc_local_planner.dir/all] Error 2 make: *** [Makefile:141: all] Error 2

wuying0421 commented 9 months ago

I encountered the same error, have you found a solution?

topnson524 commented 3 weeks ago

2024-08-16_17-59