丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預覽,將在時失效
機器人 正文
發(fā)私信給金紅
發(fā)送

1

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

本文作者: 金紅 2017-03-09 17:50 專題:雷峰網(wǎng)公開課
導語:國際資深創(chuàng)客,莫比嗨客樹莓派智能機器人有限公司創(chuàng)始人兼CEO劉端陽,從樹莓派的起源講起,一步步教我們?nèi)绾伍_發(fā)出一款機器人。

導語:樹莓派是為學習計算機編程教育而設計的一種微型電腦,其系統(tǒng)是基于Linux的, 雖然只有信用卡大小,但視頻、音頻等功能通通皆有,可謂是“麻雀雖小,五臟俱全”。因此自問世以來,受到了眾多計算機發(fā)燒友和創(chuàng)客的追捧。

樹莓派可以用來開發(fā)各種硬件產(chǎn)品,此次雷鋒網(wǎng)硬創(chuàng)公開課邀請到國際資深創(chuàng)客,莫比嗨客樹莓派智能機器人有限公司創(chuàng)始人兼CEO劉端陽,從樹莓派的起源講起,一步步教我們?nèi)绾伍_發(fā)出一款機器人。

嘉賓介紹:

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

劉端陽,莫比嗨客樹莓派智能機器人有限公司創(chuàng)始人兼CEO,國際資深創(chuàng)客。

以下內(nèi)容整理自劉端陽在雷鋒網(wǎng)硬創(chuàng)公開課的分享。關注雷鋒網(wǎng)旗下微信公眾號「新智造」,可獲取嘉賓完整PPT。

公開課視頻:

計算的歷史與計算思維

計算的過程中經(jīng)歷了這么幾個發(fā)展:最早的時候是應用于自動式,比如彈道導彈的計算,但是隨著計算的發(fā)展,其有了更加寬廣范圍的應用,比如軍隊、政府、銀行等都會用到計算設備。

計算設備的發(fā)展歷史,按照公認的說法,分為大型機、小型機、PC階段,以及現(xiàn)在基于Arm體系結(jié)構(gòu)的手機時代。那么,反向思考的話,未來的硬件設備是什么樣的趨勢呢?

小型化

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖1 樹莓派大小

大家可以在PPT上看到,我放了一個美元的圖標和一個小的設備,這個小的設備叫樹莓派??梢钥吹竭@個設備是非常小的,但它的性能卻非常強,可以說隨著電子設備二極管的高度集成,未來設備將趨向小型化。

量子化

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖2  Dwave

在電子化的基礎上,計算設備另一個發(fā)展形式是量子化,最典型的是Dwave公司,它最后被Google收購了。

計算思維是什么

計算思維(Computational Thinking)這個概念由CMU的周以真教授提出,剛開始大家都覺得云里霧里的,其實它的核心就是:我們要用計算機的基本概念比如迭代、循環(huán)、Loof做整體的問題求解、系統(tǒng)設計和人類行為分析的一種思維活動。從這個角度來講,計算思維是基本問題解決之道。在生活中,比如我們經(jīng)常去超市買東西,結(jié)賬時我們會排成一列進行結(jié)算,這與我們計算機的隊列是一樣的。

樹莓派(RPI)的歷史

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖3 樹莓派的歷史

樹莓派的出現(xiàn)其實是一個偶然的事情,同時也是必然的事情。這個偶然是大家沒想到這個東西會這么火,就連創(chuàng)始人Eben Epton也沒想到。那它的出現(xiàn)為什么是必然的呢?

2006年Eben Epton發(fā)現(xiàn)一個問題,劍橋大學近期入學的學生編程能力普遍較低,原因是什么呢?就是我們現(xiàn)有的“舒適的圖像化編程”毀滅了創(chuàng)造的樂趣,于是他開始構(gòu)思:我能不能做一種設備讓學生有創(chuàng)造性的樂趣?之后Eben Epton和小伙伴一起設計了很多設備,但都不符合要求。

2007年蘋果的iPhone發(fā)布,世界迎來了互聯(lián)網(wǎng)時代。2008年樹莓派基金會設計了一款原型機,使用了Atmel的ATmega644,這個事件發(fā)生后,樹莓派基金會終于找到一個“好基友”:ARM芯片?,F(xiàn)在很多移動設備都使用ARM芯片,因為功耗小,所以它的電池是可以使用很長時間的。當然,這個東西設計出來后的產(chǎn)品推廣需要很長時間。所以,到2011年問題就出現(xiàn)了,當時英國的產(chǎn)業(yè)鏈是不完全的,所以Eben Epton找到了深圳的一家工廠,于是第一批50片Alpha電路板上線。2012年第一周,Eben Epton將電路板放在EBay上拍賣,結(jié)果10個電路板在Ebay上共籌集了16000英鎊,這讓他信心倍增,說明這種產(chǎn)品是非常受大家歡迎的。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖4 樹莓派1代

