Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

用Raspberry Pi 完成一個智慧型六足機器人

7,844 views

Published on

六足機器人的基本結構,基本上包含機器人本體結構、Raspberry Pi 控制核心、馬達驅動板、電力系統。首先,針對機器人本體結構,每一足將有3顆伺服馬達,故六足共有18顆伺服馬達使六足機器人可以達到所有可能的走行模式。馬達驅動板的部份,我們以2個PCA9685模組(I2C界面具16通道PWM輸出)來進行18顆伺服馬達的控制。 在電力系統的部份,由於六足機器人在所有的伺服馬達同時動作時,消耗約4A電流,故我們串聯了3顆18650電池,以提供12.6v電壓及最大電流輸出6A作為主要的電力來源。系統中再以LM2596及LM1117進行不同的DC-DC轉換,以提供系統其他部件所需的5V及3.3V 工作電壓。另外,馬達驅動電源部份,使用了XL4015恆壓模組,使伺服馬達具備穏定電壓源而能夠更穏定靈活轉動。 最後,Raspberry Pi控制核心主要為軟體設計的部份,我們完成了一個低階的PWM馬達驅動程式與一個高階並行控制運動演算法,使六足機器人能進行基本的直線、橫移與旋轉等運動行為。

為使六足機器人更具智慧,我們加入了超音波感測器以進行障礙物偵側、也加入USB Webcam 使六足機器人具備即時影像串流的能力並且再其底部加入一顆伺服馬達使Webcam鏡頭能左右轉向。另外,也加入PIR人體感測器,一旦偵測到人時, Webcam會立即拍下畫面,並傳送照片檔到雲端相簿。


最後,我們設計一個 Android APP並以Wi-Fi通訊方式來控制六足機器運動控制、其中即時影像串流的能力以Android Webview來實現,而手機對雲端相簿的存取則Android volley來完成。

Published in: Engineering
  • Be the first to comment

