rst-tu-dortmund / teb_local_planner

An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)
http://wiki.ros.org/teb_local_planner
BSD 3-Clause "New" or "Revised" License
992 stars 546 forks source link

Error when compiling steering_rate branch #310

Open chelseabright96 opened 3 years ago

chelseabright96 commented 3 years ago

Good day,

after cloning the steering_rate branch from this github repository, I obtain the below error when running catkin_make. Any suggestions to solve this issue would be very welcome. Many thanks in advance.

/home/chels/catkin_ws4/src/teb_local_planner/src/teb_config.cpp: In member function ‘void teb_local_planner::TebConfig::reconfigure(teb_local_planner::TebLocalPlannerReconfigureConfig&)’: /home/chels/catkin_ws4/src/teb_local_planner/src/teb_config.cpp:187:33: error: ‘class teb_local_planner::TebLocalPlannerReconfigureConfig’ has no member named ‘max_steering_rate’ 187 | robot.max_steering_rate = cfg.max_steering_rate; | ^~~~~ /home/chels/catkin_ws4/src/teb_local_planner/src/teb_config.cpp:224:40: error: ‘class teb_local_planner::TebLocalPlannerReconfigureConfig’ has no member named ‘weight_max_steering_rate’ 224 | optim.weight_max_steering_rate = cfg.weight_max_steering_rate; | ^~~~~~~~ make[2]: [teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:128: teb_local_planner/CMakeFiles/teb_local_planner.dir/src/teb_config.cpp.o] Error 1 make[2]: Waiting for unfinished jobs.... /home/chels/catkin_ws4/src/teb_local_planner/src/optimal_planner.cpp: In member function ‘boost::shared_ptr teb_local_planner::TebOptimalPlanner::initOptimizer()’: /home/chels/catkin_ws4/src/teb_local_planner/src/optimal_planner.cpp:161:64: error: no matching function for call to ‘g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >::BlockSolver(teb_local_planner::TEBLinearSolver&)’ 161 | TEBBlockSolver blockSolver = new TEBBlockSolver(linearSolver); | ^ In file included from /opt/ros/noetic/include/g2o/core/block_solver.h:199, from /home/chels/catkin_ws4/src/teb_local_planner/include/teb_local_planner/optimal_planner.h:55, from /home/chels/catkin_ws4/src/teb_local_planner/src/optimal_planner.cpp:39: /opt/ros/noetic/include/g2o/core/block_solver.hpp:40:1: note: candidate: ‘g2o::BlockSolver::BlockSolver(std::unique_ptr) [with Traits = g2o::BlockSolverTraits<-1, -1>; typename Traits::LinearSolverType = g2o::LinearSolver<Eigen::Matrix<double, -1, -1> >]’ 40 | BlockSolver::BlockSolver(std::unique_ptr linearSolver) | ^~~~~~~ /opt/ros/noetic/include/g2o/core/block_solver.hpp:40:68: note: no known conversion for argument 1 from ‘teb_local_planner::TEBLinearSolver’ {aka ‘g2o::LinearSolverCSparse<Eigen::Matrix<double, -1, -1> >’} to ‘std::unique_ptr<g2o::LinearSolver<Eigen::Matrix<double, -1, -1> >, std::default_delete<g2o::LinearSolver<Eigen::Matrix<double, -1, -1> > > >’ 40 | BlockSolver::BlockSolver(std::unique_ptr linearSolver) | ~~~~~~~~^~~~~~ /home/chels/catkin_ws4/src/teb_local_planner/src/optimal_planner.cpp:162:100: error: no matching function for call to ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(teb_local_planner::TEBBlockSolver&)’ 162 | g2o::OptimizationAlgorithmLevenberg solver = new g2o::OptimizationAlgorithmLevenberg(blockSolver); | ^ In file included from /home/chels/catkin_ws4/src/teb_local_planner/include/teb_local_planner/optimal_planner.h:58, from /home/chels/catkin_ws4/src/teb_local_planner/src/optimal_planner.cpp:39: /opt/ros/noetic/include/g2o/core/optimization_algorithm_levenberg.h:47:16: note: candidate: ‘g2o::OptimizationAlgorithmLevenberg::OptimizationAlgorithmLevenberg(std::unique_ptr)’ 47 | explicit OptimizationAlgorithmLevenberg(std::unique_ptr solver); | ^~~~~~~~~~ /opt/ros/noetic/include/g2o/core/optimization_algorithm_levenberg.h:47:71: note: no known conversion for argument 1 from ‘teb_local_planner::TEBBlockSolver’ {aka ‘g2o::BlockSolver<g2o::BlockSolverTraits<-1, -1> >’} to ‘std::unique_ptr’ 47 | explicit OptimizationAlgorithmLevenberg(std::unique_ptr solver); | ~~~~~~^~~~ /home/chels/catkin_ws4/src/teb_local_planner/src/teb_local_planner_ros.cpp:58:24: error: expected constructor, destructor, or type conversion before ‘(’ token 58 | PLUGINLIB_DECLARE_CLASS(teb_local_planner, TebLocalPlannerROS, teb_local_planner::TebLocalPlannerROS, nav_core::BaseLocalPlanner) | ^ make[2]: [teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:76: teb_local_planner/CMakeFiles/teb_local_planner.dir/src/optimal_planner.cpp.o] Error 1 make[2]: [teb_local_planner/CMakeFiles/teb_local_planner.dir/build.make:154: teb_local_planner/CMakeFiles/teb_local_planner.dir/src/teb_local_planner_ros.cpp.o] Error 1 make[1]: [CMakeFiles/Makefile2:535: teb_local_planner/CMakeFiles/teb_local_planner.dir/all] Error 2 make: [Makefile:141: all] Error 2 Invoking "make -j8 -l8" failed