又大又长粗又爽又黄少妇毛片,亚洲欧美日韩综合一区在线观看,伊人久久精品,一区二区三区精品,亚洲综合色自拍一区,一本一道久久久a久久久精品91

首頁 > 機(jī)器人資訊 > 如何設(shè)計(jì)一款基于ROS的移動(dòng)機(jī)器人?

如何設(shè)計(jì)一款基于ROS的移動(dòng)機(jī)器人?

日期:2018-03-29   人氣:  來源:互聯(lián)網(wǎng)
簡介:最近幾年各種移動(dòng)機(jī)器人開始涌現(xiàn)出來,不論是輪式的還是履帶式的,如何讓移動(dòng)機(jī)器人移動(dòng)都是最核心的工作。要讓機(jī)器人實(shí)現(xiàn)環(huán)境感知、機(jī)械臂控制、導(dǎo)航規(guī)劃等一系列功能,就需要操作系統(tǒng)的支持,而ROS就是最重要的軟件平臺(tái)之一,它在科研領(lǐng)域已經(jīng)有廣泛的應(yīng)……

最近幾年各種移動(dòng)機(jī)器人開始涌現(xiàn)出來,不論是輪式的還是履帶式的,如何讓移動(dòng)機(jī)器人移動(dòng)都是最核心的工作。要讓機(jī)器人實(shí)現(xiàn)環(huán)境感知、機(jī)械臂控制、導(dǎo)航規(guī)劃等一系列功能,就需要操作系統(tǒng)的支持,而ROS就是最重要的軟件平臺(tái)之一,它在科研領(lǐng)域已經(jīng)有廣泛的應(yīng)用。

不過有關(guān)ROS的書籍并不多,國內(nèi)可供的學(xué)習(xí)社區(qū)就更少了。本期硬創(chuàng)公開課就帶大家了解一下如何利用ROS來設(shè)計(jì)移動(dòng)機(jī)器人。

分享嘉賓李金榜:EAI科技創(chuàng)始人兼CEO,畢業(yè)于北京理工大學(xué),碩士學(xué)位。曾在網(wǎng)易、雪球、騰訊技術(shù)部有多年linux底層技術(shù)研發(fā)經(jīng)驗(yàn)。2015年聯(lián)合創(chuàng)立EAI科技,負(fù)責(zé)SLAM算法研發(fā)及相關(guān)定位導(dǎo)航軟件產(chǎn)品開發(fā)。EAI科技,專注機(jī)器人移動(dòng),提供消費(fèi)級高性能激光雷達(dá)、slam算法和機(jī)器人移動(dòng)平臺(tái)。

移動(dòng)機(jī)器人的三個(gè)部分

所謂的智能移動(dòng),是指機(jī)器人能根據(jù)周圍的環(huán)境變化,自主地規(guī)劃路線、避障,到達(dá)目標(biāo)地。

機(jī)器人是模擬人的各種行為,想象一下,人走動(dòng)需要哪些器官的配合?首先用眼睛觀察周圍環(huán)境,然后用腦去分析如何走才能到達(dá)目標(biāo)地,接著用腿走過去,周而復(fù)始,直到到達(dá)目標(biāo)地址為至。機(jī)器人如果要實(shí)現(xiàn)智能移動(dòng),也需要眼、腦和腿這三部分的緊密配合。

腿是機(jī)器人移動(dòng)的基礎(chǔ)。機(jī)器人的腿不局限于類人或類動(dòng)物的腿,也可以是輪子、履帶等,能讓機(jī)器人移動(dòng)起來的部件,都可以籠統(tǒng)地稱為腿。

類人的腿式優(yōu)點(diǎn)是:既可以在復(fù)雜路況(比如爬樓梯)下移動(dòng)、也可以更形象地模仿人的動(dòng)作(比如跳舞),缺點(diǎn)是:結(jié)構(gòu)和控制單元比較復(fù)雜、造價(jià)高、移動(dòng)慢等。

所以大部分移動(dòng)的機(jī)器人都是輪式機(jī)器人,其優(yōu)勢在于輪子設(shè)計(jì)簡單、成本低、移動(dòng)快。而輪式的也分為多種:兩輪平衡車、三輪、四輪和多輪等等。目前最經(jīng)濟(jì)實(shí)用的是兩個(gè)主動(dòng)輪+一個(gè)萬向輪。

眼睛

