自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

赵虚左

传道授业解惑,愿更多人一同加入到机器人行业中

  • 博客(22)
  • 收藏
  • 关注

原创 2.1.1 理论模型

ROS入门 2.1.1 理论模型《ROS入门-理论与实践》视频教程镇楼话题通信实现模型是比较复杂的,该模型如下图所示,该模型中涉及到三个角色:ROS Master (管理者)Talker (发布者)Listener (订阅者)ROS Master 负责保管 Talker 和 Listener 注册的信息,并匹配话题相同的 Talker 与 Listener,帮助 Talker 与 Listener 建立连接,连接建立后,Talker 可以发布消息,且发布的消息会被 Listener 订阅

2021-02-28 22:12:06 829

原创 2.2 服务通信

ROS入门 2.2 服务通信《ROS入门-理论与实践》视频教程镇楼服务通信也是ROS中一种极其常用的通信模式,服务通信是基于请求响应模式的,是一种应答机制。也即: 一个节点A向另一个节点B发送请求,B接收处理请求并产生响应结果返回给A。比如如下场景:机器人巡逻过程中,控制系统分析传感器数据发现可疑物体或人… 此时需要拍摄照片并留存。在上述场景中,就使用到了服务通信。一个节点需要向相机节点发送拍照请求,相机节点处理请求,并返回处理结果与上述应用类似的,服务通信更适用于对时时性有要求、具

2021-02-27 23:09:51 399

原创 2.2.4 服务通信自定义srv调用B(Python)

ROS入门 2.2.4 服务通信自定义srv调用B(Python)《ROS入门-理论与实践》视频教程镇楼需求:编写服务通信,客户端提交两个整数至服务端,服务端求和并响应结果到客户端。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:服务端客户端数据流程:编写服务端实现;编写客户端实现;为python文件添加可执行权限;编辑配置文件;编译并执行。0.vscode配置需要像之前自定义 msg 实现一样配置s

2021-02-27 23:03:06 505

原创 2.2.3 服务通信自定义srv调用A(C++)

ROS入门 2.2.3 服务通信自定义srv调用A(C++)《ROS入门-理论与实践》视频教程镇楼需求:编写服务通信,客户端提交两个整数至服务端,服务端求和并响应结果到客户端。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:服务端客户端数据流程:编写服务端实现;编写客户端实现;编辑配置文件;编译并执行。0.vscode配置需要像之前自定义 msg 实现一样配置c_cpp_properies.json 文件

2021-02-27 23:01:16 443

原创 2.2.2 服务通信自定义srv

ROS入门 2.2.2 服务通信自定义srv《ROS入门-理论与实践》视频教程镇楼需求:服务通信中,客户端提交两个整数至服务端,服务端求和并响应结果到客户端,请创建服务器与客户端通信的数据载体。流程:srv 文件内的可用数据类型与 msg 文件一致,且定义 srv 实现流程与自定义 msg 实现流程类似:按照固定格式创建srv文件编辑配置文件编译生成中间文件1.定义srv文件服务通信中,数据分成两部分,请求与响应,在 srv 文件中请求和响应使用---分割,具体实现如下:

2021-02-27 22:59:10 476

原创 2.2.1 服务通信理论模型

ROS入门 2.2.1 服务通信理论模型《ROS入门-理论与实践》视频教程镇楼服务通信较之于话题通信更简单些,理论模型如下图所示,该模型中涉及到三个角色:ROS master(管理者)Server(服务端)Client(客户端)ROS Master 负责保管 Server 和 Client 注册的信息,并匹配话题相同的 Server 与 Client ,帮助 Server 与 Client 建立连接,连接建立后,Client 发送请求信息,Server 返回响应信息。整个流程由以下

2021-02-27 22:56:10 469

原创 2.1.6 话题通信自定义msg调用B(Python)

ROS入门 2.1.6 话题通信自定义msg调用B(Python)《ROS入门-理论与实践》视频教程镇楼需求:编写发布订阅实现,要求发布方以1HZ(每秒1次)的频率发布自定义消息,订阅方订阅自定义消息并将消息内容打印输出。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:发布方接收方数据(此处为自定义消息)流程:编写发布方实现;编写订阅方实现;为python文件添加可执行权限;编辑配置文件;编译并执行。0.

2021-02-26 19:39:46 381

原创 2.1.5 话题通信自定义msg调用A(C++)

