通常而言,通过ROS进行机器人开发设计,需要查阅C++或Python等文档,也需要时常翻阅ROS wiki和GitHub。
Zeal和Dash在各自的官网都有详细的安装和使用说明,不做具体说明了。这里以Zeal为例做些简单介绍一下。
软件安装成功后,打开界面如下,windows和Linux基本完全一样:
在Edit--Preferences中,可以配置如下一些内容:
在Tools--Docsets中,可以进行离线文档的安装:
ROS离线文档点击Add feed,使用(https://raw.githubusercontent.com/famalgosner/ros.org.docset/master/ROS.xml)
在Available中可以看到有非常丰富的文档资源:
安装完成后,就可以看到ROS离线文档了。
但是如果网络卡壳怎么办?famalgosner给出了解决方案:
遇到一个API的问题,但互联网连接或ROS服务器连接不上或不稳定,无法查找正在使用的API函数的信息。
这种情况不会再出现了!现在有针对此问题的解决方案!
使用Zeal (Linux,OSX,Windows)或Dash (OSX)。 这两个软件都是具有搜索功能的脱机文档浏览器,超方便快捷,即使在最偏远的实验室,也可以随时随地使用。
之前,还没有ROS的版本的“docset”,但现在终于有了。 目前它包含这些ROS包:
当然,通常添加所有的 ROS软件包是没有问题的,但是它会变得相当大,很多软件包不能提供一个好的API文档。 但核心软件包包含在当前的文档集中。
docset可以在这里找到:https://github.com/famalgosner/ros.org.docset 安装Zeal或Dash,并按照README的说明在github存储库中,然后就可以开始了。
如果您发现任何问题,或者想要将其他优秀软件包添加到上面的列表中,请通知我,例如在存储库中打开一个问题。
----
该存储库包含机器人操作系统(ROS)的docset。它可以与Zeal或Dash一起使用
这里解释了如何将ROS文档添加到您的docset中
https://raw.githubusercontent.com/famalgosner/ros.org.docset/master/ROS.xml
启动Zeal并打开Docsets设置(Tools --> Docsets...)。 所有文档更新完毕后,点击添加 feed 按钮。 添加这个网址(离线文档),文档将被下载。未来的更新将自动安装。
开始Dash并打开首选项(preferences)。 导航到 下载(Downloads ),然后单击底部的加号。 添加Feed网址,您就可以开始了。
在这里的官方页面上有一些很好的文档来构建你自己的docset Dash - Docset Generation Guide
要构建一个包含ROS包的文档集,您可以按照以下步骤操作。
doxygen Doxyfile
在文件夹中运行。Doxyfile可以在这个仓库中找到。放置在所有ros软件包旁边的相同文件夹中html
目录make
python -m doxytag2zealdb --tag ../ROS.tag --db ROS.docset/Contents/Resources/docSet.dsidx --include-parent-scopes --include-function-signatures
ROS.docset
文件夹复制到文档浏览器库。Zeal和Linux就是这样~/.local/share/Zeal/Zeal/docsets
----
我目前正在开发一个监视正在运行的ROS系统的Android应用程序。目前它的测试非常非常好,功能有限,只是rosnode list和info,rostopic list和info的等价物。我制作这个应用程序是因为我的学生经常在我们的先驱P3-DX机器人外面运行ROS项目,在那里运行ROS命令行工具并不是很舒服。在智能手机或平板电脑上运行的应用程序可以检查ROS图形,显示特定主题上的消息内容等将更为方便。
该工具是免费的,将很快发布到开源社区(一旦版本1.0.0已经推出)。它目前在0.9.1版本,但我可能会在未来几周内提供一些更新。期待改进的稳定性,错误处理,布局等,我会很感激,如果你试试看,并确认它实际上(我只有一些Android设备/模拟器可用),理想情况下,我想这个测试尽可能多的人。
你可以在这里找到应用程序:https://play.google.com/store/apps/details?id = nl.joostvanstuijvenberg.introspect 19
感谢您尝试我的应用程序!Android 4.4是我开发的最低版本的Android版本(API 19),因为我拥有一个拥有4.4版本的“复古”三星平板电脑,并且有97%的Android版本能够在该平台上运行应用程序。
我决定既不使用rosjava也不使用rosandroid,而是开发自己的类与ROS主人进行沟通。这真的不是那么复杂,我想我不会使用这些库提供的大部分功能。另外,rosjava和rosandroid似乎是用来开发Java中的ROS节点,而我的应用程序需要查询ROS主控的功能。不知道这是否由这些图书馆提供; 将尽管检查它。
一旦我添加了一些更多的功能,做了很多重构并写了一些文档,我就会打开它。我正在考虑为它打开一个专用的GitHub.io页面。
同时,如果您愿意,可以在Google Play商店中留下评分。由于这是我第一次将应用程序部署到GPS,我很好奇这些评分是如何在Google Play控制台中显示的。而且由于我必须说服这里的一些人给我一些时间来致力于这个项目,有正面的反馈可能有助于说服他们
----
作者:Tully Foote时间:2017年11月7日上午9:41
今天我们很高兴庆祝活动十周年!
在2007年的这个日子,第一次提交给SourceForge上的ROS项目。
自那时起,ROS已经从第一次公开承诺发展到全球超过2800个人的20多万次提交。这些贡献已经累积了超过450万的重要代码行,遵循标准的开发工作估算人员,将花费169名全职开发人员8.5年。
作为一个开源社区,有时很难量化参与项目。为了帮助衡量我们能做的事情,我们开始制定年度计量报告。使用这些快照,ROS的进展是相当惊人的。
图表信息随着时间的推移可以在这篇文章中看到。每年显示月度唯一IP或总下载量等信息。
今年是一个很大的纪念日,我们很高兴看到还有许多人正在认识这个历史性的里程碑。已经有报道在科学机器人小号,ZDNe ŧ和IEEE Spectrum
为了突出更大的ROS社区,我们运行了一系列关于帮助社区发展的ROS贡献者的博客文章。
我们庆祝的另一种方式是为CTurtle,Indigo和Kinetic制作周年纪念版的T恤衫。您可以从以下方面订购:
CTurtle是我们的第一个版本,具有完整的标志。Indigo和Kinetic是我们目前的新的长期支持版本。通过展示我们有多少人来获得你的周年纪念衬衫来支持ROS社区。这是一个有限的运动,将于11月21日结束。
当然,如果你想贴纸,可以从贴纸骡子那里买到。
自从ROS成立以来,我们这些参与ROS的人,在过去的十年中,一直眨眼间。我们已经从第一次承诺走向行业标准。这个社区的热情,已经完成的工作的创造性,以及所有计划的结合,为ROS的未来画上了一幅非常光明的照片。我们都在Open Robotics,非常期待未来10年,甚至更远。
----
艾莉森·萨克斯顿
公司:丰田研究院首席研究员
最喜欢的虚构机器人: R2-D2。“他一直在寻找卢克,似乎总是有正确的工具。”
你是怎么进入机器人的?
我一直喜欢机器人帮助人的想法。我小时候对Logo的编程有过美好的回忆,还有看电影中机器人的感觉。
你是怎么听说ROS的?
当我开始在Robonaut项目的NASA工作时,我第一次听说ROS。当Robonaut有机会获得升级时,团队利用并升级了整个软件堆栈。现在,一个具有ROS功能的机器人正在国际空间站的轨道上运行。
你目前的ROS发展领域是什么?
我目前在许多ROS包中工作。丰田的人力支援机器人(HSR)目前建立在ROS之上。这也是RoboCup @ Home比赛的标准平台,可供大学参与
什么是你最喜欢和最不喜欢的事情?
关于ROS我最喜欢的事情是合作使用它是多么容易,特别是在研究界。在ROS 2中,我将改变很多事情:更可靠的通信和更好的消息控制。
如果你没有ROS,你会如何做不同的事情?
使用ROS,我可以轻松地启动和运行机器人。如果我没有它,我将不得不重新创建我自己的版本,或者为每个机器人创建一个自定义功能包集。
----
由Tully Foote于2017年11月8日上午10点19分
看起来我们不是昨天唯一记得ROS周年纪念的。以下是我们最近的一些新闻报道中的一些我们最喜欢的(当然是自私的)引用:
ROS的巫师:Willow车库和机器人操作系统 IEEE Spectrum的制作,Evan Ackerman和Erico Guizzo
Evan Ackerman在ROS的早期采访了八位涉及ROS如何成就的令人惊叹的口述历史的人。
我们真的可以创造一些能够让人们相互依靠的结果,而不是继续这个90%的复制别人已经完成的循环,如果你幸运的话,可以用一些新的东西来结束。 - Keenan Wyrobek “这是帮助设计ROS的原因之一,我认为:从第一天起,不止一个机器人在运行代码。” - 摩根奎格利 “我们打算建立最先进的硬件和软件,目标是成为一个机器人LAMP栈:你可以把它的开源软件,把你的商业模式放在最前面,你会有一个创业公司“ - 塔利·富特 “在整个董事会中,早期的采用者都没有采纳我们,甚至告诉他们应该 - 他们只是在那里看到它,认为它很酷,然后把它拿起来。 - 布赖恩Gerkey “Willow Garage同意让我们把所有的代码公开化,这真是疯狂,我们不仅开源,而且真的做到了 - 很多公司都会在内部开发他们的东西,偶尔也会发布但是这个周年纪念庆祝的事情之一就是我们承诺我们在公开的服务器上公开承诺的每一个承诺我认为对于一家公司来说这是一件了不起的事情我们基本上给了数百万价值的工作产品,这是一个大问题。“ 肯康利
生日快乐ROS: Greg Nichols开发的十年开源机器人 ZDNet
“你可以指出机器人历史上许多重要的时刻,但是这是现代机器人诞生的一年里最有力的竞争者。”
ROS的起源故事 ,由Keenan Wyrobek提供的IEEE Spectrum Guest Post机器人Linux
“在这篇文章中,我想分享机器人操作系统(ROS)早期故事中的一些不为人知的部分,希望能激励那些正在追求”疯狂“想法的人。
为世界机器人提供 动力 - 由张楠,罗伯特·梅里菲尔德,安东·德古特和杨广忠主持的ROS科学机器人十年
“... ROS的成功也依赖于一个充满活力和高效生产力的社区的贡献,这个社区已经积累了关键的动力。”
10个令人难忘的基于ROS的机器人 机器人趋势
机器人趋势在这些年里看了10个令人难忘的ROS机器人。
----
重点里程碑
查看所有作者和从属关系
科学机器人 2017年10月25日: 卷。2,Issue 11,eaar1868 DOI:10.1126 / scirobotics.aar1868
机器人操作系统(ROS)于2017年11月7日庆祝成立10周年。
机器人操作系统(ROS)(1)的使命是从空间机器人挑战到自主驾驶,工业装配和手术,为全球的机器人提供动力。开源机器人中间件(而不是操作系统,顾名思义)最初是在斯坦福人工智能实验室的工作和Willow Garage的额外努力的基础上开发的。自2013年以来,ROS一直由开源机器人基金会(OSRF)管理,该基金会现在称为Open Robotics,它支持“开发,分发和采用用于机器人研究,教育和产品开发的开源软件”。
ROS的巨大灵活性促进了代码共享和涵盖机器人所有主要方面的研究人员的贡献。ROS通过共享常见问题的解决方案帮助机器人社区加快进步。通过利用ROS模块进行传感,导航,运动规划,碰撞检测和仿真(图1),可以简化机器人应用的开发过程。例如,早年,ROS被用于移动机器人的开发,例如与Willow Garage一起建立ROS的机器人PR2。通过使用ROS,PR2可以完成家务,如供应饮料和折叠衣物(2)。ROS现在配备了各种传感器,模拟器和导航任务算法的驱动程序,使用户可以专注于自己独特的研究方面,而不必担心普通的组件实施。近来,通过ROS Industrial(ROS-I)和MoveIt等运动规划工具对标准化应用程序界面进行了努力,同时也支持不同的硬件操纵器。近日,ROS已经被用于构建自主车辆全面,安全,可靠解决方案的开源自驾平台(如百度阿波罗项目)。
图1支持移动,工业,手术和空间机器人以及自动驾驶汽车研发的十年ROS发展。
过去10年里已经发布了11个ROS发行版,条形图显示了每年ROS二进制下载量的数量。ROS-I联盟于2013年推出,旨在改变工业机器人的实时ROS功能。ROS 2.0目前正处于大发展阶段,测试版刚刚发布。
[图像信誉:辣椒机器人,软件机器人欧洲/ WIKIMEDIA公共; ROS LOGO,OSRF; ROBOTIC ARM TRIO,PHONLAMAI PHOTO / WWW.SHUTTERSTOCK.COM ; DRONE,PROSTOSVET / WWW.SHUTTERSTOCK.COM ; ROBOTNAUT2,NASA; 手术武器,3ALEXD / WWW.ISTOCK.COM ; 机器人玩具,ALEXANDER TOLSTYKH / WWW.SHUTTERSTOCK.COM ; AUTOMOBILE,ANATOLIY MESHKOV / WWW.SHUTTERSTOCK.COM ]
尽管OSRF在ROS的发展和支持方面发挥了作用,ROS的成功也依赖于一个充满活力和高效生产力的社区的贡献,这个社区已经收集到了关键的动力(图2)。自2012年以来,ROSCon一直是年度会议,ROS级别的开发人员可以向社区学习和交流。ROS用户还可以通过丰富的在线资源(如论坛,wiki和博客)进行连接,在那里他们可以收到最新的公告并解决特定的技术问题。最新的社区指标报告(3)显示,2017年注册的ROS论坛用户数量增长了65%,吸引了来自世界各地的开发者,其中北美,欧洲和亚洲的用户最多。最近几个月,维基页面的编辑和观点分别上升了36%和29%,显示出日益活跃的社区。
图2一些关键的ROS统计。
(左)过去4年,ROS维基的访问者国家(来自ROS年度报告)显示远东国家的研究人员在不断增加。(中)根据叉子和星星的数量(2017年10月10日,Github),排名前20的ROS库。(右)新发表的论文引用了最初的ROS论文(1)(来自Google学术搜索,关键词“ROS机器人操作系统”)以及注册的维客用户数量。
[图片信用:旗帜,LBRANDIFY / FREEPIK.COM]
ROS还支持分布式系统,可以在多台机器上并行运行数十个进程。已经提出了一种名为ROSLink的新协议,其将具有ROS功能的机器人与物联网结合起来,其目标是构建物理对象,车辆以及诸如传感器和致动器之类的其他设备的网络。使用ROS,可以使用精确的物理模拟来测试不同的算法,包括深度学习,而不需要昂贵的硬件投资。ROS与不同的机器人模拟器兼容,这对于原型设计,新算法验证以及机器人在不同使用场景和环境环境下智能行为的培训至关重要。其中最常用的模拟器是Gazebo(4),这是ROS的一部分。Gazebo已被广泛应用于学术界和工业界,以促进机器人从研究阶段发展到现实世界。
ROS对学术研究的影响从软件平台受益的出版物的稳步增长中可见一斑。这些研究包括但不限于空间机器人,服务机器人,医疗机器人,仿人机器人,机器人操纵器和抓手,无人机和自主水下机器人。例如,Robonaut 2(R2)(5)将ROS用于其控制和安全系统。R2已经满足了对空间机器人的严格要求,并通过了ISS(国际空间站)上的一系列严格测试。
医疗机器人研究界是一个相对较晚的ROS采用者,主要是由于缺乏开放和负担得起的开发平台。在2012年,Raven II(6)是第一批拥有ROS支持的医疗机器人。2014年,达芬奇研究工具包(7)被提供给研究界,支持ROS。最近,诸如Kuka等主要机器人制造商已经提出了针对具有ROS支持的医疗应用的机器人手臂的版本。
ROS-I(http://rosindustrial.org/)倡议于2012年启动。工业机器人广泛用于重复性和大批量制造任务,如焊接和材料分配。但是,由于成本的考虑,只有少量的应用开发用于小批量混合部件生产。由于当前工业机器人的软件架构有限,因此应用先进的机器人技术来提高工业生产力的成本太高。ROS-I为通用工业机器人和传感设备提供接口,以及专用于制造自动化的软件库。ROS-I支持越来越多的工业硬件,如ABB,Fanuc和Yaskawa生产的机器人。此外,ROS-I联盟通过提供技术支持来开发ROS-I社区,组织培训班和讲习班,并为ROS-I制定路线图。ROS-I联盟拥有50多个全球成员,包括研究机构和政府机构,系统集成商和最终用户以及原始设备制造商。另外,即将发布的ROS 2.0应该解决一个主要局限性之一,这个局限性已经减缓了业界对ROS的采用 - 这是一个内部中间件的实现。ROS 2.0现在依靠数据分发服务进行进程间通信,通过服务质量协议和加密安全带来更好的可靠性。和原始设备制造商。另外,即将发布的ROS 2.0应该解决一个主要局限性之一,这个局限性已经减缓了业界对ROS的采用 - 这是一个内部中间件的实现。ROS 2.0现在依靠数据分发服务进行进程间通信,通过服务质量协议和加密安全带来更好的可靠性。和原始设备制造商。另外,即将发布的ROS 2.0应该解决一个主要局限性之一,这个局限性已经减缓了业界对ROS的采用 - 这是一个内部中间件的实现。ROS 2.0现在依靠数据分发服务进行进程间通信,通过服务质量协议和加密安全带来更好的可靠性。
有了这样一个强大的社区,似乎可以确定的是,未来10年的ROS将会充满令人兴奋的新发展,从基于实用程序的中间件转变为驱动未来机器人和相关软件工具发展的引擎。
http://www.sciencemag.org/about/science-licenses-journal-article-reuse
这是根据科学期刊默认许可条款分发的文章。
获取发布的最新一期“ 科学机器人 ”杂志
通过注册,您同意与出版物分享您的电子邮件地址。这里提供的信息受科学的隐私政策
, 虚拟机器人内部挑战:模拟实时机器人灾难响应。IEEE Trans。奥波。科学。工程。 12,494 - 506(2015)。
, Raven-II:一个开放的手术机器人研究平台。IEEE Trans。生物医学。工程。 60, 954 -959(2013)。 CrossRefPubMedGoogle Scholar
----