Facebook CEO 馬克·扎克伯格(Mark Zuckerberg)周末在 Facebook 個(gè)人頁(yè)面上撰文,公布了他 2016 年的一大目標:開(kāi)發(fā)能控制家庭環(huán)境的人工智能技術(shù)。 以下是扎克伯格的文章全文: 每年,我都會(huì )接受個(gè)人挑戰,學(xué)習新事物,在Facebook的工作以外獲得成長(cháng)。近年來(lái),我設定的挑戰包括每月讀兩本書(shū),學(xué)習中文,以及每天認識一位新朋友。 2016年,我的個(gè)人挑戰是開(kāi)發(fā)簡(jiǎn)單的人工智能技術(shù),控制家庭環(huán)境,并協(xié)助我開(kāi)展工作。這類(lèi)似于《鋼鐵俠》中的人工智能助手賈維斯。 最開(kāi)始,我將了解市場(chǎng)上已有什么樣的技術(shù)。隨后,我將教會(huì )人工智能助手理解我的語(yǔ)音,以控制家中一切,包括音樂(lè )、照明和溫度等等。我將教會(huì )它識別朋友們的面部圖片,在朋友們按門(mén)鈴時(shí)讓他們進(jìn)入。我將教會(huì )它提醒我,當我沒(méi)有陪伴著(zhù)女兒麥柯斯時(shí),她的房間里是否發(fā)生了什么事需要我去查看。關(guān)于工作,它將通過(guò)虛擬現實(shí)實(shí)現數據可視化,幫助我開(kāi)發(fā)更優(yōu)秀的服務(wù),更有效地領(lǐng)導我的組織。 每次挑戰都有一個(gè)主題,而今年的主題就是發(fā)明。 在Facebook,我花了很多時(shí)間與工程師們合作,開(kāi)發(fā)新產(chǎn)品。深入了解技術(shù)項目的細節使我獲益良多。關(guān)于Internet.org,我們探討開(kāi)發(fā)太陽(yáng)能飛機和衛星,提供互聯(lián)網(wǎng)接入服務(wù);關(guān)于Oculus,我們會(huì )了解所涉及的控制器或軟件的細節;關(guān)于Messenger,我們討論通過(guò)人工智能回答你的問(wèn)題。但自行開(kāi)發(fā)產(chǎn)品將帶來(lái)完全不同的收獲。因此,今年我的個(gè)人挑戰就是去做這件事。 對我自己來(lái)說(shuō),編寫(xiě)代碼是有趣的智力挑戰。我很期待,在經(jīng)過(guò)一年的學(xué)習后可以與你們分享。 by 扎克伯格 制作一個(gè)賈維斯那樣的機器人,自然不是一件容易的事,這篇文章也只是機器人教學(xué)入門(mén),很難有“強大”的智能。但是像扎克伯格一樣去探索,去好奇,去挑戰 2016 的自己,是我們都可以做的事情。 你也可以@身邊的某人,讓Ta給你做一個(gè)可愛(ài)的機器人,這是2016年最浪漫的禮物了~ 教學(xué)全文 制作一個(gè)機器人只需要五步:組裝機器人;給機器人接線(xiàn);連接電源 ;安裝Arduino軟件;給機器人編程。 你想要學(xué)習如何制作你自己的機器人嗎?有很多種可以DIY的機器人。大部分人想要讓一個(gè)機器人從A點(diǎn)移動(dòng)到B點(diǎn)。你完全可以通過(guò)模擬分量(analogue components)或者購買(mǎi)初學(xué)者工具包來(lái)制作機器人。制作機器人是自學(xué)電子學(xué)和計算機編程的一種非常好的方式。 第一步:組裝機器人 1.收集元件。為了制作一個(gè)基本的機器人,你將需要一些簡(jiǎn)單元件。你能從附近的業(yè)余愛(ài)好者商店或者在線(xiàn)零售店買(mǎi)到大部分元件(如果不是全部的話(huà))。一些基本的工具包也可能包括所有的元件。這款機器人不需要很多的焊料。 Arduino UNO(或者其他的微控制器) 2個(gè)連續旋轉舵機 2個(gè)適合上述舵機的輪子 1個(gè)連鑄機輥 1個(gè)小型無(wú)焊料的試驗電路板(要找一個(gè)每邊有兩個(gè)正負線(xiàn)的電路板) 1個(gè)遠程傳感器(有四腳連接器電纜) 1個(gè)包含1個(gè)1萬(wàn)歐姆的電阻的按鈕開(kāi)關(guān) 1套線(xiàn)對板連接器 1個(gè)6 x AA的電池支架,包含一個(gè)9V DC插座 1包跨接線(xiàn)或者22 gauge的布線(xiàn)用電線(xiàn) 強力雙面膠帶或者熱粘接劑 2.翻轉電池支架,背面朝上。你將會(huì )用這個(gè)電池支架作為機器人身體的基礎 3.將兩個(gè)舵機與電池支架末端對齊。這應該是電池支架的電線(xiàn)伸出來(lái)的末端。舵機應該觸到底部,并且每個(gè)舵機的旋轉部分應該在電池支架的兩邊。舵機被合理的對齊是很重要的,這是為了讓輪子放的直一些。端機的電線(xiàn)應該從電池支架的背部出來(lái)。 4.用膠帶或膠水黏貼舵機。確定它們被牢牢地粘在一起。舵機的背部應該和電池支架的背部緊緊地貼在一起。 舵機現在應該占了電池支架背部的一半 5.將電路板平行貼在電池支架背部空下的區域上。它應該距離電池支架前端有一點(diǎn)點(diǎn)距離,橫向在電池支架兩邊應該露出一小部分。在下一步之前,確定它粘附的很牢!癆”排應該很接近舵機。 6.將Arduino微控制器粘在舵機的頂部。如果兩個(gè)舵機放的很合適的話(huà),應該它們之間的接觸部分應該有一段平的區域。將Arduino微控制器放在這部分區域上,以使Arduino的USB和電源線(xiàn)朝后(遠離電路板)。Arduino的前端應該剛剛與線(xiàn)路板有重疊。 7.將輪子裝在舵機上。將輪子緊緊的裝到舵機的旋轉部分中。這可能需要很大的力量,因為輪子被設計目的就是為了緊緊嵌入舵機來(lái)提供最大的牽引力。 8.將連鑄輥接在接線(xiàn)板底部。如果你把機身反過(guò)來(lái),你應該看到電路板露在外邊一點(diǎn)。將連鑄輥裝到露在外面的部分,必要的話(huà)使用冒口。連鑄輥的作用是前輪,方便機器人轉向。 如果你買(mǎi)了一個(gè)工具包,里面可能附帶了一些對應連鑄輥的冒口,以保證連鑄輥接觸地面。 第二步:給機器人接線(xiàn) 1.改造兩個(gè)三腳連接器。你將用這些將舵機連到電路板上。移動(dòng)針部,讓兩邊距離相等。 2.插入兩個(gè)連接器到電路板E排的1-3插口和6-8插口。確定它們被牢牢的插入。 3.將舵機電纜連到連接器上,黑色電纜在左邊。(接到1口和6口上)。這會(huì )將舵機與電路板連接在一起。確定左邊的舵機連接到左邊的連接器上,右邊的舵機連接到右邊的連接器上。 4.紅色跨接線(xiàn)分別從C2針和C7針連到紅色導軌(正級)針上。確定你用的是電路板后部的紅色導軌針(red rail)(靠近機身的其他部分區域的紅色導軌針)。 5.將黑色跨接線(xiàn)分別從B1針和B6針接到藍色導軌針(地線(xiàn))上。確定你用的是電路板后部的藍色導軌針(blue rail pins)。不要插到紅色導軌針上。 6.白色跨接線(xiàn)從Arduino 的針12和針13連接到A3和A8上。這讓Arduino控制這些舵機和輪子。 7.將傳感器裝到電路板前面。它不能插到電路板的外部電源區域中,應該插到第一排J行中。確定你精確地插到了中間區域,兩邊有數量相等的針數剩余。 8.黑色跨接線(xiàn)連接針I(yè)14和傳感器左側第一個(gè)可用的藍色針。這會(huì )讓傳感器接地。 9.黑色跨接線(xiàn)連接針I(yè) 17和傳感器右側第一個(gè)可用的紅色針。這給傳感器提供電力。 10.白色跨接線(xiàn)連接針I(yè) 15和Arduino上的針9,類(lèi)似地,再連接針I(yè)16和針8。這將傳感器的信息提供給微控制器。 第三步:連接電源 1.翻轉機身,看到支架中的電池。讓其電池支架的電纜線(xiàn)從左下角伸出。 2.用紅色的電纜線(xiàn)連接左下角的彈簧。一定要確定電池支架放置正確。 3.用黑色電纜線(xiàn)連接右下角最后一個(gè)彈簧。這兩個(gè)電線(xiàn)給Arduino提供正確的電壓。 4.將上述紅色和黑色的電線(xiàn)連到電路板最右邊紅色和藍色的針上。黑色電線(xiàn)應該插入到藍色導軌針的針30處。紅色電纜線(xiàn)應該插到紅色電纜線(xiàn)的針30處。 5.黑色電線(xiàn)連接Arduino上的GND針和電路板后部的藍色導軌針。藍色導軌針處連接位置是針28. 6.一個(gè)黑色電線(xiàn)連接電路板后部的藍色導軌針和前部的藍色導軌針(位置均在針29處)。不要連接紅色導軌,因為那樣很可能損壞Arduino。 7.連接電路板前部的紅色導軌針(針30)到Arduino上的5V針。這將會(huì )給Arduino提供電力。 8.在兩排的間隔處pin24-26處插入按鈕開(kāi)關(guān)。這個(gè)開(kāi)關(guān)讓你不需要通過(guò)拔電源就能關(guān)閉機器人。 9.用一根紅色線(xiàn)連接H24和傳感器右側下一個(gè)可用的針。這會(huì )給按鈕提供電力。 10.用電阻連接H26和藍色導軌針。直接將電阻與針連接,并連到幾步之前用到的黑色線(xiàn)旁邊。 11.用一根白色線(xiàn)連接G26和Arduino的針2處。這讓Arduino在按鈕那里注冊。 第四步:安裝Arduino軟件 1.下載并提取Arduino IDE。這是Arduino的開(kāi)發(fā)環(huán)境,這樣,你可以將指令編程并上傳到你的Arduino微型控制器中。你可以從arduino.cc/en/main/software網(wǎng)站中免費下載它。解壓下載下來(lái)的文件,找到該文件夾,不需要安裝程序,只需要雙擊arduino.exe來(lái)運行它。 2.將電池架連到Arduino上。給Arduino的連接器接上電池組來(lái)為其提供電力。 3.用USB將Arduino接入電腦。Windows很有可能不識別這個(gè)設備。 4.按下win+R,并輸入“devmgmt.msc”。這會(huì )調出設備管理器。 5.右擊在“其他設備”選項中的“未知設備”,并選擇“更新驅動(dòng)軟件”。如果你沒(méi)有看到這個(gè)選項,點(diǎn)擊“屬性”,選擇“驅動(dòng)”標簽,接著(zhù)點(diǎn)擊“更新驅動(dòng)”。 6.選擇“瀏覽我的電腦來(lái)尋找驅動(dòng)軟件!边x擇Arduino IDE中自帶的驅動(dòng)軟件。 7.點(diǎn)擊“瀏覽”,接著(zhù)找到你之前下載并解壓好的文件夾。你會(huì )在文件夾里找到一個(gè)名為“drivers”的文件夾。 8.選擇“drivers”文件夾,并點(diǎn)擊“確定”。如果你被警告“這是未知軟件”,確認你想要繼續。 第五步:為機器人編程 1.雙擊IDE文件夾中的“arduino.exe”啟動(dòng)Arduino IDE。你會(huì )看到一個(gè)空白的工程。 2. 粘貼以下代碼來(lái)讓你的機器人可以走直線(xiàn)。以下的代碼將會(huì )讓你的Arduino不停地前進(jìn)。 3.構建并上傳代碼。點(diǎn)擊左上角的“向右的箭頭”來(lái)將代碼構建并上傳到USB連接著(zhù)的Arduino。 你可能想要把機器人拿起來(lái),因為一旦代碼上傳好,它會(huì )繼續向前移動(dòng)。 4.增加關(guān)閉功能。增加代碼到源代碼的“void loop()”部分中來(lái)激活關(guān)閉功能。具體位置在“void loop()”中“write()”函數上面。 5.上傳并測試你的代碼。有了增加后的關(guān)閉功能,你可以上傳并測試機器人了。它應該在你按下按鈕之前不停的前進(jìn),當你按完后,它會(huì )停止。 |