通常而言,通过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包:
actionlib geometry geometry2 image_common ROS ros_comm ros_control roscpp_core vision_opencv
当然,通常添加 所有的 ROS软件包 是没有问题的 ,但是它会变得相当大,很多软件包不能提供一个好的API文档。 但核心软件包包含在当前的文档集中。
docset可以在这里找到: https : //github.com/famalgosner/ros.org.docset 安装Zeal或Dash,并按照README的说明在github存储库中,然后就可以开始了。
如果您发现任何问题,或者想要将其他优秀软件包添加到上面的列表中,请通知我,例如在存储库中打开一个问题。
----
ros.org.docset
该存储库包含机器人操作系统(ROS)的docset。 它可以与Zeal或Dash一起使用
用法
这里解释了如何将ROS文档添加到您的docset中
网址(离线文档)
https://raw.githubusercontent.com/famalgosner/ros.org.docset/master/ROS.xml
Zeal
启动Zeal并打开Docsets设置(Tools --> Docsets...)。 所有文档更新完毕后,点击 添加 feed 按钮 。 添加这个网址(离线文档),文档将被下载。 未来的更新将自动安装。
Dash
开始Dash并打开首选项(preferences )。 导航到 下载(Downloads ) ,然后单击底部的加号。 添加Feed网址,您就可以开始了。
包括文件
actionlib geometry geometry2 image_common ROS ros_comm ros_control roscpp_core vision_opencv
贡献
ROS的所有贡献者及其文档 Ved Vyas为doxytag2zealdb
建立自己的文档集
在这里的官方页面上有一些很好的文档来构建你自己的docset Dash - Docset Generation Guide
要构建一个包含ROS包的文档集,您可以按照以下步骤操作。
查看您想要添加到文件夹中的所有存储库 doxygen Doxyfile
在文件夹中 运行 。 Doxyfile可以在这个仓库中找到。 放置在所有ros软件包旁边的相同文件夹中 转到 html
目录 跑 make
现在,doxygen构建了一些东西,并且由于某些OSX依赖关系丢失而导致错误结束。 但一切都很好 跑 python -m doxytag2zealdb --tag ../ROS.tag --db ROS.docset/Contents/Resources/docSet.dsidx --include-parent-scopes --include-function-signatures
这将根据doxygen创建的标签创建并填充SQLite3数据库
可选:您可以 通过将一些徽标复制到docset的根目录 来添加一个 logo.png 。 将该 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控制台中显示的。 而且由于我必须说服这里的一些人给我一些时间来致力于这个项目,有正面的反馈可能有助于说服他们
----
今天我们很高兴庆祝活动十周年!
在2007年的这个日子,第 一次提交 给 SourceForge上 的 ROS项目 。
自那时起,ROS已经从第一次公开承诺发展到全球超过2800个人的20多万次提交。 这些贡献已经累积了超过450万的重要代码行,遵循标准的开发工作估算人员,将花费169名全职开发人员8.5年。
作为一个开源社区,有时很难量化参与项目。 为了帮助衡量我们能做的事情,我们开始制定年度 计量报告 。 使用这些快照,ROS的进展是相当惊人的。
图表信息随着时间的推移可以 在这篇文章中 看到 。 每年显示月度唯一IP或总下载量等信息。
今年是一个很大的纪念日,我们很高兴看到还有许多人正在认识这个历史性的里程碑。 已经有报道在 科学机器人 小号 , ZDNe ŧ 和 IEEE Spectru m
为了突出更大的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,我可以轻松地启动和运行机器人。 如果我没有它,我将不得不重新创建我自己的版本,或者为每个机器人创建一个自定义功能包集。
----
看起来我们不是昨天唯一记得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机器人。
----
重点
里程碑
为世界的机器人提供动力--10年的ROS
张林 1 , Robert Merrifield 1 , Anton Deguet 2 和 杨广忠 1 , *
查看所有 作者和从属关系
科学机器人
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将会充满令人兴奋的新发展,从基于实用程序的中间件转变为驱动未来机器人和相关软件工具发展的引擎。
科学机器人学 目录通讯
获取发布的最新一期“ 科学机器人 ”杂志
通过注册,您同意与出版物分享您的电子邮件地址。 这里提供的信息受 科学 的 隐私政策
参考
↵
在
ICRA开源软件研讨会
(ICRA Workshop on Open Source Software , ICRA Workshop on Open Source Software (ICRA) 上发表的 一篇开放源代码机器人操作系统的ROS:A.M. Quigley,K. Conley,B. Gerkey,J. Faust,T. Foote,J. Leibs,R. Wheeler,AY Ng, ,2009年),第9页。 5。
↵
↵
↵
↵
MA Diftler,JS Mehling,ME Abdallah,NA Radford,LB Bridgwater,AM Sanders,RS Askew,DM Linn,JD Yamokoski,FA Permenter,BK Hargrave,Robonaut 2-第一个人形机器人在太空中,
IEEE国际机器人大会自动化
(ICRA,2011),第2178-2183页。
↵
↵
P.Kazanzides,Z.Chen,A.Deguet,GSFischer,RHTaylor,SPDiMaio。
2014年IEEE机器人与自动化国际会议
(ICRA,2014),第6434-6439页, 达芬奇外科系统的开源研究工具包 。
版权所有©2017作者,保留一些权利; 独家许可证美国科学促进会。 不要求原来的美国政府工作
查看摘要
----