Ask Your Question

teb_local_planner compilation error

asked 2019-07-29 20:03:59 -0500

Tansor gravatar image


image description


teb_local_planner_ros.cpp:229:40: error: no matching function for call to ‘costmap_2d::Costmap2DROS::getRobotPose(tf::Stampedtf::Transform&)’

/opt/ros/kinetic/include/class_loader/meta_object.hpp:198:16: error: invalid new-expression of abstract class type ‘teb_local_planner::TebLocalPlannerROS’
return new C;
edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted

answered 2019-07-30 03:48:04 -0500

croesmann gravatar image

updated 2019-07-30 03:52:40 -0500

It seems like you are mixing kinetic and melodic sources. The method

virtual void initialize(std::string name, tf2_ros::Buffer* tf, costmap_2d::Costmap2DROS* costmap_ros) = 0;

from nav_core (see here) is pure virtual and not implemented in teb_local_planner according to your build log. The method indicates the tf2 dependency which was introduced to ROS navigation and teb_local_planner in melodic. So it seems that you are trying to compile the kinetic version of teb_local_planner with the melodic version of the navigation stack. Make sure to clone the correct branch, e.g. for melodic:

git clone -b melodic-devel
git clone -b melodic-devel

Or use the correct ROS distribution for your APT repositories.

edit flag offensive delete link more

answered 2019-07-30 02:12:25 -0500

pavel92 gravatar image

updated 2019-07-30 06:59:17 -0500

This question addresses a similar problem.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2019-07-29 20:03:59 -0500

Seen: 487 times

Last updated: Jul 30 '19