ROS入门 2.1.5 话题通信自定义msg调用A(C++)《ROS入门-理论与实践》视频教程镇楼需求:编写发布订阅实现,要求发布方以10HZ(每秒10次)的频率发布自定义消息,订阅方订阅自定义消息并将消息内容打印输出。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:发布方接收方数据(此处为自定义消息)流程:编写发布方实现;编写订阅方实现;编辑配置文件;编译并执行。0.vscode 配置为了方便代码提示以

2021-02-26 19:37:55 567

原创 2.1.4 话题通信自定义msg

ROS入门 2.1.4 话题通信自定义msg《ROS入门-理论与实践》视频教程镇楼在 ROS 通信协议中,数据载体是一个较为重要组成部分,ROS 中通过 std_msgs 封装了一些原生的数据类型,比如:String、Int32、Int64、Char、Bool、Empty… 但是,这些数据一般只包含一个 data 字段,结构的单一意味着功能上的局限性,当传输一些复杂的数据,比如: 激光雷达的信息… std_msgs 由于描述性较差而显得力不从心,这种场景下可以使用自定义的消息类型msgs只是简单的

2021-02-26 19:34:44 704 5

原创 2.1.3 话题通信基本操作B(Python)

ROS入门 2.1.3 话题通信基本操作B(Python)《ROS入门-理论与实践》视频教程镇楼需求:编写发布订阅实现,要求发布方以10HZ(每秒10次)的频率发布文本消息,订阅方订阅消息并将消息内容打印输出。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:发布方接收方数据(此处为普通文本)流程:编写发布方实现;编写订阅方实现;为python文件添加可执行权限;编辑配置文件;编译并执行。1.发布方#!

2021-02-25 18:58:56 403

原创 2.1.2 话题通信基本操作A(C++)

