1)创建一个工作空间和功能包,然后在功能包中完成如下工作,并使用launch文件启动涉及的节点。
创建一个工作区
工作区可以作为一个独立的项目进行编译,存放ROS程序的源文件、编译文件和执行文件。建立工作区的方法如图:
编译工作区
在bash中注册工作区
验证是否已经在bash中注册使用echo $ROS_PACKAGE_PATH,如果出现文件路径,则表示已经成功
创建一个工程包
切换到工作区,使用catkin_create_pkg命令去创建一个叫learning_communication的包
在工作区编译这个工程包。
写一个发布(Publisher)节点
首先把目录切换到刚刚的learning_communication工程包中,编译过这个工程包后,会在learning_communication文件夹下看到CmakeList.txt、package.xml文件和include、src这两个目录。然后进入src子目录,在src目录中创建一个talker.cpp文件,
里面的内容如下:
用vim建立文本文件后,按i进入编辑模式,编辑完成后按esc退出编辑模式进入普通模式,在输入:wq后保存并退出。
再在src目录中创建一个listener.cpp文件,代码如下
在编译我们创建的节点之前,我们还需要编辑Cmakelist.txt文件(注意:是learning_communication项目包下的CMakelist文件)一定要把目录切换到learning_communication目录下,否则就不会编辑learning_communication项目包下的CMakelist文件,而是新建一个文本文件,下面的步骤就会出错。
在文件末尾添加以下内容:
add_executable(talker src/talker.cpp)
target_link_libraries(talker ${catkin_LIBRARIES})
add_dependencies(talker beginner_tutorials_generate_messages_cpp)
add_executable(listener src/listener.cpp)
target_link_libraries(listener