在ROS (Robot Operating System) 中创建一个工作空间并使用C++编写hello world
程序,以及编写两个通信包实现话题订阅,可以按照以下步骤进行:
1. 创建工作空间
首先,创建一个名为catkin_ws
的工作空间:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
2. 创建C++的Hello World节点
在src
目录下创建一个包:
cd src
catkin_create_pkg my_cpp_pkg std_msgs roscpp
在my_cpp_pkg
包中创建一个C++节点:
cd my_cpp_pkg
mkdir src
cd src
touch hello_world.cpp
编辑hello_world.cpp
文件:
#include <ros/ros.h>
int main(int argc, char **argv)
{
ros::init(argc, argv, "hello_world_node");
ROS_INFO("Hello, world!");
return 0;
}
在CMakeLists.txt
中添加以下内容来编译节点:
add_executable(hello_world src/hello_world.cpp)
target_link_libraries(hello_world ${catkin_LIBRARIES})
确保在package.xml
中添加了依赖:
<build_depend>roscpp</build_depend>
<exec_depend>roscpp</exec_depend>
编译包:
cd ~/catkin_ws/
catkin_make
运行C++节点:
source devel/setup.bash
rosrun my_cpp_pkg hello_world
结果如下:
rqt图