用Raspberry Pi 完成一個智慧型六足機器人

  1. 1. 用 Raspberry Pi 完成一個智 慧型六足機器人 組長 : 許 0 桀 組員 : 賴 0 成 張 0 祥 張 0 誠 專題指導老師 : Joseph chen 105 艾鍗科技嵌入式 Linux 系統工程師人才養成班
  2. 2. 專題摘要 關鍵詞 : 六足機器人 Raspberry Pi,PCA9685,I2C,PWM,Servo motor, LM2596,LM358,XL4015,Android APP,webview,volley 用 Raspberry Pi 完成一個智慧型六足機器人。 六足機器人的基本結構,基本上包含機器人本體結構、 Raspberry Pi 控制核心、馬達驅動板、電 力系統。首先,針對機器人本體結構,每一足將有 3 顆伺服馬達,故六足共有 18 顆伺服馬達使六 足機器人可以達到所有可能的走行模式。馬達驅動板的部份,我們以 2 個 PCA9685 模組 (I2C 界 面具 16 通道 PWM 輸出 ) 來進行 18 顆伺服馬達的控制。 在電力系統的部份,由於六足機器人在 所有的伺服馬達同時動作時,消耗約 4A 電流,故我們串聯了 3 顆 18650 電池,以提供 12.6v 電 壓及最大電流輸出 6A 作為主要的電力來源。系統中再以 LM2596 及 LM1117 進行不同的 DC-DC 轉換,以提供系統其他部件所需的 5V 及 3.3V 工作電壓。另外,馬達驅動電源部份,使用了 XL4015 恆壓模組,使伺服馬達具備穏定電壓源而能 更穏定靈活轉動。 最後,夠 Raspberry Pi 控 制核心主要為軟體設計的部份,我們完成了一個低階的 PWM 馬達驅動程式與一個高階並行控制運 動演算法,使六足機器人能進行基本的直線、橫移與旋轉等運動行為。 最後,我們設計一個 Android APP 並以 Wi-Fi 通訊方式來控制六足機器運動控制、其中即時影像 串流的能力以 Android Webview 來實現,而手機對雲端相簿的存取則 Android volley 來完成。
  3. 3. 實現的功能 1. 六 機器人移動腳 ( 前進、後退、轉彎、橫移 ) 2. 攝影機即時影像傳輸 3. 即時影像拍照上傳雲端 4. 人體紅外線感測觸發拍照 5. 手機推播通知 6. 自動閃避障礙物
  4. 4. 大綱 •系統架構介紹 •機構行為設計與分析 •電源供應模組設計 •手機操作介面功能介紹 •保全警示功能介紹 •實體 Demo
  5. 5. 工作分工 許 0 桀:操控介面 HTML 、 CSS 、 JQuery 與 Python 做整合操控馬達與 感測器 張 0 祥:針對 Pi 、感測器、伺服馬達設計相對應電壓的電源供應模組 賴 0 成:機器人步態分析、 PWM 伺服馬達動作設計、調整 張 0 誠:手機 Android 設計、雲端相簿 HTML 與 PHP 設計、感測器功能 Python 設計
  6. 6. 系統架構 手機連接網頁透過樹莓派控制 機器人回傳感測器訊息到手機 感測器回傳資訊給樹莓派 設置手機瀏覽方式 的網頁。 網頁同步影像 拍照 上傳照片至雲端 + 推播
  7. 7. 伺服馬達驅動 -PCA9685 I2C PW M PCA9685 Servo Motor Raspberry Pi 2B 16-Channel 12-bit PWM / Servo Driver
  8. 8. PWM 控制伺服馬達原理 脈 調製寬 (PWM) ,是將類比信號 轉換為脈波的一種技術,一般轉 換後脈波的週期固定,但脈波的 占空比會依類比信號的大小而改 變,藉由數位訊號高頻率的切換 ,調整開關的比例,我們可以模 擬出我們需要的類比訊號。
  9. 9. 機器人步態類型 source:http://hexapodalpha.blogspot.tw/2010/12/blog-post.html Wave 步態 L3->L2->L1->R3->R2->R1->L3... Tripod 步態 (L1,R2,L3) -> (R1,L2,R3) -> (L1,R2,L3) ... Ripple 步態 L3->R1->L2->R3->L1->R2->L3…
  10. 10. 機器人機構說明 A B C D E F 12 3
  11. 11. 足抬起,往前傾 1. 前後移動 2. 左右移動 3. 左右旋轉 機器人動作說明 足保持固定 足往左傾 四足擺定位 足抬起 足抬起逆時針轉 足著地順時針轉 足著地順時針 足抬起逆時針轉 逆時針轉 足保持固定 足抬起,往前傾 足抬起 足往左傾
  12. 12. 機器人電源供應問題 由於機器人上面要接感測器以及 19 顆伺服馬達,吃電量無 法由 Pi 全部供應,加上部分感測元件會使用 DC5V 與 3.3V 電源,因此電源模組必須針對相對應的元件設計其對應的外 來供電電壓;因為使用 DC to DC 降壓穩壓電路,因此電池 也不會出現大電流放電情況,另外機器人不至於在電池快要 沒電時候,開始出現慢慢延遲至沒電的現象。
  13. 13. 六足機器人 - 電源線路說明 ( 工作電壓 ) LM3596 + LM358 DC - DC XL4015 DC - DC LM1117 - DC - DC 18650 3S 12.6V DCV 12.6V DCV 5V DCV 3.3V
  14. 14. PCA9685 上的 19 顆 Servo Motor 消耗電流約 4A!! PCA9685 上的 19 顆 Servo Motor 消耗電流約 4A!! 六足機器人 - 電源線路說明 ( 電流消耗 ) DC - DC Max Current 3A DC - DC Max Current 5A PCA9685 PWM Servo Driver PCA9685 PWM Servo Driver DC - DC Max Current 800mA 3S 18650 12.6V 6A Pi2 消耗電流約 700mA x19
  15. 15. 19 顆伺服馬達 4A 電流處理 XL4015 IN + Out + IN - Out - Out Voltage ADJ Power indicator LED PWM Servo Motor 工作電壓為 5V ,共有 19 顆考慮功耗因 此使用 XL4015 恆壓模組降壓,提供 4.5A 及 22.5W 大功 率輸出,讓 Servo Motor 能 靈活作動。夠
  16. 16. DC-DC 轉換 : 使用 LM2596+LM358 Raspberry pi 2&HC-SR04 超音波距模組感測器由於 輸入電壓需為 5V 因此使用 LM2596+LM358 恆 壓恆流模組降壓,也可防止電流超載燒壞板子。 IN + Out + IN - Out - Out Voltage ADJ Out Current ADJ Current indicator LED Min & Max Green or Red 12.6V  5V
  17. 17. DC-DC 轉換 : 使用 LM1117 IN + Out + IN - Out - Power indicator LED HC-SR501 人體紅外線模組工作電壓為 3.3V ,因此使用 LM1117 降壓,最大穩定電 流達 800ma 功率輸出,提供給外接感測器穩定 電源。 5V  3.3V
  18. 18. 控制相機轉向 機器人轉向 前進、後退 左橫移右橫移 左:紅外線人體感測拍照 中:即時拍照觀看 右:雲端相簿觀看 左、右:超音波測距數值 中:自動閃避障礙物模式 手機開 警示通知啟 APP 操作介面 即時影像傳輸
  19. 19. 軟體架構 PHP HTML ( 雲端相簿 ) Python ( 感測器控制 ) mjpg-streamer ( 影像串流 ) Android ( 頁面控制 , 推播 ) Python HTML JavaScript (JQuery) Java (Eclipse) Android 的 volley Raspberry Pi Python 的 urllib Android 的 webview
  20. 20. android 保全警示推播功能 下拉按下警示圖 顯示人體感測器拍的即時相片 雲端:利用 PHP 抓取相片 名建立一個陣列檔 ,陣列最後一位為最新 名。檔 手機:使用 android 裡面 volley 抓取雲端 PHP 陣列最後一位 名做比較,一有檔 新的 案便會發出通知擷取最新照檔 片,而開關通知是使用 android 的 Service 功能讓其背景做無窮迴圈撈 取資料。
  21. 21. 實體 Demo 影片 影片連結: https://youtu.be/xniNN0sqo8o
  22. 22. Future work 1. 更加精密自走模式, ex :走迷宮。 2. 與其他家電做結合實現物聯網, ex :遙控遠端設備、行動遠端監控 。 3. 使用更精密的伺服馬達實現更多複雜的動作, ex :跳舞、爬樓梯、 動 態平衡。 4. 不同應用支援, ex :行走式花台、行走式澆花器 ( 可兼土壤感測 ) 、 行 走式投影機 ( 可兼紅外線定位投影 )…
  23. 23. 結論 透過這次實作,我們結合許多有關軟硬體端相關的應用,也很感謝艾鍗 的老師在這段期間給我們很多的幫忙。專題一開始感覺像是困難重重, 好像甚麼都辦不到似的,透過上網,找書的方式再加上同學之間的互相 幫助,不但一步步克服障礙實現我們想要的功能,也從中獲取不小的成 就感。我們從中學習到的不僅僅是書上的知識,也了解與人分工的重要 性,相信這些對將來我們在步入職場都會有一番新的幫助。

×