ROS发布及订阅消息简单实践(一)

为了便于理解ROS消息发布是如何实现的,结合上一章的实现流程,在此实现一下。

1. 创建catkin_ws工作空间

mkdir catkin_ws    #创建catkin_ws目录

2. 在工作空间下建立src目录

cd catkin_ws    #切换到工作空间中
mkdir src      #创建src目录

————————————————————1.2 可通过递归方式创建————————————————————

mkdir -p ~/catkin_ws/src

3. 在src目录下建立包名目录

首先,进入到工作空间下的src目录:

 cd ~/catkin_ws/src

在src目录下创建包mypackage(包名),其依赖于roscpp rospy。

catkin_create_pkg mypackage roscpp rospy 

此时,mypackage包下包括include目录、src目录、CMakeLists.txt以及package.xml。

4. 在mypackage包下的src目录中编辑.cpp文件

如:

#include<iostream>
using namespace std;
int main()
{
cout<<"hello ros"<<endl;
return 0;
}

将其命名为hello.cpp,其必须与配置文件中的.cpp一样的名称。

5. 编辑、修改配置文件

打开mypackage包下面的CMakeLists.txt文件。
在这里插入图片描述
如上图,去掉add_executable()及target_link_libraries()前的注释符号。并修改加粗部分。
add_executable(可执行文件名称 src/源程序.cpp)
target_link_libraries(可执行文件名称 ${catkin_LIBRARIES})

6. 运行ROS

(1)回到catkin_ws目录下,输入:

catkin_make

本文的源程序就catkin_ws的工作空间下,若不是,假设其在work目录下:

catkin_make --source work  #必须回到家目录下

(2)新建终端,输入:

roscore

(3)新建终端,输入:

source catkin_ws/devel/setup.bash  #必不可少的部分,source 工作空间/devel/setup.bash

rosrun mypackage ros1_node        # rosrun 包名 可执行文件名称
原创文章 15 获赞 8 访问量 930

猜你喜欢

转载自blog.csdn.net/weixin_39652282/article/details/103461038