2012年2月29日樹莓派1代發(fā)布,那時候要使用樹莓派系統(tǒng)還需要插入一個很大的SD卡,然后基于千兆網(wǎng)絡就可以連接USB了,它主要是把GPIO接口給露出來了,因為大家知道以前的設備都是集成在USB接口上的,所以那時候都是即插即拔的,現(xiàn)在突然露出來,那么就需要很大的創(chuàng)造性了。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖5 樹莓派結(jié)構(gòu)和功能

左邊的樹莓派既可以接USB的接口,又能通過USB接鍵盤,把SD插入進去以后就可以寫入系統(tǒng)了。大家都知道操作系統(tǒng)在計算設備上是非常關鍵的,因為它極大地降低整個應用開發(fā)的周期和成本,就是你在獨特的設備上開發(fā)應用和在已經(jīng)有了通用操作系統(tǒng)的設備上開發(fā)應用的時間周期和難度是不同的。

右邊是Raspberry Pi 3 Model B。

樹莓派與創(chuàng)客教育

1949年前,文盲的標志是不識字;1970年前后,文盲的標志是數(shù)理化不好;1990年前后,文盲的標志是英語不好;到了2013年,文盲的標志則是不會編程。在這種環(huán)境下,創(chuàng)客成為一種新的時尚,因為創(chuàng)造成為市場。以機器人為依托的創(chuàng)客教育,樹莓派最后成為創(chuàng)客的首選,原因如下:

(1)RPI是電腦(2)性價比超高(3)體積小

MBH創(chuàng)客蜂巢是從樹莓派機器人開始起步的,在這里聚集了很多創(chuàng)客,而想要成為一名創(chuàng)客,需要這些技能:

(1)長生劍:樹莓派-機器人大腦蛋白質(zhì)

(2)碧月刀-Processing

(3)3D建模軟件-SketchUp等

(4)多情環(huán)-電路板設計

(5)葵花寶典-Python編程設計

(6)一指禪-機器學習(智能的最直接的體現(xiàn))

樹莓派與嵌入式設備

樹莓派與單片機

單片機的功能比較單一,只是為了某種特定意義而設計,而樹莓派是有操作系統(tǒng)的PC,功能全且性能強。

樹莓派與Arduino

樹莓派有操作系統(tǒng),能使用Python開發(fā),能運行高級算法。

Arduino實時性強,普及比較廣泛。

樹莓派OS與Python編程

在樹莓派上,我們會將所有的代碼寫入SD卡中,就是我們通常說樹莓派的系統(tǒng)是被燒進去的。那么,樹莓派的系統(tǒng)都有哪些呢?

官方的系統(tǒng)是基于Debian 的Raspbian OS,有的時候推薦使用Ubuntu Mate系統(tǒng)。隨著樹莓派被廣泛地接受,微軟也開始支持樹莓派了,目前Win10 IOT 是支持的,同時Android也支持樹莓派。而樹莓派是裝有Linux系統(tǒng)的PC,所以天然地可以使用Python編程。Python在國內(nèi)的普及率不是很高,但是在國外是被大量使用的,例如谷歌。在我的認知中Python只有操作系統(tǒng)的驅(qū)動程序是不能寫的,其他所有程序都是可以寫的,比如開發(fā)WEB、嵌入式設備等。

什么是機器人

能自動執(zhí)行工作的機械設備就叫機器人——首先,它是能夠自動的執(zhí)行工作,其次是機械設備,比如挖掘機,或者拖地的機器人。

一個機器人的組成部分包括機械裝置(執(zhí)行機構(gòu))、傳感裝置Sensors(傳動+感知)、控制系統(tǒng)(大腦)。

機器人如何工作

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖6 機器人工作原理

一句話概括:用Python代碼,通過GPIO接口,去控制傳動和感知設備,讓機械設備按照預想的動作去執(zhí)行任務。

如何一步步地構(gòu)建一個機器人?

第一步就是組裝硬件,硬件組裝完后就是測試,會有專門的測試平臺來測試。測試完以后我們就要設計相應的軟件。

樹莓派GPIO接口與控制器

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖7 樹莓派GPIO接口