ROS入门 2.1.2 话题通信基本操作A(C++)《ROS入门-理论与实践》视频教程镇楼需求:编写发布订阅实现,要求发布方以10HZ(每秒10次)的频率发布文本消息,订阅方订阅消息并将消息内容打印输出。分析:在模型实现中,ROS master 不需要实现,而连接的建立也已经被封装了,需要关注的关键点有三个:发布方接收方数据(此处为普通文本)流程:编写发布方实现;编写订阅方实现;编辑配置文件;编译并执行。1.发布方/* 需求: 实现基本的话题通信,一方发

2021-02-25 18:56:34 728 1

原创 第 2 章 ROS通信机制

第一章内容主要介绍了ROS的相关概念、设计目标、发展历程等理论知识,安装了 ROS 并搭建了 ROS 的集成开发环境,编写了第一个 ROS小程序,对ROS实现架构也有了宏观的认识。ROS的大门已经敞开,接下来就要步入新的征程了。《ROS入门-理论与实践》视频教程镇楼ROS入门学习 第 2 章 ROS通信机制机器人是一种高度复杂的系统性实现,在机器人上可能集成各种传感器(雷达、摄像头、GPS…)以及运动控制实现,为了解耦合,在ROS中每一个功能点都是一个单独的进程,每一个进程都是独立运行的。更确切

2021-02-25 18:45:30 1920

原创 1.5 ROS架构

1.5 ROS架构《ROS入门-理论与实践》视频教程镇楼到目前为止,我们已经安装了ROS,运行了ROS中内置的小乌龟案例,并且也编写了ROS小程序,对ROS也有了一个大概的认知,当然这个认知可能还是比较模糊并不清晰的,接下来,我们要从宏观上来介绍一下ROS的架构设计。立足不同的角度,对ROS架构的描述也是不同的,一般我们可以从设计者、维护者、系统结构与自身结构4个角度来描述ROS结构:1.设计者ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilitie

2021-02-24 20:29:32 523

原创 1.5.1 ROS文件系统

1.5.1 ROS文件系统《ROS入门-理论与实践》视频教程镇楼ROS文件系统级指的是在硬盘上ROS源代码的组织形式,其结构大致可以如下图所示:WorkSpace --- 自定义的工作空间 |--- build:编译空间,用于存放CMake和catkin的缓存信息、配置信息和其他中间文件。 |--- devel:开发空间,用于存放编译后生成的目标文件,包括头文件、动态&静态链接库、可执行文件等。 |--- src: 源码 |-- packa

2021-02-24 20:17:30 669

原创 1.4 ROS集成开发环境搭建

1.4 ROS集成开发环境搭建《ROS入门教程-理论与实践》视频教程镇楼和大多数开发环境一样,理论上,在 ROS 中,只需要记事本就可以编写基本的 ROS 程序,但是工欲善其事必先利其器,为了提高开发效率,可以先安装集成开发工具和使用方便的工具:终端、IDE…文章目录1.4 ROS集成开发环境搭建《ROS入门教程-理论与实践》视频教程镇楼1.4.1 安装终端1.安装2.添加到收藏夹3.Terminator 常用快捷键1.4.2 安装VScode1.下载2.vscode 安装与卸载2.1 安装2.2

2021-02-23 20:18:06 716

原创 1.4.2 安装VScode

ROS入门学习 1.4.2 安装VScode《ROS入门-理论与实践》视频教程镇楼文章目录ROS入门学习 1.4.2 安装VScode《ROS入门-理论与实践》视频教程镇楼1.下载2.vscode 安装与卸载2.1 安装2.2 卸载3.vscode 集成 ROS 插件4.vscode 使用_基本配置4.1 创建 ROS 工作空间4.2 启动 vscode4.3 vscode 中编译 ros4.4 创建 ROS 功能包4.5 C++ 实现4.6 python 实现4.7 配置 CMakeLists.t

2021-02-23 19:58:07 1222

原创 1.2.5 测试 ROS

1.2.5 测试 ROS《ROS理论与实践》视频镇楼ROS 内置了一些小程序,可以通过运行这些小程序以检测 ROS 环境是否可以正常运行首先启动三个命令行(ctrl + alt + T)命令行1键入:roscore命令行2键入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面)命令行3键入:rosrun turtlesim turtle_teleop_key(在3中可以通过上下左右控制2中乌龟的运动)最终结果如下所示:注意:光标必须聚焦在键盘控制窗

2021-02-20 15:26:37 735

原创 1.2.2 虚拟一台主机

1.2.2 虚拟一台主机使用 virtual 虚拟计算机的过程也不算复杂,只需要按照提示配置其相关参数即可

2021-02-19 18:10:04 268

原创 1.2.1 安装虚拟机软件

1.2.1 安装虚拟机软件1.下载virtualbox安装 virtualbox 需要先访问官网,下载安装包,官网下载地址:https://www.virtualbox.org/wiki/Downloads2.安装virtualboxvirtualbox 安装比较简单,如果没有特殊需求,双击安装文件,一直 “下一步” 即可。 TuSfFs4b-1613729222235)]安装完毕后,虚拟机已经可以正常启动了,接下来需要使用其虚拟出一台计算机...

2021-02-19 18:08:06 257

转载 1.2 ROS安装

1.2 ROS安装我们使用的是 ROS 版本是 Noetic,那么可在ubuntu20.04、Mac 或 windows10 系统上安装,虽然一般用户平时使用的操作系统以windows居多,但是ROS之前的版本基本都不支持windows,所以当前我们选用的操作系统是 ubuntu,以方便向历史版本过渡。ubuntu安装常用方式有两种:实体机安装 ubuntu (较为常用的是使用双系统,windows 与 ubuntu 并存);虚拟机安装 ubuntu。两种方式比较,各有优缺点:方案1可以保证

2021-02-19 18:05:52 650

转载 1.1 ROS简介

1.1 ROS简介文章目录1.1 ROS简介**ROS诞生背景**1.1.1ROS概念1.1.2ROS设计目标1.1.3ROS发展历程ROS诞生背景机器人是一种高度复杂的系统性实现,机器人设计包含了机械加工、机械结构设计、硬件设计、嵌入式软件设计、上层软件设计…是各种硬件与软件集成,甚至可以说机器人系统是当今工业体系的集大成者。机器人体系是相当庞大的,其复杂度之高,以至于没有任何个人、组织甚至公司能够独立完成系统性的机器人研发工作。一种更合适的策略是:*让机器人研发者专注于自己擅长的领域,

2021-02-19 17:41:47 3563 1

原创 第 1 章 ROS概述与环境

第 1 章 ROS概述与环境学习是一个循序渐进的过程,具体到计算机领域的软件开发层面,每当接触一个新的知识模块时,按照一般的步骤,我们会先去了解该模块的相关概念,然后再安装官方软件包,接下来再搭建其集成的开发环境…这些准备工作完毕之后,才算是叩开了新领域的大门。学习ROS,我们也是遵循这一流程,本章作为ROS体系的开篇主要内容如下:ROS的相关概念怎样安装ROS如何搭建ROS的集成开发环境该章内容学习完毕预期达成的目标如下:了解 ROS 概念,设计目标以及发展历程能够独立安装并运行 R

2021-02-19 17:38:36 1308 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除