Creating ros package with catkin and adding custom messages: ############################################################ 1. Create a workspace: ---------------------- $ mkdir catkin_ws $ cd catkin_ws $ mkdir src $ catkin_make $ source devel/setup.bash 2. Create the package: ---------------------- $ cd catkin_ws/src $ catkin_create_pkg std_msgs rospy roscpp $ cd .. $ catkin_make # this build the package 3. Create the custom messages: ------------------------------ $ cd catkin_ws/src/ $ mkdir msg $ cd msg $ echo "int64 num" > Num.msg Then edit the package.xml file and add the following: message_generation message_runtime Also edit CMakeLists.txt and to the find_package() function add: message_generation and to the catkin_package() add: CATKIN_DEPENDS message_runtime Then, find add_message_files() (uncomment if necessary) and change it to the following: add_message_files( FILES Num.msg ) Finally, uncomment the generate_messages() function such that it reads: generate_messages( DEPENDENCIES std_msgs ) To build the new messages do the following: $ cd catkin_ws $ catkin_make # builds the new messages $ catkin_make install As the last step, source the setup.bash: $ . install/setup.bash Now the new messages should be available and you can find them with $ rosmsg list Don't forget to source the setup.bash everytime you want to use the messages!