




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
讓機器人聽令前行識物項目3CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目導入01綜合語音、運控和視覺的組合應用具有實用性和迫切性41項目導入聲音識別和對象檢測技術在新冠疫情肆虐的當下更具有實用性和迫切性CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09項目任務02當用戶發出語音指令“開始”后,機器人開始前行前行10步,然后左右轉動頭部不斷識別眼前對象CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09學習目標03知識目標職業素養目標技能目標了解YanAPI接口的定義與功能了解異步函數的定義,包括
asyncawait等關鍵詞的含義理解YanAPI接口調用返回數據的結構理解全局變量和局部變量的定義和差異了解利用模型識別圖像的結果數據結構理解事件循環在異步調用中的作用了解進程、協程和線程的定義及差異。知識目標:知識目標、技能目標、職業素養目標9學習目標3能設計多協程并發程序能編寫Python類,并創建實例,使用實例方法能應用MobileNet-SSD模型進行圖像識別能在樹莓派架構下通過攝像頭獲取視頻幀能在視頻流中識別物體并顯示結果。技能目標:培養學生嚴謹、細致、規范培養學生團隊協作及表達溝通能力培養學生跟蹤新技術及創新設計能力培養技術標準意識、操作規范意識、服務質量意識等。職業素養目標:CONTENT目錄項目導入01項目任務02學習目標03知識鏈接04項目準備05任務實施06任務評價07任務拓展08項目小結09知識鏈接04YanAPI軟件開發工具包進程、線程與協程Python之面向對象編程Python中實現線程編程的基本模式MobileNet+SSD模型簡介語音、視覺、運控綜合應用程序設計YanAPI軟件開發工具包12知識鏈接4YanAPI:提供獲取機器人狀態信息、設計并控制機器人表現的能力等一系列API。只有Python3.5.0及以上版本才可調用YanAPI。機器人本體使用YanAPI接口只需在程序文件開頭引入下句:importYanAPI機器人外部使用YanAPI接口:需保證機器人與電腦在同一局域網中調用YanAPI前需使用機器人IP地址初始化SDK,如下圖所示;獲取機器人IP地址的方法有三種,請同學們跟隨老師一起練習。通過yanshee移動端App連接機器人獲取;通過HDMI線連接機器人和顯示器,打開Terminal終端通過指令獲取;通過HDMI線連接機器人和顯示器,點擊桌面網絡圖標獲取。YanAPI接口說明134知識鏈接YanAPI中的部分語音相關接口及功能:YanAPI中的部分動作相關接口及功能:YanAPI說明鏈接:/#/zh。Python之面向對象編程(一)144知識鏈接類定義語法:類的屬性引用:如下例,MyClass.i
、
MyClass.f和
就是有效的屬性引用,將分別返回一個整數、一個函數對象和所屬類的文檔字符串。Python之面向對象編程(二)154知識鏈接繼承:isinstance(object,classinfo):用于判斷對象object是否是classinfo類型issubclass(class,classinfo):用于判斷class是否是classinfo的子類多基類繼承:多層級繼承:搜索從父類所繼承屬性的操作是深度優先、從左至右的,當層次結構中存在重疊時不會在同一個類中搜索兩次。因此,如果某一屬性在DerivedClassName中未找到,則會到Base1中搜索它,然后(遞歸地)到Base1的基類中搜索,如果在那里未找到,再到Base2中搜索,依此類推。進程、線程與協程164知識鏈接進程:計算機中運行的程序線程:操作系統能夠運算調度的最小單位協程:計算機程序的一類組件,它推廣了協作式多任務的子例程,允許執行被掛起與被恢復基本概念線程的創建較為容易,進程需要復制其父進程,開銷較大。線程共享創建其進程的地址空間,而進程使用進程自己的地址線程可以直接訪問進程的數據,進程可以使用其父進程數據的副本。線程可以同其進程中其他線程直接通信,進程與同級進程通信必須使用進程間通信(inter-processcommunicate,IPC)機制。線程開銷較小,而進程開銷較大。線程可以控制相同進程的其他線程,進程只能控制其子進程。對于主線程的修改(如:優先級修改等)可能會影響其他線程對于父進程的修改不會影響其子進程。多進程、多線程相比單線程在速度上整體而言有很大提升。進程與線程的差異協程是協作式多任務的,而線程是搶占式多任務的。在協程之間切換無需涉及任何系統調用或者任何阻塞調用。線程和協程的差異Python中實現線程編程的基本模式174知識鏈接threading模塊:多線程可以用threading模塊實現。該模塊提供的常用方法和常量有以下一些:threading.enumerate():返回一個包含正在運行的線程的list。threading.activeCount():
返回正在運行的線程數目。threading.TIMEOUT_MAX
是threading模塊提供的常量,可以用來設置threading全局超時時間。Thread類的常用屬性有:name:線程名;ident:線程標識符;daemon:該線程是否是守護線程。Thread類的常用方法有:start():啟動線程;run():執行線程方法;join(timeout=None):啟動線程終止以前,一直被掛起,除非給出timeout;isAlive:該線程是否存在;isDaemon():該線程是否是守護線程;setDaemon(boolean):改變線程守護標識。線程同步機制:包括互斥鎖(Lock)、遞歸鎖(Rlock)、Condition鎖等技術。MobileNet+SSD模型簡介184知識鏈接深度神經網絡的傳統結構:主干網絡+全連接網絡。但全連接網絡對目標的位置識別較弱,于是有人逐步提出Mask-Rcnn、SSD、YOLO等來替代全連接網絡。MobileNet:憑借其出色的網絡結構優化,在更少參數量和計算量的前提下,準確率反而超過了部分主流的神經網絡。MobileNet適用于移動端和嵌入式設備。SSD:全稱是SingleMultiBoxDetector,是一種在2016年提出的目標檢測分類算法,它分類的過程只需要一步,運行速度得到了大大提升。語音、視覺、運控綜合應用程序設計194知識鏈接三個協程協同實現:任務啟動協程:機器人聽到“開始”后,往前行走、致敬;(語音、運控)圖像幀采集協程:不斷采集機器人攝像頭的視頻流圖像幀;(視覺)對象識別協程:進行實時視頻流圖像幀的物體識別,并標記物體且播報物體名稱。(視覺、語音)程序整體處理流程204知識鏈接整體處理流程:創建RobotMotion類的對象my_robot并啟動事件循環new_loop;將三個協程提交到事件循環
new_loop;創建線程t;通過線程t啟動事件循環new_loop。程序運行過程的時序圖214知識鏈接總體業務場景的時序圖如下:CONTENT目錄項目導入01項目任務02知識鏈接04項目準備05學習目標03任務評價07任務拓展08項目小結09任務實施06項目準備05硬件條件軟件條件24項目準備5硬件條件1.一臺電腦;2.一臺yanshee機器人。1.電腦上安裝PythonIDE環境(推薦PyCharm軟件)2.Python環境中配置多種常見模塊,如numpy、sys、cv2、time、picamera和threading等25項目準備5軟件條件CONTENT目錄項目導入01項目任務02知識鏈接04任務實施06學習目標03任務評價07任務拓展08項目小結09項目準備0506任務實施確認已給的demo1源碼包復制源碼包到機器人端創建與編寫voice_object_detection運行
voice_object_detection程序
確認已給的demo1源碼包28任務實施6如下圖所示,依次檢查:1.images文件夾中包含test.jpg圖片;2.model文件夾包含了已訓練好的模型MobileNetSSD;3.腳本文件MobileNetSSD20,該腳本文件用于調用模型
MobileNetSSD識別該目標圖片中的物體。296任務實施創建與編寫voice_object_detection(一)步驟:1.創建voice_object_detection.py文件;2.在上述文件中導入所需庫并定義變量。306任務實施創建與編寫voice_object_detection(二)步驟:1.定義類RobotMotion,使其具有如下圖所示方法。316任務實施創建與編寫voice_object_detection(三)步驟:1.編寫與task_thread協程對應的異步函數task_thread();2.編寫語音識別函數voiceRecognizeWaitCmd()函數;3.定義第一個任務函數executeFirstRecognizeFirstPass()326任務實施創建與編寫voice_object_detection(四)步驟:1.定義與協程camera_thread對應的異步函數camera_thread()。336任務實施創建與編寫voice_object_detection(五)步驟:1.定義與協程objectdetection_thread對應的異步函數objectdetection_thread();2.定義物體識別函數object_detection()。346任務實施創建與編寫voice_object_detection(六)步驟:1.定義協程循環函數start_loop();2.定義主函數main();3.定義程序入口。356任務實施復制源碼包到機器人端366任務實施運行voice_object_detection程序(一)步驟:1.用HDMI線將機器人與電腦顯示器連接;2.打開機器人,用命令查看程序包demo1目錄結構:cddemo/ls-la376任務實施運行voice_object_detection程序(二)步驟:1.給用于調用已訓練好的模型MobileNetSSD的腳本賦予訪問權限:chmod777MobileNetSSD202.運行程序;3.觀察識別結果。CONTENT目錄項目導入01項目任務02學習目標03任務評價07項目準備05任務實施06知識鏈接04任務拓展08項目小結09任務評價07自我評價教師評價小組評價40任務評價7自我評價小組評價與教師評價41任務評價7CONTENT目錄項目導入01
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 提升數學興趣的幼兒園試題及答案
- 小學教師教育教學改進的實踐試題及答案
- 農業季節性銷售策略試題及答案
- 土木工程施工安全知識試題及答案
- 數量感知與發展試題及答案2025
- 力與運動的深入觀察與思考題試題及答案
- 未來電動車監管政策與市場發展的互動研究試題及答案
- 安全風險控制機制試題及答案
- 應力鑄件測試題及答案
- 建筑施工安全措施的有效應用試題及答案
- 部編版八年級歷史下冊-第16課 獨立自主的和平外交(教學設計4)
- 7.1 自由平等的真諦 課件- 2024-2025學年八年級道德與法治下冊 統編版
- 2025年內蒙古中煤蒙大新能源化工有限公司招聘筆試參考題庫附帶答案詳解
- 插畫版權授權協議書
- 地理西亞+課件-2024-2025學年七年級地理下冊人教版
- 放射科質量管理制度
- 產品上市計劃
- CHINET2024年全年細菌耐藥監測結果
- 藥物臨床試驗質量管理規范解讀
- 膀胱癌健康宣教課件
- 改革開放與新時代知到智慧樹章節測試課后答案2024年秋同濟大學
評論
0/150
提交評論