ROS-机器人操作系统(ROS)浅析----第三章
博客摘录于:机器人操作系统(ROS)浅析–[美] Jason M. O’Kane 著–肖军浩 译
第三章 编写ROS程序
前两章的摘录,其实就是想提醒下学习ROS前期过程中可能遇到的问题以及部分困惑。
catkin_create_pkg pkg-name
其实,这个功能包创建命令没有做太多工作,它只不过创建了一个存放这个功能包的目录,并在那个目录下生成了两个配置文件。
第一个配置文件,叫做package.xml,清单文件。
第二个文件,叫做CMakeLists.txt,是一个Cmake的脚本文件,Cmake是一个符合工业标准的跨平台编译系统。这个文件包含了一系列的编译指令,包括应该生成哪种可执行文件,需要哪些源文件,以及在哪里可以找到所需的头文件和链接库。当然,这个文件表明catkin在内部使用了Cmake。
ROS包的命名遵循一个命名规范,只允许使用小写字母、数字和下划线,而且首字符必须是一个小写字母。一些ROS工具,包括catkin,不支持那些不遵循此命名规范的包。
24 geometry_msgs : : Twist msg ;
25 msg.linear . x = double ( rand ( ) ) / double (RAND_MAX) ;
26 msg.angular.z = 2* double ( rand ( ) )/double (RAND_MAX) − 1 ;
27
28 // Publish the message .
29 pub . publish ( msg ) ;
msg消息发布相关运动
ros::Subscriber
15 int main ( int argc , char ** argv ) {
16 // Initialize the ROS system and become a node .
17 ros::init ( argc , argv , " subscribe_to _pose " ) ;
18 ros::NodeHandle nh ;
19
20 // Create a subscri ber obj ect .21 ros::Subscriber sub = nh.subscribe ( " turtle1/pose " ,1000,
22 &poseMessageReceived ) ; //CallBack;
23
24 // Let ROS take over .
25 ros::spin ( ) ;
对ROS进行消息机制的处理中,需要清晰明白的了解自己想发布和订阅的节点,或者自己定义,通过遵循ROS的机制即可,中途对msg的应用需要留意下。
ROS-机器人操作系统(ROS)浅析----第三章相关推荐
- ROS机器人操作系统学习笔记(三)ROS通信架构
ROS机器人操作系统学习笔记(三)ROS通信架构 ROS的通信架构是ROS的灵魂,也是整个ROS正常运行的关键所在.ROS通信架构包括各种数据的处理,进程的运行,消息的传递等等.本章主要介绍了通信架构 ...
- ROS 机器人操作系统进阶实战
ROS(Robot Operating System) 是一个开源的机器人操作系统,目的是提供开发平台.工具及生态给开发人员,可以让开发人员快速开发.本课程通过精心设计的案例,分析技术要点.理解运行原 ...
- ROS机器人从零开始——ROS的认识与理解
ROS机器人从零开始--ROS的认识与理解 **说明:博客的主要目的是帮助想要学习ROS的朋友建立一套系统的ROS学习流程,快速的掌握基于ROS的开发过程,避免走弯路.本系列博客记录了ROS的仿真学习 ...
- 一文读懂自动驾驶中的机器人操作系统ROS
一.什么是机器人操作系统ROS 1.ROS(Robot Operating System)是一个操作系统 ROS是对机器人的硬件进行了封装,不同的机器人.不同的传感器,在ROS里可以用相同的方式表示( ...
- 机器人操作系统ROS 编程开发--详细总结
最近工作涉及到自动驾驶的,需要学习ROS,学习中总结了一些知识点,分享给大家. ROS基本介绍 机器人操作系统ROS,是一种分布式处理框架(又名Nodes),ROS常用C++和python编程语言开发 ...
- 机器人操作系统ROS(4)话题编程
此节的前提是已经创建好工作空间,请参考 工作空间 一.话题通讯模型 二.话题编程实现 1. 实现发布者(Talker) a.在~/catkin_ws/src/learning_communicaton ...
- 从零打造一个机器人002【初识机器人操作系统--ROS】
从零打造一个机器人002[初识机器人操作系统–ROS] 1.ROS是什么 ROS是一个适用于机器人的开源的元操作系统.其实它并不是一个真正的操作系统,其底层的任务调度.编译.寻址等任务还是由Linux ...
- 使用机器人操作系统ROS 2和仿真软件Gazebo 9搭建机器人教程(一)
参考链接:https://github.com/bunchofcoders/basic_bocbot 本文为使用ROS 2和Gazebo9搭建仿真机器人详细指南. 确保已按如下说明安装ROS和Gaze ...
- <笔记>机器人操作系统ROS理论与实践--第一讲:认识ROS
<笔记>机器人操作系统ROS理论与实践--第一讲:认识ROS 前言 一.为什么需要ROS 二.ROS的总体设计 1.一个目标 2.五个特点 3.四位一体 三.ROS的系统实现--三个层次 ...
- 机器人操作系统ROS—深度相机+激光雷达实现vSLAM建图与导航 转载
原文:机器人操作系统ROS-深度相机+激光雷达实现vSLAM建图与导航_wx5d23599e462fa的技术博客_51CTO博客 这次将带大家学习如何使用深度相机实现机器人的视觉SLAM建图及导航. ...
最新文章
- puppet运维自动化之yum仓库管理
- 什么是m叉树_重型货架是什么?重型仓储货架介绍
- AndroidStudio2.2 Preview3中NDK开发之CMake和传统 JNI在目录结构和配置文件上的区别
- 数据结构 递归讲解
- 仿windows造字程序的 ASP.NET图片组合生成控件
- Go 语言新提案:添加模糊测试支持
- 微信公众号页面支付接口java,[Java教程]微信公众号支付(三):页面调用微信支付JS并完成支付...
- [转载]----linux系统工程师的前途在哪里?
- LeetCode 474. Ones and Zeroes 动态规划解法+拓展
- pytest框架实现一些前后置(固件,夹具)的处理
- t3显示乱码_打开T3出现乱码是什么原因,如下图
- 一个Java对象到底占多大内存?
- 全网最详细教程(上):教你如何从0-1制作出一张可视化大屏
- 设计在链式存储结构上交换二叉树中所有结点左右子树的算法
- 建筑工地使用的人脸识别门禁实名制管理系统是什么
- 0006 -求三个数的平均数
- Unity VR游戏教程
- 宋宝华:世上最好的共享内存(Linux共享内存最透彻的一篇)
- 【简陋Web应用3】实现人脸比对
- app四种开发模式区别,网页链接转app优缺点