技术标签: 自动驾驶 机器学习 ROS 机器人操作系统 ROS 人工智能
ROS 是 Robot Operating System 的缩写,通常称为“机器人操作系统”。但它并不是一个真正的操作系统,而是一个面向机器人的开源的元操作系统(meta-operating system),提供类似传统操作系统的诸多功能:硬件抽象、底层设备控制、常用功能实现、进程间消息传递、程序包管理等。并且提供相关工具和库,用于获取、编译、编辑代码以及在多个计算机之间运行程序完成分布式计算。
本教程将介绍 ROS 的产生、发展、特点和安装方法,以及 ROS 的相关概念,并通过一些简单的示例演示如何使用 ROS 进行机器人项目开发。
ROS 为机器人软件开发带来的优势:
ROS 的首要设计目标是在机器人研发领域提高代码复用率。ROS 是一种分布式处理框架(又名 Nodes),这使可执行文件能被单独设计,并且在运行时松散耦合。这些过程可以封装到数据包(Packages)和堆栈(Stacks)中,以便于共享和分发。ROS 还支持代码库的联合系统,使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地决定发展和实施工作成为可能。上述所有功能都能由 ROS 的基础工具实现。
为了实现“共享与协作”这一首要目标,人们制订了 ROS 架构中的其他支援性目标:
在 ROS 的计算图中,ROS 的 Master 以一个 name service 的方式工作。它给 ROS 的节点存储了 topics 和 service 的注册信息。Nodes 与 Master 通信从而报告它们的注册信息。当这些节点与 master 通信的时候,它们可以接收关于其他以注册节点的信息并且建立与其它以注册节点之间的联系。当这些注册信息改变时,Master 也会回馈这些节点,同时允许节点动态创建与新节点之间的连接。
ROS 节点之间的连接是直接的,Master 仅仅提供了查询信息,就像一个 DNS 服务器。节点订阅一个 topic 将会要求建立一个与发布该 topics 的节点的连接,并且将会在同意连接协议的基础上建立该连接。ROS 里面使用最广的连接协议是 TCPROS,这个协议使用标准的 TCP/IP 接口。
这样的架构允许解耦操作(decoupled operation),通过这种方式大型或是更为复杂的系统得以建立,其中 names 方式是一种行之有效的手段。names 方式在 ROS 系统中扮演极为重要的角色:topics, services, and parameters 都有各自的 names。每一个 ROS 客户端库都支持重命名,这等同于,每一个编译成功的程序能够以另一种形似【名字】运行。
ROS 通信接口正在成为机器人软件互操作的事实标准。也就是说,绝大部分最新的硬件驱动和最前沿的算法实现都可以在 ROS 中找到。例如,在 ROS 的官方网页 上有着大量的开源软件库,这些软件使用 ROS 通用接口,从而避免为了集成它们而重新开发新的接口程序。
ROS 操作方便、功能强大,特别适用于机器人这种多节点多任务的复杂场景。自 2010 年诞生以来,ROS 就受到了学术界和工业界的欢迎,如今已经广泛应用于机械臂、移动底盘、无人机等许多种类的机器人上。这些机器人可以是自主的、半自主的、遥控的。
覆盖类人机器人、工业机器人、服务机器人、医疗机器人、娱乐机器人、康复机器人、群体机器人、无人机、无人车、无人艇、微纳米机器人…
文章浏览阅读707次。Shader定义:官方的定义是这样的: Shader是返回水平跨度颜色的对象的基类,绘图期间。 Shader的子类安装在Paint调用中,paint.setShader(着色器)。 之后的任何对象(除了位图之外)都是使用该绘制绘制将从着色器获取其颜色。它有五个子类,分别是:SweepGradient、LinearGradient、BitmapShader、Compose..._android sweepgradient
文章浏览阅读530次。222_通信emm substate
文章浏览阅读2.9w次,点赞15次,收藏48次。ABAQUS CAE安装启动问题(No socket connection to license server manager )_no socket connection to license server manager. feature: cae license path: 2
文章浏览阅读1w次,点赞9次,收藏39次。IDEA使用的最新文档IDEA使用的中文文档第一位登场的是@额,还不清到底有啥用第二位登场的是O这个表示是覆盖了原来的方法第三位登场的是λ表示当前的方法是属于jdk8的语法规则lambda第三位登场的是I属于接口中的一个方法,实现类的方法可以通过点击这个小图标来进行找到第四位登场的是>表示当前的方法是可以被执行的第五位登场的是一个小L..._idea的图标
文章浏览阅读2.4k次。事务码:MIGO1.选择A01收货,输入采购订单号,回车2.勾选“项目确定” 在序号这里输入序列号,检查,过账即可生成物料凭证号后,可以再取消这张收货凭证ME23N 查看所有生成的物料凭证_sap migo操作手册 csdn
文章浏览阅读1k次。K3 WISE V13.0在Windows Server 2008 R264位操作系统下的安装配置说明环境:1、Windows Server 2008 R2 64位操作系统;2、K3 WISE V13.0;3、SQLServer2005 32位+SQL SP4;一、Windows Server 2008 R2 64位操作系统配置如下:1、 固定计算机名和手工指定IP地址,共享一个文件夹,赋予ev..._2008r2如何安装13.0k/3wise客户端
文章浏览阅读645次。SOAP (Simple Object Access Protocol) 顾名思义,是一个严格定义的信息交换协议,用于在Web Service中把远程调用和返回封装成机器可读的格式化数据。事实上SOAP数据使用XML数据格式,定义了一整套复杂的标签,以描述调用的远程过程、参数、返回值和出错信息等等。而且随着需要的增长,又不得增加协议以支持安全性,这使SOAP变得异常庞大,背离了简单的初衷。另一方面,各个服务器都可以基于这个协议推出自己的API,即使它们提供的服务及其相似,定义的API也不尽相同,这又导致.._soap是指什么
文章浏览阅读1.2w次。目录引入依赖包配置文件Spring相关配置路由配置限流规则代码限流原理自定义过滤器公用过滤器引入依赖包 <dependencies> <!-- gateway核心包 --> <dependency> <groupId>org.springframe...
文章浏览阅读409次。需求:把左边的文字,一个接一个转移到右边技术:定时器,定时器管理,substring()截取字符串,进度条(取模实现)<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <title>文字搬运工</title> &...
文章浏览阅读3k次。边缘计算正处于技术的研究热点期,各大厂商、科研机构正在制定标准和规范,虽未达成共识,但国内外已形成多个产业联盟,大力推动边缘计算的标准和技术进步。截至2018年底,中国边缘计算市场仍处于..._5g网络的边缘计算
文章浏览阅读1k次。简介其他各类实训答案的目录见这里答案查询的入口网页版答案获取的方法简介见这里并不是所有的关卡都有答案,有些只有部分关卡有html网页综合项目实战 >>>查看第1关:header——头部第2关:用Swiper实现轮播图第3关:用CSS3实现移动效果..._头哥html网页综合实战答案
文章浏览阅读3.2k次,点赞3次,收藏7次。ret, frame = cap.read()返回值含义:参数ret 为True 或者False,代表有没有读取到图片第二个参数frame表示截取到一帧的图片camera = cv2.VideoCapture(0)ret, frame = camera.read()_ret, frame = cap.read()循环了多少次