機(jī)器人的眼睛其實(shí)就是一個(gè)傳感器。它的作用是觀察周圍的環(huán)境,適合做機(jī)器人眼睛的有激光雷達(dá)、視覺(深度相機(jī)、單雙相機(jī))、輔助(超聲波測距、紅外測距)等。

機(jī)器人的大腦就負(fù)責(zé)接收眼睛傳輸?shù)臄?shù)據(jù),實(shí)時(shí)計(jì)算出路線,指揮腿去移動(dòng)。

其實(shí)就是要把看到的東西轉(zhuǎn)換為數(shù)據(jù)語言。針對如何描述數(shù)據(jù),如何實(shí)現(xiàn)處理邏輯等一系列問題。ROS系統(tǒng)給我們提供一個(gè)很好的開發(fā)框架。

ROS簡介

ROS是建立在linux之上的操作系統(tǒng)。它的前身是斯坦福人工智能實(shí)驗(yàn)室為了支持斯坦福智能機(jī)器人而建立項(xiàng)目,主要可以提供一些標(biāo)準(zhǔn)操作系統(tǒng)服務(wù),例如硬件抽象,底層設(shè)備控制,常用功能實(shí)現(xiàn),進(jìn)程間消息以及數(shù)據(jù)包管理。

ROS是基于一種圖狀架構(gòu),從而不同節(jié)點(diǎn)的進(jìn)程能接受、發(fā)布、聚合各種信息(例如傳感,控制,狀態(tài),規(guī)劃等等)。目前ROS主要支持Ubuntu操作系統(tǒng)。

有人問ROS能否裝到虛擬機(jī)里,一般來說是可以的,但是我們建議裝個(gè)雙系統(tǒng),用Ubuntu專門跑ROS。

實(shí)際上,ROS可以分成兩層,低層是上面描述的操作系統(tǒng)層,高層則是廣大用戶群貢獻(xiàn)的實(shí)現(xiàn)不同功能的各種軟件包,例如定位繪圖,行動(dòng)規(guī)劃,感知,模擬等等。ROS(低層)使用BSD許可證,所有是開源軟件,并能免費(fèi)用于研究和商業(yè)用途,而高層的用戶提供的包則使用很多種不同的許可證。

用ROS實(shí)現(xiàn)機(jī)器人的移動(dòng)

對于二維空間,使用線速度+角速度可以實(shí)現(xiàn)輪式機(jī)器的隨意移動(dòng)。

線速度:描述機(jī)器人前后移動(dòng)的速度大小

角速度:描述機(jī)器人轉(zhuǎn)動(dòng)的角速度大小

所以控制機(jī)器人移動(dòng)主要是要把線速度角速度轉(zhuǎn)換為左右輪的速度大小,然后,通過輪子直徑和輪間距,可以把線速度和角速度轉(zhuǎn)化為左輪和右輪的速度大小。

這里有一個(gè)關(guān)鍵問題就是編碼器的選擇和pid的調(diào)速。

編碼器的選擇:一般編碼器和輪子是在一個(gè)軸上,目前來說,速度在0.7m/s以下的話,編碼器選600鍵到1200鍵之間都o(jì)k。不過需要注意的是,編碼器最好用雙線的,A、B兩線輸出,A向和B向輸出相差90度,這樣可以防抖動(dòng)。防抖動(dòng)就是可以在之后里程計(jì)算時(shí)可以更準(zhǔn)確。

左輪和右輪的速度大小的控制,通過輪子編碼器反饋,通過PID實(shí)時(shí)調(diào)整電機(jī)的PMW來實(shí)現(xiàn)。實(shí)時(shí)計(jì)算出小車的里程計(jì)(odom),得到小車移動(dòng)位置的變化。

計(jì)算車的位置變化是通過編碼器來計(jì)算的,如果輪子打滑等情況,庫卡機(jī)器人,那么計(jì)算的變化和實(shí)際的變化可能不同。要解決這個(gè)問題,其實(shí)是看那個(gè)問題更嚴(yán)重。要走5米只走了4.9米重要,還是要走180度只走了179度重要。

其實(shí)角度的不精確對小車的影響更大。一般來說,小車的直線距離精確度可以控制在厘米范圍內(nèi),在角度方面可以控制精準(zhǔn)度在1%~2%。因?yàn)榻嵌仁潜容^重要的參數(shù),所以很多人就用陀螺儀來進(jìn)行矯正。

