Robotics StackExchange | Archived questions

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; \

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?

Asked by chatrasen on 2015-09-26 03:22:31 UTC

Comments

Answers

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/ 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".

Asked by sytelus on 2016-05-04 23:44:16 UTC

Comments