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