接下來我給大家重點講下樹莓派上比較特殊的,也就是樹莓派GPIO接口與控制器。GPIO對于樹莓派來說是很特別的,這也是吸引創(chuàng)客的主要原因。GPIO接口有40個pin和引腳,有的是接電壓和電流的,還有的是用于外接傳感器的。外接傳感器有時候會多于40個,那這個時候該怎么辦呢?這個時候我們就需要做一些樹莓派的擴展板了。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖8 樹莓派拓展板和集群

左上角是我們MBH創(chuàng)客蜂巢自己生產(chǎn)的一個擴展板,當初我們想要做智能農(nóng)業(yè)和智能家居工程,但是發(fā)現(xiàn)40個接口根本不夠,因為我們要接很多很多的傳感器去感知整個空間里的環(huán)境,比如溫度、濕度、酸堿度等等。

這個擴展板有一個獨立的CPU,然后上面設計了很多的引腳。大家可以在我們的論壇上或官網(wǎng)上找到代碼,這些我們都已經(jīng)開源了。

我感覺最好玩的應該是圖中下部位置的擴展板了,它并沒有像樹莓派其他設備一樣把GPIO接口用引腳給引出來,它只是打了幾個孔。有人說我們是用更大的板子把所有的孔或Pi Zero設備集在一起形成集群一樣的擴展板,但是Pi Zero設備是比較小的,如果要去擴展的話是可以插很多Pi Zero設備的,比如你插100個,總體積也不會有什么大的變化。所以,有的人就在這上面挖礦,也就是挖比特幣,還有人純粹把它當做集群,相當于NOS,可以在里面存入大量文件,而且還是并行的處理方式,相當于你可以對你的文件進行多重備份,而不用害怕它會丟失了。

大家都知道樹莓派和Python是可以天然地結(jié)合在一起的,所以天然的Python在GPIO接口上有庫:

sudo apt-get install python-dev 

wget http://raspberry-gpio-python.googlecode.com/files/RPI.GPIO-0.5.3a.tar.gz

tar xvzf RPI.GPIO-0.5.3a.tar.gz

sudo pytho setup.py install

關于樹莓派的控制器,這里我們主要講下步進電機。樹莓派的GPIO接口可以控制其他裝置,只要你給它信號,這個信號不一定是脈沖信號,可以是連續(xù)的或跳躍的各種信號——給它規(guī)則的跳躍信號就可以控制步進電機,不規(guī)則的信號就可以控制其他傳動裝置或感應裝置。

樹莓派與傳感器

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖9 常見傳感器

如果我們把機器人與人做類比的話,那么傳感器對應人又是什么呢?傳感器就像人類的器官一樣,可以聽、說、看、動。傳感器種類是非常多的,我們可以通過GPIO接口或是擴展板將這些傳感器接入到樹莓派中,而且可以用Python的庫控制它們。

常用的傳感器有超聲波傳感器、紅外傳感器、溫濕度傳感器。所謂傳感器,就是能夠?qū)鞲行盘柛兄善毡榈碾娦盘柕脑O備。比如超聲波傳感器,可以把聲波信號映射為電信號。

案例一:樹莓派打造無人機

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖10 基于樹莓派的無人機

這是我們自己設計的一款飛行機器人,現(xiàn)在也叫無人機。當時我們在翻譯一本書叫《樹莓派機器人藍圖》,其中第七章就是講飛行機器人的,但是它的飛控是用Pix hawk,而Pix hawk的價格非常昂貴,用完之后還不能做他用。于是我們想是不是可以用樹莓派去做無人機的飛控呢?前面我們也講過,樹莓派和代碼其實構(gòu)成了整個機器人的大腦,而無人機上的大腦就是飛控,它的螺旋槳被稱為執(zhí)行機構(gòu),電動機就是傳輸機構(gòu)。我們用這樣裝置做出來的飛控并不比Pix hawk或是Pix 4性能差。在這個過程中,剛開始我們的代碼是用C語言寫的,寫完之后發(fā)現(xiàn)CPU的使用率會達到100%,不過后來經(jīng)過優(yōu)化整個CPU的使用率也不過8%,這也就驗證了樹莓派是完全可以用來做無人機的飛控的!

那么,我們就以這個無人機為例,為大家講講如何用樹莓派來做飛控。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖11 機器人工作布線圖

