Ask Your Question

Has anyone encountered this : error: no type named ‘_action_goal_type’ in ‘struct move_base_msgs::MoveBaseActionGoal_<std::allocator<void> >’ typedef typename ActionSpec::_action_goal_type ActionGoal; \

asked 2015-09-26 03:22:31 -0500

chatrasen gravatar image

I am using the move_base server in my project. So I need to send an action goal. But implementing the actionlib part is giving this error for all the micros in its header files. What should be done?

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted

answered 2016-05-04 23:44:16 -0500

sytelus gravatar image

I just got that error and solved it :). It's very cryptic for sure. Basically ROS generates .h files for your .action file in catkin_ws/devel/include/<your_node> folder. So first check that these files exists. Every type declared in these .h are wrapped in namespace "your_node". So in your action server class, all the types you are referencing from above .h file must also use your_node:: prefix. If you are not using this prefix OR if your class is in other namespace then you will see error like above.

Another reason could be that your package /include folder has another subfolder "your_node". So now this causes two include/your_node folders (one in devel and another in your package). This might confuse compiler. So I also made sure my package's include folder doesn't have subfolder named "your_node".

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: 2015-09-26 03:22:31 -0500

Seen: 756 times

Last updated: May 04 '16