The three topics of the action message

This question isn’t about me getting stuck or facing an error . It’s about understanding the concepts right and hope I get an answer :pray: :
After reading this part of tutorial :

As you already know, an action message has three parts:

  • the goal
  • the result
  • the feedback

Each one corresponds to a topic and to a type of message. For example, in the case of the ardrone_action_server, the topics involved are the following:

  • the goal topic: /ardrone_action_server/goal
  • the result topic: /ardrone_action_server/result
  • the feedback topic: /ardrone_action_server/feedback

My question is: does this mean that in general every action_server_pkg has those three topics inside of it ? Which means three more packages inside a package? If that is the case, then where do i find them , in order to check them up? I tried to navigate to an action-server-pkg among your packages, I took the example of ardrone_as , but I couldn’t see the topics there. Why am i understanding wrong?
Thank you.

Hi @mouidsakka01 ,

Your questions are already answered in the course notes. Just give it another read.

But I am still answering your questions here:

It actually has five (5) topics: (but goal, feedback and result are the main ones)


/ardrone_action_server is NOT the name of the package. The name of the package containing action can be anything. /ardrone_action_server is the name of the action server that is being created in the ROS package.
I can have a ROS package named AlienInvasionDefense and I can have an action server with the name attack_aliens_action_server. So the action server name would be attack_aliens_action_server and NOT AlienInvasionDefense.

IF and ONLY IF the action server is up and running, you will be able to see the 5 action topics when you do rostopic list. Conversely, if you find these five topics when you do rostopic list, you can find the name of the server, which is basically the first namespace of the topics listed.
Example: yet_another_action_server/goal - here you know the action server name is yet_another_action_server.

You cannot see the action server because you have not started the action server. If the action server is not launched and running, you will obviously not see the action server listed when you do rostopic list.

My advice to you:
When you learn a course, don’t just read or glimpse through the given notes. Try to understand and assimilate the text provided to you. That is the way you can learn. Just because the course is named “ROS Basics in 5 Days”, it does not mean that you have to finish it in 5 days. The point is to understand what you have learned - not rush through the chapter text. Clearly, you have not paid attention to the course - which is what I infer from all your questions that I have answered for you!


PS: Please don’t use emojis like :pray:. We know you are asking for help and that is why you are here!