神秘有爱的小家族--乌龟帮

ROS为何以乌龟形象示人,五花八门的乌龟logo背后都有哪些有趣的故事?
封页

Why Turtle?:

每一个ROS版本的发布,都伴随着一个新的乌龟吉祥物和小图标。
在英语中,表示“龟”有两个词,一是Tortoise,二是Turtle。Tortoise指陆上生长的乌龟,Turtle泛指各种乌龟,陆生的和海里的。
车库公司的创始人和早期员工都是软件工程师,他们很小的时候就开始学习编程。那时他们用的是Logo语言,一种面向儿童的计算机程式设计语言。为了让编程更容易理解,更有趣,美国施乐公司帕克研究中心(Xerox PARC)开发了一款机器人,背上背了一个半圆形盖子,可以在地板上缓慢运动,大家给这个机器人起了一个非常形象的名字——“乌龟”。

海龟机器人


五花八门的命名:

2009年初推出的ROS0.4内测版已初具ROS框架雏形。经过近一年的测试后,于2010年初推出了ROS1.0版,并在当年三月份推出了正式发行版本:ROS Box Turtle。
我们现在看到ROS的每一个版本是按照字母顺序依次命名。比如轮到 B,就起名 Box Turtle,C 是 C Turtle,D 是 Diamondback。而且相应的单词还要跟乌龟有关。
从E版本开始,ROS的命名就试图借鉴Ubuntu的命名方法,一个形容词+一种乌龟名。形容词和乌龟名的首字母要跟代表版本的字母一样。比如E版本是Electric Emys(电动+泽龟)来表示。
前面几个版本的名字是车库内部取得。到后来,车库,及OSRF也不知道如何取名,就成立了一个ROS起名委员会(瓦特!),征求大家的意见。

壁纸


乌龟吉祥物设计师:

除了第一个乌龟,其他吉祥物都是由乔许·埃林森(Josh Ellingson)设计。乔许·埃林森是一位自由艺术家,为不同的商业活动设计宣传材料。
2010年,车库带着PR2第一次参加了RoboGames(俗称机器人奥运会),乔许·埃林森为车库设计了第一张海报。在此之前,乔许·埃林森为RoboGames设计过海报已小有名气。风格也非常符合车库的口味,后来车库大大小小的海报,宣传美工就由乔许·埃林森负责了。

乔许·埃林森


乌龟图标设计师:

每个ROS版本发布,Turtlesim里的乌龟图标也会变化,这些乌龟图标则是由思特菲·派姬(Steffi Paepcke)设计的。每一个小图标都跟乔许·埃林森设计的乌龟吉祥物相关联,颜色,风格,主题保持一致。
思特菲·派姬2009年以实习生的身份进入车库,正是在车库实习期间,思特菲·派姬第一次见到了正真的机器人-PR2,觉得有趣极了。思特菲·派姬在斯坦福大学主修心理学。这促使她考虑如何将自己的专业心理学和机器人相结合。实习结束,特菲·派姬马上去了卡内选择了人机交互方向读研究生。毕业后,又回到车库,后来,又作为联合创始人创建了开源基·梅陇大学继续深造,在机器人基金会(OSRF)里领导人机交互组。

思特菲·派姬


乌龟家族

阿B龟:

车库在2010年初完成了ROS1.0版,并在当年三月份推出,并将这个正式发行版本命名为ROS Box Turtle(箱龟)。这是ROS的第一个对外发行的版本。发布的时候,车库设计了第一只乌龟。当然这只乌龟实在没什么创意,那完全就是抄袭Logo的乌龟。

B

这时,ROS的软件包以Stack的形式组织在一起,这个版本共有3大类软件包,被封装在60多个Stack中。这3大类软件包括:bas, pr2, pr2all。
♦base:机器人通用的软件包,如初学者比较容易接触到的navigation,visualization等。
♦ pr2:为PR2机器人设计的软件包。
♦ pr2all:所有为测试PR2机器人设计的各类软件包。

阿C龟:

这是ROS的C版本C Turtle,如果延续这种命名方式,我们看到的后续的版本将会是D Turtle, E Turtle,…。
后来很长时间,还有人抱怨这个版本的名字太缺乏想象力了,总想给她换个名字。可是,ROS的发展速度太快了,这件事也自然是不了了之了。
前面提到,从这个版本开始,车库聘请了乔许·埃林森来设计乌龟吉祥物。这时的乔许·埃林森,跟大多数机器人爱好者一样,颇受好莱坞电影故事的影响,在乔许·埃林森眼里,未来似乎并不美好。大海龟就像一只诺亚方舟,在大灾难来临之际,带领大家逃离灾难重重的大陆,寻找一片新世界。

C

C版本的改进:
♦ 增加了针对PR2机器人抓取的软件包
♦ 主要支持Ubuntu的H/I/J/K版本(8.04/8.10/9.04/9.10)。
♦ 支持C++03,Boost 1.37,Lisp SBCL 1.0.38,Python 2.5
♦ 尝试将catkin编译系统引进ROS,但因为不稳定,还不建议使用。

菱背龟:

D版本的吉祥物是Diamondback(菱背龟,背部有菱形图案)。在菱形风筝的助力下,无数只菱背龟在空中自由地飞翔。

Diamondback

D版本的改进:
♦ 在这个版本里增加了对Kinect的支持。
♦ 模块化的粒度更小,有利于增量化更新。
♦ 图形用户界面从ROS核心中分离出来,可供用户选择。
♦ 修改版权和软件归属权的条例。
♦ 创建了ROS问答社区,方便用户交流。

