首页 文章 精选 留言 我的

精选列表

搜索[开源操作系统],共10000篇文章
优秀的个人博客,低调大师

机器人操作系统(ROS)教程4:ROS的框架【转】

转自:http://www.arduino.cn/thread-11351-1-1.html 在进行ROS的代码开发前,有必要了解一些ROS的概念。首先,ROS的系统代码分为两部分:main和universe。1.main:是ROS的核心部分,它提供了一基本的工具,以及整个ROS的核心部分的程序编写。2.universe:全球范围的代码,有不同国家的ROS社区组织开发和维护。一种是库的代码,如OpenCV、PCL等;库的上一层是从功能角度提供的代码,如人脸识别,他们调用下层的库;最上层的代码是应用级的代码,让机器人完成某一确定的功能。还可以从另一种方式对ROS进行分级,分为三个级:计算图级、文件系统级、社区级。下面是说明图。<ignore_js_op>一、计算图级 计算图是ROS处理数据的网络图。程序运行时,所有进程以及他们所进行的数据处理,将会通过一种点对点的网络形式表现出来。这一级主要包括几个重要概念:节点(node)、消息(message)、主题(topic)、服务(service)。 <ignore_js_op> 1、节点 节点就是一些执行运算任务的进程。就像是计算机里的应用程序。你可以通过节点来发布消息使机器人运动。 2、消息 节点之间是通过传送消息进行通讯的。 3、主题 <ignore_js_op> 消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,发布者和订阅者不了解彼此的存在。这就好比是一个讨论,给定一个讨论的主题。这时一群人加进了讨论,这就叫订阅。而每一个参与者就是节点。在讨论中有的人发布消息(publish),有的人只是聆听,不说话(subscribe)。说话的人和聆听的人并不一定认识。 4、服务 在ROS中通讯方式有两种:一种就是上面的节点之间通过发布/订阅话题来进行通讯的方式。还有一种就是服务,在这种方式下:一个用于请求,一个用于回应。这类似于web服务器。在上面概念的基础上,需要有一个控制器可以使所有节点有条不紊的执行,这就是一个ROS的控制器(ROS Master)。 ROS Master 通过RPC(Remote Procedure Call Protocol,远程过程调用)提供了登记列表和对其他计算图表的查找。没有控制器,节点将无法找到其他节点,交换消息或调用服务。 比如控制节点订阅和发布消息的模型如下:<ignore_js_op>ROS的控制器给ROS的节点存储了主题和服务的注册信息。节点与控制器通信从而报告它们的注册信息。当这些节点与控制器通信的时候,它们可以接收关于其他以注册及节点的信息并且建立与其它以注册节点之间的联系。当这些注册信息改变时控制器也会回馈这些节点,同时允许节点动态创建与新节点之间的连接。 节点与节点之间的连接是直接的,控制器仅仅提供了查询信息,就像一个DNS服务器。节点订阅一个主题将会要求建立一个与出版该主题的节点的连接,并且将会在同意连接协议的基础上建立该连接。 另:ROS控制器控制服务:<ignore_js_op>二、文件系统级ROS文件系统级指的是在硬盘上面查看的ROS源代码的组织形式。它包括两个最基本的概念:Package和Manifest,即包和清单文件。 Package是组织ROS代码的最基本单位,每一个Package都可以包括库文件,可执行文件,脚本及其它的一些文件。 Manifest文件是对Package的相关信息的一个描述。他提供了Package之间的依赖性,以及一个包的元信息,比如版本、维护着和许可证等信息。三、社区级ROS的社区级概念是ROS网络上进行代码发布的一种表现形式。代码库的联合系统。使得协作亦能被分发。这种从文件系统级别到社区一级的设计让独立地发展和实施工作成为可能。正是因为这种分布式的结构,似的ROS迅速发展,软件仓库中包的数量指数级增加。 【作者】 张昺华 【出处】 http://www.cnblogs.com/sky-heaven/ 【博客园】 http://www.cnblogs.com/sky-heaven/ 【新浪博客】 http://blog.sina.com.cn/u/2049150530 【知乎】 http://www.zhihu.com/people/zhang-bing-hua 【我的作品---旋转倒立摆】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【我的作品---自平衡自动循迹车】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【新浪微博】 张昺华--sky 【twitter】 @sky2030_ 【facebook】 张昺华 zhangbinghua 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.

优秀的个人博客,低调大师

Apple 操作系统安全更新公告出现一串 AI 名字

Apple 昨天推送了一批安全更新,iOS 26.6、macOS Tahoe 26.6、macOS Sequoia 15.7.8、macOS Sonoma 14.8.8、tvOS 26.6、watchOS 26.6、visionOS 26.6 全线上新。安全公告一共列了 155 个 CVE,单次更新数量的新纪录。 但最值得注意的不是数量。 漏洞致谢名单里出现了一串 AI 的名字。Claude。OpenAI Codex Security。Z.AI 的 GLM。NVIDIA AI Red Team。这不是第一次——上个月的安全公告已经开始出现零星 AI 署名——但这次是成批出现。 其中最有分量的条目来自 Calif.io。这个安全研究团队用 Anthropic 的 Mythos Preview 模型,在五天内构建了一个针对 M5 芯片的 macOS 内核内存损坏漏洞的完整利用。他们更早前已经演示过这个成果,这次直接被列进了 Apple 的正式公告。Anthropic 通过 Project Glasswing 从 4 月起就开始向合作伙伴提供 Mythos Preview 的访问权限,所以 Apple 内部用它挖出来的漏洞数量「可能远多于公开致谢的部分」。 Claude 的名字出现在 WebKit、WebKit Storage 和 WebDAV 的修复条目中。内核部分最拥挤——同一条底层缺陷被十几个独立研究者同时发现,三十多个 CVE 全部挂在内核头上。 这不是一次性的巧合。AI 参与安全研究这件事正在从实验阶段进入生产流程。此前 Mythos Preview 已经展示过在真实 macOS 内核上构造 exploit 的可行性。现在它作为正式的漏洞发现工具出现在了 Apple 的安全公告里。 科技媒体 9to5Mac 给了一个判断:公司需要根据这个新的现实调整更新节奏和漏洞奖励计划。当 AI 可以在五天内从零构造一个内核 exploit 的时候,传统的月度补丁窗口可能不够用了。 这件事的另一面也同样值得关注。同样的工具既可以被防御者用来挖漏洞,也可以被攻击者用来做同样的事。155 个 CVE 里有 AI 贡献的部分,也有 AI 可能让问题加速恶化的那些部分。目前致谢名单只体现了前者。 参考来源: Claude, Codex, and other AI tools credited in today's Apple security releases — 9to5Mac Apple security releases — Apple Support

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册