自主移動(dòng)機(jī)器人培訓(xùn)教材.ppt
《自主移動(dòng)機(jī)器人培訓(xùn)教材.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《自主移動(dòng)機(jī)器人培訓(xùn)教材.ppt(29頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人 培訓(xùn)教程 全自主移動(dòng)機(jī)器人 深圳市鷗鵬科技有限公司簡(jiǎn)介 深圳市鷗鵬科技有限公司 OpenTechnologyLtd 是一家專業(yè)從事機(jī)電一體化和專業(yè)機(jī)器人創(chuàng)新產(chǎn)品研究 開發(fā) 生產(chǎn)和銷售的高新技術(shù)企業(yè) 開發(fā)的具有自主知識(shí)產(chǎn)權(quán)的機(jī)電一體化和專業(yè)機(jī)器人集成技術(shù)及產(chǎn)品不僅可以廣泛的應(yīng)用于工業(yè)自動(dòng)化領(lǐng)域 而且還可以廣泛的應(yīng)用于普通高等院校和職業(yè)技術(shù)學(xué)院的自動(dòng)化和機(jī)電一體化等相關(guān)專業(yè)的實(shí)訓(xùn) 教學(xué)和研究 本手冊(cè)主要圍繞普通高等院校和職業(yè)技術(shù)學(xué)院的數(shù)控原理與數(shù)控技術(shù) 專業(yè)機(jī)器人和控制原理和控制工程等綜合創(chuàng)新實(shí)驗(yàn)室的建設(shè)來介紹產(chǎn)品 但這些產(chǎn)品并不僅僅限于教學(xué)應(yīng)用 他們的大多數(shù)產(chǎn)品都可以直接應(yīng)用于工業(yè)領(lǐng)域 更詳細(xì)信息請(qǐng)登錄 www open 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人簡(jiǎn)介 Robocup足球機(jī)器人世界杯是目前世界上規(guī)模最大的智能機(jī)器人聯(lián)盟 Robocup中型組足球機(jī)器人是目前Robocup足球機(jī)器人比賽中最富挑戰(zhàn)性的課題之一 博得許多機(jī)器人研究機(jī)構(gòu)和大學(xué)的青睞 DM B系列智能機(jī)器人系統(tǒng)既能夠面向RobotCup中型組足球機(jī)器人競(jìng)賽提供一個(gè)標(biāo)準(zhǔn)比賽任務(wù) 能夠用于如實(shí)時(shí)計(jì)算機(jī)視覺 多機(jī)器人協(xié)作算法等其他多種研究 還可以滿足機(jī)電 自動(dòng)控制等課程的教學(xué)演示 工程實(shí)訓(xùn) 以提高學(xué)生的綜合創(chuàng)新能力 可擴(kuò)展成工業(yè)領(lǐng)域和服務(wù)領(lǐng)域的智能無人小車和智能服務(wù)機(jī)器人 全自主移動(dòng)機(jī)器人 DM B系列智能機(jī)器人標(biāo)準(zhǔn)配置 DM B200 DM B400 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人整體外形圖 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人機(jī)械模塊 機(jī)械外殼 驅(qū)動(dòng)輪 全維視覺安裝架 踢球機(jī)構(gòu) 傳感器安裝位 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人電氣控制模塊 直流伺服電機(jī) 電源系統(tǒng) 運(yùn)動(dòng)控制器 螺線管 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人傳感器模塊 全維視覺 前向視覺 電子羅盤 可選 紅外傳感器 可選 超聲波傳感器 可選 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人使用 接口連線 筆記本啟動(dòng) 機(jī)器人上電 硬件模塊測(cè)試 硬件模塊測(cè)試 硬件檢查 全自主移動(dòng)機(jī)器人 自主移動(dòng)機(jī)器人軟件模塊 運(yùn)動(dòng)控制模塊 視覺模塊 策略模塊 WindowsXPProfessional操作系統(tǒng)需要攝像頭驅(qū)動(dòng)程序運(yùn)動(dòng)控制動(dòng)態(tài)鏈接庫TML lib dll 視覺動(dòng)態(tài)庫omni vision dll 決策動(dòng)態(tài)庫decision making lib和控制動(dòng)態(tài)庫control lib 推薦運(yùn)行在PCCPU800MHz以上 256M以上內(nèi)存環(huán)境 軟件運(yùn)行環(huán)境 全自主移動(dòng)機(jī)器人 程序模塊劃分及工作流程一 運(yùn)行于BlackGen上的程序從結(jié)構(gòu)上可以分為4個(gè)主要模塊 視覺模塊決策模塊運(yùn)動(dòng)控制模塊通信模塊除BlackGen之外 還有一個(gè)教練 Coach 程序用于遠(yuǎn)程控制和查看當(dāng)前信息 BlackGen運(yùn)行在機(jī)器人的筆記本中 Coach運(yùn)行在場(chǎng)外的計(jì)算機(jī)里面 一個(gè)Coach程序可以控制多個(gè)BlackGen程序 全自主移動(dòng)機(jī)器人 程序模塊劃分及工作流程二 全自主移動(dòng)機(jī)器人 程序模塊劃分及工作流程三 BlackGen整個(gè)進(jìn)程由5個(gè)線程組成 視覺線程 決策線程運(yùn)動(dòng)控制線程通信線程另外還有一個(gè)主線程 它是程序的入口 它先為整個(gè)進(jìn)程作一些必要的初始化 如 初始化攝像頭 讀取配置文件等 然后創(chuàng)建另外4個(gè)線程 接著就等待鍵盤輸入和處理指令 鍵盤輸入的指令有start 開始 stop 暫停 end 程序結(jié)束 全自主移動(dòng)機(jī)器人 程序模塊劃分及工作流程四 全自主移動(dòng)機(jī)器人 視覺模塊 全自主移動(dòng)機(jī)器人 視覺模塊主要完成以下任務(wù) a 基于Camera類的視頻采集 b 基于CBaseVision類及其子類 CFrontVision和COmniVision 的圖像分析處理 c 兩個(gè)視覺的信息融合 updateWorld函數(shù) 全自主移動(dòng)機(jī)器人 基于Camera類的視頻采集 Camera類表示攝像頭設(shè)備 主要用來初始化攝像頭和從攝像頭中獲得的圖像原始數(shù)據(jù) 通過攝像頭獲得的是24位RGB格式的圖像數(shù)據(jù) RGB red green blue 是在三基色理論基礎(chǔ)上開發(fā)的相加混合顏色空間 這也是在圖像處理中通常采用的顏色空間 其中在320 240的圖像上每個(gè)象素點(diǎn)用3個(gè)Byte表示其RGB值 主要采用了directShow技術(shù)進(jìn)行視頻捕捉 Camera類的接口很簡(jiǎn)單 為了方便使用 只有兩個(gè)公共函數(shù) boolInit intdev num char pBuffer 執(zhí)行初始化攝像頭 在第一次從設(shè)備讀取圖像原始數(shù)據(jù) RGB顏色模式 之前 一定要執(zhí)行初始化 第一個(gè)參數(shù)dev num表示該設(shè)備的在當(dāng)前操作系統(tǒng)中的枚舉值 第二個(gè)參數(shù)pBuffer表示存放圖像原始數(shù)據(jù)的緩沖區(qū) 該緩沖區(qū)大小至少為3 320 240個(gè)BYTE voidCaptureImage char pBuffer 捕捉圖像原始數(shù)據(jù) 參數(shù)pBuffer表示存放圖像原始數(shù)據(jù)的緩沖區(qū) 全自主移動(dòng)機(jī)器人 基于CBaseVision類及其子類的圖像分析處理 軟件在識(shí)別中使用顏色分割的方法 軟件中需要識(shí)別八種顏色 我們通過對(duì)H I S三個(gè)數(shù)組都設(shè)成BYTE型 每一為為代表一種顏色 如果某個(gè)顏色分量的某個(gè)值屬于某中顏色 則對(duì)應(yīng)與該顏色的此顏色分量數(shù)組中的相應(yīng)位設(shè)為1 否則設(shè)為0 這樣通過用某個(gè)象素的H I S值作為H I S三個(gè)數(shù)組的索引對(duì)三個(gè)值進(jìn)行位與即可得到當(dāng)前象素屬于的顏色 也成為 8通道 的方法 這樣效率比較高 此部分已經(jīng)被封裝成vision dll在程序中通過加載dll實(shí)現(xiàn) 其中的大部分文件的源代碼是開放的 全自主移動(dòng)機(jī)器人 CBaseVision類圖像處理的典型步驟 全自主移動(dòng)機(jī)器人 CFrontVision類中圖像處理實(shí)現(xiàn)過程 全自主移動(dòng)機(jī)器人 兩個(gè)視覺的信息融合 軟件有兩個(gè)攝像頭采集視頻 采用的是不同的圖像處理方法 因此在視覺融合方面需要做一些工作 即不論所得的有效信息是從全維視覺得到還是從前向視覺得到 在決策模塊認(rèn)為是一致的 boolupdateWorld CFrontVision frontVision boolfrontOK COmniVision omniVison boolomniOK World w 更新信息函數(shù) 該函數(shù)為上面的結(jié)構(gòu)體中變量賦值 第一個(gè)參數(shù)frontVision指向前向視覺對(duì)象 第二個(gè)參數(shù)frontOk true表示前向視覺參與視覺融合 false表示不參與 第三個(gè)參數(shù)omniVision指向全維視覺對(duì)象 第四個(gè)參數(shù)omniOk true表示全維視覺參與視覺融合 false表示不參與 注 在軟件中主要是通過經(jīng)驗(yàn)來融合兩個(gè)視覺的信息 該部分應(yīng)該根據(jù)具體情況考慮修改 并且沒有寫單獨(dú)一個(gè)視覺的情況 如果需要可自己添加 第五個(gè)參數(shù)w World對(duì)象中包含Vision2Player成員 該成員會(huì)被賦值 全自主移動(dòng)機(jī)器人 決策模塊 決策模塊的輸入是視覺模塊的輸出 是球場(chǎng)上各個(gè)對(duì)象的信息 如球相對(duì)于機(jī)器人的坐標(biāo) 兩個(gè)球門中心點(diǎn)相對(duì)于機(jī)器人的坐標(biāo)等等 決策模塊的輸出是具體的運(yùn)動(dòng)參數(shù) 如左右輪速 它們將成為運(yùn)動(dòng)控制模塊的輸入 在這里面運(yùn)動(dòng)控制模塊所做的是根據(jù)過去部分的和當(dāng)前的視覺信息判斷出當(dāng)前狀態(tài) 根據(jù)這個(gè)狀態(tài)使用對(duì)應(yīng)的算法計(jì)算出適合的運(yùn)動(dòng)參數(shù) 決策模塊主要是通過一個(gè)有限狀態(tài)自動(dòng)機(jī)來完成決策過程的 而這個(gè)狀態(tài)機(jī)是通過讀取配置文件來構(gòu)建的 BlackGen在初始化的時(shí)候先讀取這個(gè)配置文件并在程序中構(gòu)建出一個(gè)狀態(tài)機(jī)供決策使用 用戶可以根據(jù)自己的需要針對(duì)不同情況編寫不同的配置文件 全自主移動(dòng)機(jī)器人 決策模塊的原理 全自主移動(dòng)機(jī)器人 決策模塊的原理 找球 FindBall 就是當(dāng)視覺沒有在圖像上識(shí)別出球時(shí)所處的狀態(tài) 機(jī)器人采用自轉(zhuǎn)的方式找球 如果看到球 跳到拿球狀態(tài) 拿球 GoToBall 就是機(jī)器人看見球了 但是球還沒進(jìn)入機(jī)器人的帶球機(jī)構(gòu) 這個(gè)狀態(tài)的動(dòng)作需要一個(gè)具體的算法 一個(gè)已知目標(biāo)點(diǎn)求左右輪速的算法 當(dāng)看不見球了狀態(tài)跳到找球 如果球進(jìn)入機(jī)器人的帶球機(jī)構(gòu)時(shí)跳到帶球狀態(tài) 帶球 DriveToGoal 就是球在帶球機(jī)構(gòu)中 而球門并不在機(jī)器人的射程中所處的狀態(tài) 機(jī)器人針對(duì)對(duì)方球門的位置算出不同的左右輪速 同樣這里也需要一個(gè)特定的算法 如果球不見了狀態(tài)跳到找球 如果球脫離了帶球狀態(tài)跳到拿球狀態(tài) 如果對(duì)方球門看不見則跳到找球門的狀態(tài) 如果對(duì)方球門進(jìn)入射程范圍就跳到射門狀態(tài) 找球門 FindOppGoal 就是球在機(jī)器人的帶球機(jī)構(gòu)中 但是機(jī)器人看不見對(duì)方球門 機(jī)器人需要帶著球找對(duì)方球門 這里我們直接設(shè)置左右輪速 25 40 走圓弧來完成這個(gè)工作 射門 Kick 是球在帶球機(jī)構(gòu)中 對(duì)方球門又在射程中 機(jī)器人打開踢球機(jī)構(gòu)把球彈出 同樣如果球不見了就跳到找球狀態(tài) 全自主移動(dòng)機(jī)器人 具體決策線程的流程 全自主移動(dòng)機(jī)器人 教練與通信模塊 通信模塊的主要作用就是監(jiān)聽網(wǎng)絡(luò)等待教練程序發(fā)過來的指令 在這里我們只定義了兩種指令 s 小寫s 代表start開始 S 大寫s 代表stop暫停教練程序與通信模塊是通過數(shù)據(jù)結(jié)構(gòu)Referee2Player來完成的 structReferee2Player charcmd roleTyperole 其中cmd為指令 即 s 和 S role還沒有實(shí)際的用途 全自主移動(dòng)機(jī)器人 運(yùn)動(dòng)控制模塊 BlackGen機(jī)器人采用TECHNOSOFT公司的IPM100運(yùn)動(dòng)控制板作為運(yùn)動(dòng)控制器 用來將上位機(jī)指令轉(zhuǎn)換為運(yùn)動(dòng)輸出 BlackGen采用運(yùn)動(dòng)控制動(dòng)態(tài)鏈接庫TML lib dll來完成對(duì)IPM板的控制 而控制工作主要在ipm類里面實(shí)現(xiàn) 全自主移動(dòng)機(jī)器人 運(yùn)動(dòng)控制模塊接口說明 主要成員函數(shù) boolIpm initIpm 初始化控制板 intIpm readASPD 讀取實(shí)際的左右輪速并把結(jié)果保存在R ASPD和L ASPD這兩個(gè)成員變量中 boolIpm DetectBlock doublelwset doublerwset 判斷機(jī)器人的左右輪是否處在堵轉(zhuǎn)狀態(tài) 輸入為lwset和rwset實(shí)際向IPM板發(fā)送的左右輪速 函數(shù)給bLBlocking和bRBlocking兩個(gè)成員變量賦值 這兩個(gè)變量分別代表了左右輪是否堵轉(zhuǎn) 第一個(gè)參數(shù)lwset為發(fā)到IPM板上的左輪速第二個(gè)參數(shù)rwset為發(fā)到IPM板上的右輪速boolIpm LoadConfig constchar filename 讀取配置文件 得到初始化參數(shù) 第一個(gè)參數(shù)filename為IPM板相關(guān)的配置文件 默認(rèn)為 ipm cfg voidIpm axisOff 讓機(jī)器人處于poweroff的狀態(tài) voidIpm axisOn 讓機(jī)器人處于poweron的狀態(tài) voidIpm kickerOn 打開機(jī)器人的踢球機(jī)構(gòu) voidIpm kickerOff 關(guān)閉機(jī)器人的踢球機(jī)構(gòu) boolIpm SendToIPM 把類成員lv和rv作為左右輪速以速度控制的形式發(fā)送指令給IPM板 全自主移動(dòng)機(jī)器人 全自主移動(dòng)機(jī)器人維護(hù) 保持設(shè)備正常 故障排除 檢查相關(guān)連線 日常維護(hù)- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 自主 移動(dòng) 機(jī)器人 培訓(xùn)教材
鏈接地址:http://zhongcaozhi.com.cn/p-6334905.html