发布者Publisher的编程实现

发布者Publisher的编程实现_第1张图片

  1. 在src中打开终端,在src中创建功能包learning_topic
    其后是依赖包发布者Publisher的编程实现_第2张图片
  2. 代码解读
    发布者Publisher的编程实现_第3张图片
    ①节点初始化:节点名velocity_publisher不可重复
    节点句柄:管理节点的资源,与节点相关联进程的处理程序,通过它可以实现节点与环境的交互
    ②队列长度:10,还没那么快响应发出去,先进队列里面,如果发送能力太差了,ROS会把最老的数据扔掉
    ③ROS_INFO相当于print
    ④loop_rate.sleep():程序要休眠一段时间,实现频率为10Hz
  3. 代码编译
    CMakeLists.txt
    放在Install前面,前面有解读
    解读:①把.cpp编译成××文件
    ②用来把可执行文件跟ROS的一些库进行连接,例如C++的一些接口
add_executable(velocity_publisher src/velocity_publisher.cpp) 
target_link_libraries(velocity_publisher ${
     catkin_LIBRARIES})

③回到工作空间编译,到100%即编译成功

catkin_make
source devel/setup.bash
roscore
rosrun turtlesim turtlesim_node
rosrun learning_topic velocity_publisher

编译得到的结果在devel/lib/learning_topic下,乌龟就是运行这个程序

头文件

① "ros/ros.h"包括与ROS节点使用所需的全部头文件
:线速度,角速度相关消息的头文件

你可能感兴趣的:(ROS笔记)