【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,最后让小海龟动起来,观察数据变化。

 

posted @ 2021-02-23 14:40  星火-AI  阅读(157)  评论(0编辑  收藏  举报