所以有時(shí)候大家問小車精度有多高?其實(shí)現(xiàn)在這樣已經(jīng)精度比較高了,難免打滑等問題,不可能做到百分之百的精準(zhǔn)。

小車在距離和角度方面做到現(xiàn)在這樣對于自建地圖導(dǎo)航已經(jīng)是可以接受的,要提高更高的精度可能就要其他設(shè)備輔助,比如激光雷達(dá)來進(jìn)行輔助,激光雷達(dá)可以進(jìn)行二次檢測進(jìn)行糾正。

激光雷達(dá)數(shù)據(jù)的存儲(chǔ)格式,它首先會(huì)有一個(gè)大小范圍,如果超出范圍是無效的。還有就是有幾個(gè)采樣點(diǎn),這樣就可以激光雷達(dá)可以告訴你隔多少度有一個(gè)采樣點(diǎn)。

另外最后那個(gè)Intensities是告訴大家數(shù)據(jù)的準(zhǔn)確率,因?yàn)榧す饫走_(dá)也是取最高點(diǎn)的數(shù)據(jù),是有一定的準(zhǔn)確率的。上面的ppt其實(shí)就是用激光雷達(dá)掃了一個(gè)墻的形狀。

激光雷達(dá)掃出一個(gè)靜態(tài)形狀其實(shí)沒有意義,雷達(dá)建圖的意義其實(shí)在于建立房間的地圖。

如何繪制地圖?

第一步是收集眼睛數(shù)據(jù):

針對激光雷達(dá),ROS在sensor_msgs包中定義了專用了數(shù)據(jù)結(jié)構(gòu)來存儲(chǔ)激光消息的相關(guān)信息,成為LaserScan。

它指定了激光的有效范圍、掃描點(diǎn)采樣的角度及每個(gè)角度的測量值。激光雷達(dá)360度實(shí)時(shí)掃描,能實(shí)時(shí)測出障礙物的距離、形狀和實(shí)時(shí)變化。

第二步就是把眼睛看到的數(shù)據(jù)轉(zhuǎn)化為地圖:

ROS的gmapping把激光雷達(dá)的/scan數(shù)據(jù)轉(zhuǎn)換為柵格map數(shù)據(jù),其中黑色代表障礙物、白色代表空白區(qū)域,可以順利通行、灰色:未知領(lǐng)域。隨著機(jī)器人的移動(dòng),激光雷達(dá)可以在多個(gè)不同方位觀測同一個(gè)位置是否有障礙物,如果存在障礙物的閾值超過設(shè)置值是,庫卡機(jī)器人驅(qū)動(dòng)器維修,就標(biāo)定此處是存在障礙物;否則標(biāo)定不存在障礙物。把障礙物、空白區(qū)域和未知領(lǐng)域的尺寸用不同灰度表示出來,就是柵格地圖。便于下一步定位和導(dǎo)航。

有時(shí)候會(huì)出現(xiàn)很直的墻,機(jī)器人卻無法直著行走,這時(shí)的問題可能就是機(jī)器人的輪子出現(xiàn)打滑等其他問題,而走歪了,這時(shí)繪制出的地圖也可能是歪的。這種情況可以通過加一個(gè)陀螺儀來避免這個(gè)情況。因?yàn)榧す饫走_(dá)的特性,有時(shí)候遇到黑色或鏡面會(huì)導(dǎo)致測距不準(zhǔn)。

目前的解決方法就是不用激光雷達(dá),或者用激光雷達(dá)和超聲波進(jìn)行輔助處理。

ROS的地圖是分多層的,我可以在不同高度放多臺(tái)激光雷達(dá)來一起疊加,共同繪制一張地圖。地圖繪制結(jié)束之后,就可以進(jìn)行定位和導(dǎo)航等工作。

如何定位和導(dǎo)航?

定位:其實(shí)是概率性的定位,而不是100%的精度。根據(jù)激光雷達(dá)掃描周圍障礙物的形狀,與地圖的形狀做匹配,判斷機(jī)器人所在位置的概率

免責(zé)聲明:本網(wǎng)部分文章和信息來源于互聯(lián)網(wǎng),本網(wǎng)轉(zhuǎn)載出于傳遞更多信息和學(xué)習(xí)之目的。如轉(zhuǎn)載稿涉及版權(quán)等問題,請立即聯(lián)系網(wǎng)站所有人,我們會(huì)予以更改或刪除相關(guān)文章,保證您的權(quán)利。