参考摘录自《ROS机器人编程》
本书下载链接: https://pan.baidu.com/s/163ZLpJjjOIDYgUrRY7cMdw
一.创建功能包
首先移动到工作空间目录: $ cd ~/catkin_ws/src
执行创建功能包的命令: $ catkin_create_pkg ros_tutorials_topic message_generation message_runtime std_msgs roscpp
然后移动到功能包目录: $ cd ros_tutorials_topic
用ls命令可以检查功能包内包含的目录和文件: $ ls
结果为: include 头文件目录
src 源代码目录
CMakeLists.txt 构建配置文件
package.xml 功能包配置文件
二.修改功能包配置文件(package.xml)
$ gedit package.xml
以下的代码显示如何修改package.xml文件以匹配此次功能包的创建
三.修改构建配置文件(CMakeLists.txt)
$ gedit CMakeLists.txt
以下是为了匹配正在创建的功能包而修改的CMakeLists.txt文件
四.创建消息文件
$ roscd ros_tutorials_topic 移动到功能包目录
$ mkdir msg 功能包中创建新的msg消息目录
$ cd msg 转到创建的msg目录
$ gedit MsgTutorial.msg 创建新的MsgTutorial.msg文件并修改内容
Msg的内容很简单,只是创建了一个消息类型的stamp消息和一个int32消息类型的data消息。
五.创建发布者节点(topic_publisher)
$ roscd ros_tutorials_topic/src 移至src目录,该目录是功能包的源代码目录
$ gedit topic_publisher.cpp 新建源文件并修改内容
六.创建订阅者节点(topic_subscriber)
$ roscd ros_tutorials_topic/src 移动到src目录,该目录是功能包的源代码目录
$ gedit topic_subscriber.cpp 创建和修改新的源代码文件
七.构建节点(catkin_make)
$ cd catkin_ws 移动到catkin目录
$ catkin_make 执行catkin构建
八.运行主节点
$ roscore
九.运行发布者
$ rosrun ros_tutorials_topic topic_publisher
十.运行订阅者
$ rosrun ros_tutorials_topic topic_subscriber