軟件、硬件、模擬器,盤點(diǎn)九大機(jī)器人開源項(xiàng)目
開源不只在改變我們與世界互動(dòng)的方式,它也在改變世界與我們互動(dòng)的方式。體現(xiàn)這一點(diǎn)的案例便是:開源機(jī)器人。
機(jī)器人在我們的世界中正在扮演越來越重要的角色,盡管我們還沒有實(shí)現(xiàn)在電視劇 Jetson 中的機(jī)器人管家那樣的烏托邦式的未來,機(jī)器人學(xué)已經(jīng)在許多領(lǐng)域取得了進(jìn)展,這在五十年前是完全無法想象的。

機(jī)器人復(fù)興的***受益者毫無疑問是制造業(yè),不過我們也看到機(jī)器人正在進(jìn)入主流生活方式當(dāng)中。我們?cè)S多人都擁有用來掃地、清理雨水槽和割草等等的機(jī)器人。
如今,隨著自動(dòng)駕駛汽車、無人駕駛飛機(jī)和其他交通技術(shù)的進(jìn)步,機(jī)器人和交通工具之間的界限逐漸變得模糊了。
不過說實(shí)話,我們中的許多人之所以對(duì)機(jī)器人學(xué)感興趣,僅僅是因?yàn)樗芎猛妫《孟⑹?,你不需要成為一名電子工程師,就能像享受個(gè)人愛好一樣享受機(jī)器人學(xué)。很幸運(yùn),我們已經(jīng)有不少的開源項(xiàng)目。即使最沒有經(jīng)驗(yàn)的初學(xué)者也能在它們的幫助下上手。
硬件開源項(xiàng)目
機(jī)器人是一個(gè)物理實(shí)體,因此,使用它的代碼和硬件都需要獲得許可。幸運(yùn)的是,有幾個(gè)開源硬件平臺(tái)可供學(xué)習(xí)制造機(jī)器人。下面這幾家是你或許你想要了解的:
Sparki 是一家在任何意義上都完全開源的機(jī)器人學(xué)平臺(tái)。它上面的電路圖、3D 建模文件和其底層的源代碼都是開源的。Sparki 被設(shè)計(jì)用來幫助從小學(xué)生到成年人的學(xué)習(xí)者們制造出價(jià)格合理的初級(jí)機(jī)器人。它提供距離傳感器、加速度計(jì)、紅外通訊、羅盤、光傳感器、循線器(line-follower)等。Sparki 機(jī)器人靠輪子行走,不過它還有一個(gè)用腳行走的近親 Hexy the hexapod,該項(xiàng)目也是一個(gè)開源平臺(tái)項(xiàng)目。

機(jī)器人不僅能走路,有時(shí)他們還會(huì)飛。有幾家開源無人飛行器利用了像 OpenPilot 或 Ardupilot 系統(tǒng)這樣的項(xiàng)目。例如,ArduPilot Copter 無人機(jī)可以被組裝成直升機(jī)、四旋翼飛行器或者其他配置,它既可以自己動(dòng)手 DIY,也可以從若干制造商那里購買元件套裝和部件。
TurtleBot 是另一家機(jī)器人平臺(tái),它既提供來自幾家制造商的元件套裝,也提供完全開源的說明書。這可以幫助你用上網(wǎng)筆記本電腦、Kinect 體感外設(shè)和 Kobuki 移動(dòng)平臺(tái)來建造自己的機(jī)器人,或者在 iRobot Create 開發(fā)平臺(tái)上建造機(jī)器人。
軟件開源項(xiàng)目
機(jī)器人可不只是一套金屬骨架。它需要某種智能才能聽從直接命令或自己做出某些初步?jīng)Q定,以便為它的主人服務(wù)。這里是幾個(gè)有趣的機(jī)器人軟件方面的開源項(xiàng)目。
對(duì)初學(xué)者入門而言,LeJOS 或許是一個(gè)好的機(jī)器人軟件項(xiàng)目。它實(shí)質(zhì)上是樂高 Mindstorms 機(jī)器人固件的一種替代物。你可以依靠它來用 Java 編程語言為樂高機(jī)器人編程。
Rock,即「機(jī)器人 建造工具包」,是一種基于 Orocos RTT (Real Time Toolkit, 實(shí)時(shí)工具包)的軟件框架。它被設(shè)計(jì)成可擴(kuò)展的,并包括一些已有應(yīng)用程序的驅(qū)動(dòng)程序。
ROS,即「機(jī)器人操作系統(tǒng)」,是一個(gè)用來為機(jī)器人寫軟件的框架,它包括多種用來簡(jiǎn)化編程過程的工具和庫。它被設(shè)計(jì)用來為協(xié)作研發(fā)服務(wù),擁有模塊化組件和全球性社區(qū)。在中國,已經(jīng)有 ROS 中文社區(qū)的存在。
在你開始隨意裝配硬件之前,你需要定一個(gè)計(jì)劃。在現(xiàn)實(shí)世界中,機(jī)器人的運(yùn)行受到重力、地形、天氣等限制。在紙上設(shè)計(jì)了看起來不錯(cuò)的機(jī)器人,并不意味著在現(xiàn)實(shí)中可行。所以,為什么不先對(duì)你的機(jī)器人進(jìn)行功能性模擬呢?
機(jī)器人模擬器
Gazebo 是著名的非盈利開源組織 Apache 許可采用的完整模擬解決方案,有著先進(jìn)的 3D 圖形、虛擬感應(yīng)器功能,還有一個(gè)應(yīng)用廣泛的命令行工具集合。此外,Gazebo 還能在云中運(yùn)行模擬,支持多種插件和數(shù)種建立模型常用的機(jī)器人平臺(tái)。
Morse(模塊化開源機(jī)器人模擬引擎 the Modular OpenRobots Simulation Engine)是 BSD 協(xié)議開源項(xiàng)目,是一款通用的多機(jī)器人仿真平臺(tái),主要特點(diǎn)是能控制實(shí)際仿真的自由度,可以自由設(shè)計(jì)符合自己需求的組件模型。它提供了大量可配置的傳感器和執(zhí)行器模塊,高度的可擴(kuò)展性,提供人與機(jī)器人的交互仿真。Morse 使用 Python 編程,也可使用 Blender 游戲引擎進(jìn)行渲染。Morse 專注于學(xué)術(shù)型機(jī)器人模擬,目前有5所學(xué)校和科研機(jī)構(gòu)使用。
V-REP 是 GPL 協(xié)議許可的虛擬機(jī)器人實(shí)驗(yàn)平臺(tái),在 Windows 系統(tǒng)、Mac 、Linux 系統(tǒng)上都能運(yùn)行。V-REP 支持多種編程方式( (嵌入式腳本、插件、附加組件、ROS節(jié)點(diǎn)、遠(yuǎn)程客戶端應(yīng)用編程接口、或自定義的解決方案)和語言(C/C++、Python、Java、Lua、Matlab、Octave、和Urbi),既能模擬先進(jìn)的物理情境,也能模擬從近距離傳感器和視覺傳感器上獲得的數(shù)據(jù)。