57 lines
1.4 KiB
Plaintext
57 lines
1.4 KiB
Plaintext
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 <package_name> std_msgs rospy roscpp
|
|
$ cd ..
|
|
$ catkin_make # this build the package
|
|
|
|
3. Create the custom messages:
|
|
------------------------------
|
|
$ cd catkin_ws/src/<package_name>
|
|
$ mkdir msg
|
|
$ cd msg
|
|
$ echo "int64 num" > Num.msg
|
|
Then edit the package.xml file and add the following:
|
|
<build_depend>message_generation</build_depend>
|
|
<exec_depend>message_runtime</exec_depend>
|
|
|
|
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!
|