我們用倒敘的方式來思考。首先,它要讓四個螺旋槳轉(zhuǎn)動,因為只有螺旋槳轉(zhuǎn)動無人機才能起飛。而螺旋槳在轉(zhuǎn)動過程中要執(zhí)行哪些工作呢?比如無人機在轉(zhuǎn)彎的時候怎么辦?在這個時候就需要兩個螺旋槳轉(zhuǎn)動的速度快些,另外兩個螺旋槳轉(zhuǎn)動速度慢些。無人機在飛行過程中兩個螺旋槳是正轉(zhuǎn),而另外兩個螺旋槳是反轉(zhuǎn)的,執(zhí)行這些命令也需要傳感。

現(xiàn)在大部分無人機都是由一個手柄,或者是手機APP來控制。這些控制設備通過websocket來傳輸命令信號,信號在CPU上經(jīng)過處理后,結(jié)果通知到GPIO接口,然后GPIO接口向傳動裝置發(fā)送命令信號,傳動裝置再向感知設備發(fā)送信號。在無人機上,電機是傳動裝置,當GPIO接口向它發(fā)送命令信號后,螺旋槳會隨之正轉(zhuǎn)或反轉(zhuǎn)。

另外,無人機的平衡也非常關鍵。所以,我們在無人機上加了一個陀螺儀,陀螺儀在很多領域都有應用,無人機的平衡需要它的四個葉片轉(zhuǎn)動速度一樣,而且整個無人機不發(fā)生傾斜的情況下無人機才能保持平衡。那么,我們就需要在代碼上進行補償。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖12 機器人控制程序代碼結(jié)構(gòu)

如果你想用樹莓派做無人機,用這一套代碼就夠了。如果你想加一些傳感器,比如攝像頭,那么就加一個camera.py的代碼就好了。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖13 camera.py源代碼

案例二:樹莓派打造智能避障小車

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖14 樹莓派尋跡避障小車

既然是個小車,那肯定是能走的。而避障,也就是碰到一個物體要停下來,避障需要傳感器,比如超聲波傳感器,或者紅外傳感器。最后還有一個“智能”,比如它第一次走是一個探索的過程,第二次走就會走的更順利,這個時候我們可以加入一些機器學習的方法,讓整個路徑得到優(yōu)化。也就是說,這個小車要能走、能避障、能學習。

原理:

1.小車—電機啟動—前后左右

2.停止—電機不轉(zhuǎn)—設置時間周期

3.障礙識別—傳感器(超聲波,紅外識別,激光雷達等

4.GPIO接口—L298N驅(qū)動

5.將代碼寫入樹莓派Sd卡中

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖15 機器人控制系統(tǒng)代碼結(jié)構(gòu)

這里的代碼多了一個aeduino,這是因為小車在避障過程中需要很快地剎車,而樹莓派的實時數(shù)據(jù)的處理性能沒有aeduino好。然后再加入一些機器學習的算法,這個小車就算有些智能了。

基于樹莓派如何開發(fā)機器人(附PPT+視頻) | 雷鋒網(wǎng)公開課

圖16 《樹莓派機器人藍圖權(quán)威寶典》

如果大家覺得我今天講得不夠詳細,可以去看《樹莓派機器人藍圖權(quán)威寶典》這本書。這本書通過70個案例講述如何一步步用樹莓派做機器人。

Q&A 環(huán)節(jié)

Q:樹莓派的操作系統(tǒng)能方便移植到別的開發(fā)板嗎?

A:因為樹莓派的OS使用了Linux kernel,所以完全可以?,F(xiàn)在樹莓派嗨推出了桌面操作系統(tǒng)PIXEL OS。

Q:用樹莓派開發(fā)和用普通的單片機開發(fā)相比有什么優(yōu)勢?

A:樹莓派功能更加的全,能接入的傳感器更多。

Q:飛行時間切片法這個不是說幀率做不上去么?

A:代碼優(yōu)化其實是可以的。

Q:單片機上有各種總線(串口 can口等) 一般的傳感器單片機都能夠使用???難道樹莓派有些特殊傳感器?

A:樹莓派上基本所有傳感器都可以用,因為GPIO。

Q:樹莓派操作系統(tǒng)穩(wěn)定性怎么樣?因為很多項目由于穩(wěn)定性原因不采用這種嵌入式,轉(zhuǎn)向plc了

A:穩(wěn)定性經(jīng)過幾年的發(fā)展還是可以的,但是現(xiàn)在在工業(yè)上穩(wěn)定性不好,尤其是有電磁干擾的情況下樹莓派不穩(wěn)定。

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

分享:
相關文章

編輯

雷鋒網(wǎng)編輯,專注新技術(shù)和商業(yè)故事報道,創(chuàng)業(yè)者或行業(yè)交流可加微信號Duras0820
當月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設置密碼以方便用郵箱登錄
立即設置 以后再說