1.在src目录下创建一个learning_topic功能包:
catkin_create_pkg learning_topic roscpp rospy std_msgs turtlesim

2.在learning_topic–>src 中新建velocity_publisher.cpp
在velocity_publisher.cpp中添加如下代码

/**
*该例程将发布turtle1/cmd_vel话题,消息类型geometry_msgs::Twist
*/ #include <ros/ros.h>
#include <geometry_msgs/Twist.h>int main(int argc, char **argv)
{// ROS节点初始化ros::init(argc, argv, "velocity_publisher");// 创建节点句柄ros::NodeHandle n;// 创建一个Publisher,发布名为/turtle1/cmd_vel的topic,消息类型为geometry_msgs::Twist,队列长度10ros::Publisher turtle_vel_pub = n.advertise<geometry_msgs::Twist>("/turtle1/cmd_vel", 10);// 设置循环的频率ros::Rate loop_rate(10);int count = 0;while (ros::ok()){// 初始化geometry_msgs::Twist类型的消息geometry_msgs::Twist vel_msg;vel_msg.linear.x = 0.5;vel_msg.angular.z = 0.2;// 发布消息turtle_vel_pub.publish(vel_msg);ROS_INFO("Publsh turtle velocity command[%0.2f m/s, %0.2f rad/s]", vel_msg.linear.x, vel_msg.angular.z);// 按照循环频率延时loop_rate.sleep();}return 0;
}

3.配置CMakeLists,txt中的编译规则
(需要配置的文件位置catkin_ws/src/learning_topic)

  • 设置需要编译的代码和生成的可执行文件
  • 设置链接库
###########
## Build ##
###########

目录下添加如下代码:

add_executable(velocity_publisher src/velocity_publisher.cpp)
target_link_libraries(velocity_publisher ${catkin_LIBRARIES})

4.编译工程:

catkin_make
source devel/setup.bash
或者配置环境变量:
/home下 Ctrl+h 显示文件.bashrc,添加

source /home/gc/catkin_ws/devel/setup.bash

路径需要根据自己的机子修改。

5.运行如下指令:

reocore
rosrun turtlesim turtlesim_node
rosrun learning_topic velocity_publisher

ROS入门之Publisher的创建相关推荐

  1. 古月居ROS入门21讲——9.创建工作空间与功能包

    1.工作空间 工作空间(workspace)直观的形容就是一个仓库,里面装载着ROS的各种项目工程,便于系统组织管理调用. src/: 源代码包 build/: 编译生成的中间文件 devel/: 开 ...

  2. 【ROS入门21讲】发布者Publisher的编程使用

    [ROS入门21讲]发布者Publisher的编程使用 本文章是针对bilibili古月居up的[ROS入门21讲]所作的笔记,笔记从第8讲开始,主要记录一些关键内容方便查阅. 视频连接:[ROS入门 ...

  3. ROS入门-8.发布者Publisher的编程实现

    主要实现功能是:让我们在海龟仿真器里的海龟通过程序控制动起来 之前过程中,主要是通过命令行或者通过键盘控制形式来发布速度指令 以下是该话题通讯的问题模型 今天学习怎样通过一个程序来实现其中的发布者,其 ...

  4. 基础篇——ROS入门:学习资料、基本介绍、安装配置、文件系统、包创建

    简介 本篇文章主要介绍ROS入门基础,通过此篇文章,可以学习到安装配置.文件系统使用.ROS包创建和构建相关内容. ROS资源网站 ROS官网:http://wiki.ros.org/,可以这么说,市 ...

  5. 【ROS入门21讲二刷古月居】学习笔记3 发布者Publisher的编程实现

    系列文章目录 第一章 ROS命令行工具 第二章 创建工作空间与功能包 第三章 发布者Publisher的编程实现 文章目录 系列文章目录 话题模型 第一步,创建功能包 如何实现一个发布者 包含库 初始 ...

  6. 【ROS入门学习05|自定义话题消息,并且编程实现publisher和subscriber】

    这里是学习ROS第一次涉及到代码的部分.主要根据古月居视频教程整理出来的干货.本人是干货爱好者. 文章目录 前言 一.话题模型 二.自定义话题消息 1.定义msg文件 2.在功能包(learning_ ...

  7. ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++)

    ROS入门笔记(十):编写与测试简单的消息发布器和订阅器(C++) 文章目录 01 导读 02 功能包的创建 03 功能包的源代码编写 3.1 编写发布器节点(talker.cpp) 3.2 编写订阅 ...

  8. 古月居 ROS 入门21讲--PA18 tf坐标系广播与监听的编程实现笔记

    古月居 ROS 入门21讲--PA18 tf坐标系广播与监听的编程实现 1.创建功能包 cd ~/catkin_ws/src catkin_create_pkg learning_tf roscpp ...

  9. 古月居ROS入门21讲笔记

    ROS入门21讲笔记--古月居 1 C++&Python极简基础 1.1 安装编译/解析器 1.2 for循环 1.3 while循环 1.4 面向对象 2. ROS基础 2.1 ROS概念 ...

最新文章

  1. C++打开的文件一定要用close()方法关闭
  2. 魅族android6.0,【魅族魅蓝5s评测】迷人Flyme 安卓6.0提升流畅度_手机评测-中关村在线...
  3. Hadoop学习之路(十八)MapReduce框架Combiner分区
  4. 深度学习经典算法 | 遗传算法详解
  5. linux显卡驱动未加载,Linux下无显卡驱动的解决办法
  6. 高级着色语言HLSL入门(7)
  7. linux中编辑好的源如何保存,Linux下, Eclipse C/C++ IDE下编辑好C/C++源程序之后要先保存!!!否则,就会……...
  8. 基于情感词典的网络文本情感倾向分类模型
  9. android模拟器设置静态ip,安卓模拟器多开窗口挂手游切换不同IP防封号技术讲解...
  10. 汇编语言项目创建指南 - Visual Studio
  11. 手机摄像头采集并推流_助力网上广交会—OBS直播推流软件简易教程
  12. 小米笔记本bios版本大全_RedmiBook 14笔记本评测:初来乍到却熟路轻辙
  13. 工程经济—技术方案经济效果评价
  14. 5分钟学会用代码发送邮件
  15. The Balance POJ - 2142
  16. H2教程系列(二) 创建数据库
  17. fastjson转换json字符串key的首字母小写变大写的解决办法
  18. java基础学习:java中的反射
  19. [BZOJ1067][SCOI2007]降雨量(线段树)
  20. 腾讯T3大佬亲自教你!dockercommit打包镜像

热门文章

  1. 基于词频求两篇从文件读入的英文文章的相似度
  2. 程序员的英语学习!对于像进一步提升自己的人来说,很重要哟!
  3. 中国果汁饮料行业营销状况与竞争趋势预测报告(2022-2027年)
  4. 一位女程序员兼俩小子妈咪的人生历程(1)
  5. 路由器可以上网但是显示没有连接到服务器,路由器不可上网怎么设置_路由器可以连接但无法上网怎么办...
  6. 基于JSP的在线学习网站 的设计与实现
  7. 生产者消费者模式剖析
  8. hcia是什么等级的证书_HCIA是什么等级的证书
  9. ios swift MVVM实例(Model-View-ViewModel)
  10. celeste第二章_蔚蓝_第二章_初露锋芒_免费小说阅读_飞卢小说网