機器人操作系統(ROS)史話篇連載22(為什麼叫TurtleBot?)

張新宇

為什麼叫TurtleBot

Turtle是海龜的意思,Bot是機器人的縮寫。TurtleBot字面上講,就是「海龜機器人」的意思。為什麼叫烏龜機器人,而不是螃蟹機器人,蟑螂機器人,金魚機器人?

讓我們慢慢解釋。

有這麼一位,叫威廉姆·格雷·瓦爾特(William Grey Walter),1910年出生於美國[1],幼年由於父母的緣故,來到英語求學。後來成為一名神經科學家。一生多數時間在美國做研究。

為了研究大腦和神經反應,1948至1949年間,威廉姆·格雷·瓦爾特特製作了一個被自己稱為「機器冒險者」(拉丁語為Machina Speculatrix)的機械裝置。希望通過讓機器裝置來模仿,研究神經反應和人類的行為。「機器冒險者」採用了三輪結構,一個轉向輪,兩個驅動輪。前面的轉向輪用於控制方向,兩個後輪用來驅動整個機構。

圖:威廉姆·格雷·瓦爾特在組裝「機器冒險者」

威廉姆·格雷·瓦爾特在這個三輪「機器冒險者」的上面遮蓋了一個外殼,看起來非常可愛,像一隻大烏龜。人們稱其為威廉姆·格雷·瓦爾特的「烏龜」,這隻「烏龜」是人類歷史上第一個自主移動的機器人。

威廉姆·格雷·瓦爾特的「烏龜機器人」對機器人學、人工智慧產生重大影響。很多人在威廉姆·格雷·瓦爾特的「烏龜機器人」影響中成長起來。

其中,1956年有一位大學生伊萬·蘇澤蘭(Ivan Sutherland)給威廉姆·格雷·瓦爾特寫了一封信,信中伊萬·蘇澤蘭虛心地向廉姆·格雷·瓦爾特請教、徵求意見。

誰是伊萬·蘇澤蘭(Ivan Sutherland)?

伊萬·蘇澤蘭1938年出生於美國,ACM圖靈獎獲得者,圖形用戶界面(Graphical User Interface ,簡稱GUI)的發明者,我們現在用的Windows界面就是一種圖像界面,他還發明了SketchPad,允許用戶直接用筆在屏幕上畫圖,是手指交互的先驅(智能手機上用手機交互),當然那時候是用一支筆進行交互。他還是頭戴式虛擬現實頭盔的發明者,我們現在看到的HTC VIVE,PS VR就是這類設備,這位伊萬·蘇澤蘭被後人稱為「虛擬現實之父」。對的,就是近兩年大熱的「虛擬現實」,又稱VR。

圖:伊萬·蘇澤蘭和他的發明,頭戴式顯示器

伊萬·蘇澤蘭2016年還受邀到上海,做了幾場報告。

上面是 伊萬·蘇澤蘭給威廉姆·格雷·瓦爾寫的信。

回到TurtleBot。

1967年MIT人工智慧實驗室的教授們發明了PDP1 計算機,但是沒有顯示器。為了讓孩子能使用這樣的計算機,他們用電話線將計算機與一個機器人連在一起,通過機器人的運動來觀察計算機的計算結果。受威廉姆·格雷·瓦爾特的「烏龜機器人」的啟發,他們的機器人也有一個「烏龜」的外形。

圖:PDP 1計算機

未了能夠有效地控制這樣的「烏龜機器人」,他們發明的Logo語言[2],並開發了一個模擬環境,顯示烏龜的小圖標。

設計Logo的本意是為了以某種合適的方式,向兒童教授計算機編程。後來的模擬環境就是Logo的海龜繪圖(Turtle Graphics)系統,通過向海龜發送命令,用戶可以直觀地學習程序的運行過程,因此它很適合於兒童學習。

海龜繪圖使得Logo用戶可以通過簡單的編程創作出豐富多彩的視覺效果或圖案。假想一隻帶著畫筆的海龜可以接受簡單的命令,例如向前走50步,右轉90度,再向前走50步,再右轉90度。通過對這隻海龜發送命令,可以讓它繪製出較為複雜的圖形,例如正方形,三角形,圓等。海龜的移動相對於它本身所在的位置。例如,命令"右90"意味著讓海龜右轉90度,學習者可以站在海龜的角度來思考它將如何執行命令,這使得程序設計更加形象化,也更易於理解。

向前50步 右轉90度 向前50步 右轉90度

圖: Logo中的小烏龜

為了讓編程更有趣,當時在美國施樂公司帕克研究中心(Xerox PARC)參考威廉姆·格雷·瓦爾特的工作開發了一款機器人,背上也背了一個大殼,可以在地板上運動。通過編程,輸入指令,可以讓這個機器人前進,還可以讓它原地轉動。它的動作非常慢,大家稱其為「烏龜」。

人們用Logo語言來控制這個海龜的機器人。下圖就是這個海龜機器人。海龜機器人底部有一隻畫筆,在移動和轉動的時候,可以在地板上留下畫筆的痕迹。根據計算機輸入的指令和海龜機器人的移動,就可以在地面上畫出不同形狀的圖形。

圖:烏龜機器人與Logo編程語言

還有一些其他類型、現代版的烏龜機器人。

其他內容在「烏龜」一文中有所描述。

烏龜(Turtle)在機器人領域基本成了機器人的代名詞了。起一個TurtleBot這樣的名字,也就不足為奇了。

------------------------------------------------------------------------

[1]可參考The roboticsprimer by Maja J Matari?, 2007. 2017年出了中譯本《機器人學-經典教程》

[2] Logo一詞源自希臘語邏各斯(logos),意為「思想」

推薦閱讀:

TAG:機器人 | 機器人操作平台ROS |