1、学习ros,掌握了ros编译的整体流程逻辑,所以写了一个简单的demo订阅
构建项目整个过程:
1、创建ROS工作空间
mkdir -p ~/my_ros_project/src
cd ~/my_ros_project/
catkin_make
//第一次运行catkin_make是为了初始化ROS工作空间的构建系统,并生成必要的配置文件和构建规则,以便后续能够正确地编译和运行ROS软件包。
//每当你添加、修改或删除ROS软件包时,都需要重新运行catkin_make来确保构建系统的正确性和更新编译结果。
2、创建ROS软件包
cd ~/my_ros_project/src
catkin_create_pkg my_robot_pkg roscpp std_msgs
//添加了roscpp和std_msgs作为依赖项,因为我们将使用C++编写节点,并在订阅消息时使用标准消息包。
3、在软件包的src下编写c++文件
publisher_node.cpp和subscriber_node.cpp
4、修改CMakeLists.txt
将写的cpp文件连接到项目中
5、编译项目
cd ~/my_ros_project
//回到工作空间根目录 catkin_make
6、运行ROS节点
在一个终端
source devel/setup.bash
rosrun my_robot_pkg publisher_node
在另一个终端
source devel/setup.bash
rosrun my_robot_pkg subscriber_node
在运行rosrun my_robot_pkg publisher_node命令时,publisher_node是一个可执行文件的名称,ROS会在你的工作空间中找到这个可执行文件并运行它。
在ROS中,当你通过catkin_make编译你的工作空间时,所有的可执行文件(比如节点、工具等)会被放在devel/lib/目录下,其中是你的软件包的名称,这取决于CMakeLists.txt中设置的项目名称。
可以使用rqt_graph显示发布者节点和订阅者节点之间的通信图
source devel/setup.bash
rosrun rqt_graph rqt_graph