【ROS】Publisher 的编程实现 与 Subscriber 的编程实现
https://www.bilibili.com/video/BV1zt411G7Vn?p=10
Publisher的编程实现
通过程序来实现海归仿真器里的海龟运动。实现publisher发布速度指令。
创建功能包
首先切换目录到工作空间catkin_ws 的 src,然后输入命令 $ catkin_create_pkg learning_topic roscpp rospy std_msgs geometry_msgs turtlesim 创建功能包
创建发布者代码
粘贴或创建.cpp文件到 /home/zzh/catkin_ws/src/learning_topic/src
配置CMakeLists.txt 中的编译规则
在learning_topic里的CMakeLists.txt 里添加以下两句指令:
add_executable(velocity_publisher src/velocity_publisher.cpp) 设置 需要编译的代码和生成的可执行文件;
target_link_libraries(velocity_publisher ${catkin_LIBRARIES}) 设置链接库;将可执行文件跟ROS的库做链接
编译并运行可执行文件
首先进入工作空间的根目录,用catkin_make进行编译。
然后设置环境变量
输入以下命令,或者将命令复制到,home文件夹下的 .bashrc (在home目录下按ctrl+h)
然后运行roscore 和 turtlesim_node
然后运行 velocity_publisher 节点
可执行文件的位置:
Python 文件的执行
python3.X的话修改python文件如下,且注意各行对齐情况。
直接rosrun运行
Subscriber编程实现
通过海归仿真器发布位姿信息,实现一个subscriber来订阅海龟的位姿信息
首先分别将.cpp文件和.py文件复制到learning_topic下的src和scripts文件夹下
然后编译,
然后运行 roscore、turtlesim_node、pose subscriber,最后让小海龟动起来,观察数据变化。