鸡血龟:

E版本的吉祥物是ElectricEmys(鸡血泽龟),一个风风火火、打了鸡血的泽龟。“小模块,轻量化”是前一个版本的宗旨, E版本依然为此努力。

Electric

E版本的改进:
♦ 把ROS底层的库进一步分离成单独的模块,如KDL(运动学-动力学库)、 nodelet、 filters、 xacro、pluginlib。
♦ 不需要集中维护,每个ROS贡献者可以自行维护各自写的模块。

大力神龟:

F版本的吉祥物是Fuerte Turtle(大力神龟),因为没有以F开头的乌龟物种,就只能用通用的乌龟(Turtle)了。Fuerte为西班牙语,表示强壮有力。

fuerte

F版本的改进:
♦ 主要适用于Ubuntu的L/O/P版本(10.04/11.10/12.04 LTS)。
♦ 支持C++03,Boost 1.40,Lisp SBCL 1.0.x,Python 2.6
♦ 尝试将catkin编译系统引进ROS,但因为不稳定,还不建议使用。
♦ 用Qt重写了rviz
♦ 发布PCL 1.5,性能进一步提高。
♦ 发布Gazebo 1.0。

拉风龟:

G版本的吉祥物是Groovy Galapagos,一只非常拉风的加拉帕戈斯象龟。长发、墨镜、拖拉板、花裤衩、背着汽车流浪天涯的时尚加拉帕戈斯象龟。

groovy

G版本的改进:
♦ 正式将catkin编译系统引进ROS,希望能替代原有的编译系统rosbuild。
♦ 主要适用于Ubuntu的O/P/Q版本(11.10/12.04 LTS/12.10)。
♦ 支持C++03,Boost 1.46,Lisp SBCL 1.0.x,Python 2.7,CMake 2.8.3
♦ Stack的概念被废弃,只保留软件包的概念,可以让模块的粒度更小。
♦ 将代码转移到Github。
♦ 引入图形用户界面工具rqt。
♦ 开发环境从Wx变为Qt

蛇颈龟:

H版本的吉祥物是长脖子的Hydromedusa(南美蛇颈龟)。Hydromedusa这个单词写起来有点长,在ROS中被分成两个词 Hydro Medusa。

Hydro

H版本的改进:
♦ 进一步让ROS支持catkin编译系统
♦ 主要适用于Ubuntu的P/Q/R版本(12.04 LTS~13.04)。
♦ 支持C++03,Boost 1.48,Lisp SBCL 1.0.x,Python 2.7
♦ 对ROS里的一些工具也做了升级,如rviz 、rqt等。
♦ 提高了ROS和Gazebo的集成度。

青色冰屋龟:

I版本的吉祥物是Indigo Igloo(意为,青色冰屋)。一开始,ROS命名委员会很多人建议用I, Turtle。主要源于大家都知道一本书叫《I,Robot》。还有人提议iTurtle,遭到很多人反对,多半源于对苹果公司全封闭系统的不满。最后大家选了一个不是乌龟的名词Igloo(冰屋),虽然不是乌龟,但外形像极似乌龟,大家都很喜欢。

indigo

I版本的改进:
♦ 主要适用于Ubuntu的S/T版本(13.10/14.04 LTS)。
♦ 支持C++03,Boost 1.53,Lisp SBCL 1.0.x,Python 2.7,CMake 2.8.11

翡翠龟:

J版本的吉祥物是Jade Turtle(翡翠龟)。上个版本取了个非乌龟的名字,这次又取了个“翡翠”,在东方文化里,经常把翡翠雕刻成乌龟的样子,寓意坚毅、持久。

jade

J版本的改进:
♦ 主要适用于Ubuntu的T/U/V版本(14.04/14.10/15.04)。
♦ 支持C++03,Boost 1.54,Lisp SBCL 1.1.14,Python 2.7,CMake 2.8.12

动感神龟:

K版本的吉祥物是 Kinetic Kame(动感神龟)。这次用了一个日语 Kame(在日语中是乌龟的意思)。Kinetic 则表现出能量和速度。因此大家看到的一只动感十足的超级龟。这个动感神龟身上加上“开源机器人基金会”的标志。

kinetic

太空龟:

L版本的吉祥物是 Lunar Loggerhead(太空龟)。一个登上月球,并把 ROS 的旗帜插上去的大头海龟。这时的 ROS 已经成为机器人领域的标准了。这个登月大头龟身上也加上“开源机器人基金会”的标志。

lunar

L版本的改进:
♦ 主要适用于 Ubuntu 的 X/Y/X 版本(16.04/16.10/17.04), 增加了对其他 Linux 的支持,如 Debian S 版本,Fedora 26 版。
♦ 支持的体系架构 amd64,arm32,arm64。
♦ 支持 C++11 , Boost 1.58/61/62 , Lisp SBCL 1.2.4 , Python 2.7 , CMake3.5.1/3.5.2/3.7.2。

孔雀龟:

这是 ROS 2018年至今最新版本。M版本的吉祥物是 Melodic Morenia(优雅的孔雀龟)。三只孔雀龟,表演者优雅的乐曲,一只雌孔雀龟头顶上的羽翎。

melodic


至此,这就是我们乌龟帮的所有家族成员。相信在未来会有越来越多的新成员加入进来,也相信ROS能够越走越远!

-------------本文结束 感谢阅读-------------
0%