ROS系列:话题(一)

引言:主体学习根据赵虚左老师教学视频《ROS理论与实践》

几种实现话题通讯的方法:

  •     直接法:(古月居)不使用IDE编写
  •     集成法:(奥特学院)使用VScode IDE编写

一、直接法

1.创建工作区

建立工作区文件夹demo01_ws,位于根目录下的test文件夹内,-p可创建多个文件夹:

mkdir -p ~/test/demo01_ws/catkin_ws/src

使用cd命令从根目录移动至工作空间内:

cd ./test/demo01_ws/catkin_ws/src/

对工作空间进行初始化:

catkin_init_workspace

工作空间初始化以后可以看见文件夹属性有变化生成对应文件

返回上一级:

cd ..

编译工作空间,生成build,install等文件夹:

catkin_make

配置环境变量:

source devel/setup.bash

可以通过输入:echo $ROS_PACKAGE_PATH检查配置环境变量是否成功

2.创建功能包

创建功能包:

cd ~/catkin_ws/src

catkin_create_pkg plumbing_pub_sub std_msgs rospy roscpp

返回上一级:

cd ..

编译工作空间,生成build,install等文件夹:

catkin_make

配置环境变量:

source devel/setup.bash

可以通过输入:echo $ROS_PACKAGE_PATH检查配置环境变量是否成功

3.创建发布者代码/订阅者代码

移动到功能包plumbing_pub_sub 中:

cd plumbing_pub_sub/

创建发布者/订阅者文件:

touch demo01_pub.cpp

touch demo02_sub.cpp

通过vim编写代码:

(1)发布者代码

1770619186c841fc873d4be8c89d9988.png

(2)订阅者代码

9befdbe30fc54219afb513709ccdccd6.png

4.配置发布者/订阅者编译规则

通过vim配置编译规则CMakeLists.txt:

add_executable(publisher src/demo01_pub.cpp)

add_executable(subscriber src/demo02_sub.cpp)

target_link_libraries(publisher ${catkin_LIBRARIES})

target_link_libraries(subscriber ${catkin_LIBRARIES})

5.编译并运行功能包

返回上一级:(到工作空间catkin_ws)

cd ..

编译工作空间,生成build,install等文件夹:

catkin_make

配置环境变量:

source devel/setup.bash

启动节点管理者:

roscore

另起一个窗口配置环境变量以及运行发布者功能包:

source devel/setup.bash

rosrun plumbing_pub_sub demo01_pub.cpp

再另起一个窗口配置环境变量以及运行订阅者功能包:

source devel/setup.bash

rosrun plumbing_pub_sub demo02_sub.cpp

猜你喜欢

转载自blog.csdn.net/TianHW103/article/details/126304676