国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于ROS系統(tǒng)的智能導(dǎo)航機(jī)器人

2019-09-16 13:04陳濤南喧陽陳然孫文匯
數(shù)碼世界 2019年7期
關(guān)鍵詞:樹莓激光雷達(dá)雷達(dá)

陳濤 南喧陽 陳然 孫文匯

摘要:瓦力機(jī)器人是基于ROS系統(tǒng)的智能導(dǎo)航機(jī)器人。可以自主構(gòu)建室內(nèi)2D模型,利用體感攝像頭識(shí)別物體將其得到的點(diǎn)云數(shù)據(jù)發(fā)送給雷達(dá),雷達(dá)對(duì)其實(shí)現(xiàn)空間匹配,然后通過SLAM算法計(jì)算并構(gòu)建出空間模型。將機(jī)器人的三維模型手動(dòng)構(gòu)建以后,映射到雷達(dá)構(gòu)建的空間模型中,再使用主題于節(jié)點(diǎn)的相互形式以實(shí)現(xiàn)導(dǎo)航功能。最后將深度攝像頭探取的物體描述通過兩個(gè)六自由度機(jī)械臂以及履帶式底盤對(duì)其不定點(diǎn)的抓取。

關(guān)鍵詞:ROS激光雷達(dá)深度攝像頭Arduino樹莓派編碼電機(jī)

前言

目前,工業(yè)機(jī)器入主要負(fù)責(zé)焊接、噴涂、搬運(yùn)等重復(fù)性勞動(dòng)密集型工作。這種工業(yè)機(jī)器人確實(shí)提高了一些企業(yè)的工作效率,節(jié)約了成本,擴(kuò)大了企業(yè)的效益,但是對(duì)于上班族來說卻毫無用處。因此,我們?cè)O(shè)想并簡單地制造了一個(gè)機(jī)器人 ROS機(jī)器人。它將來可以用于辦公室、家庭和其他地方。

ROS平臺(tái)提供了協(xié)議和軟硬件環(huán)境的SLAM技術(shù)服務(wù)。機(jī)器人形態(tài)是一種軟硬件結(jié)合的服務(wù)產(chǎn)品。它為地圖建模和應(yīng)用提供了一站式的軟件節(jié)點(diǎn)和教程,并擴(kuò)展了更多的硬件支持,以滿足不同場景的需求。利用SLAM來收集室內(nèi)點(diǎn)云數(shù)據(jù),構(gòu)建一個(gè)大型的公共服務(wù)機(jī)器人地圖建模和室內(nèi)地圖數(shù)據(jù)運(yùn)營商。數(shù)據(jù)服務(wù)可應(yīng)用于學(xué)校、商場、體育場館、博物館等場所的服務(wù)機(jī)器人,具有跨場景功能,無需重復(fù)建模,類似于汽車導(dǎo)航中使用的地圖數(shù)據(jù)服務(wù)。最終目標(biāo)是實(shí)現(xiàn)ROS框架云機(jī)器人,它的大部分智能模塊通過云服務(wù)提供算法服務(wù)。根據(jù)ROS協(xié)議機(jī)器人的下游應(yīng)用開發(fā)可以通過簡單的構(gòu)件構(gòu)建自己的智能機(jī)器人,服務(wù)于各行各業(yè),走進(jìn)每個(gè)客廳,

1 ROS系統(tǒng)Arduino庫的安裝

rosarduino_bridge功能包集包括了Arduino庫(ROSArduinoBridge)和一系列用來控制基于Arduino的ROS功能包,它使用的是標(biāo)準(zhǔn)的ROS消息和服務(wù)。這個(gè)功能包集的功能包括:支持ping聲吶和Sharp紅外線傳感器;從通用的模擬和數(shù)字信號(hào)的傳感器讀取數(shù)據(jù);控制數(shù)字信號(hào)的輸出;支持PWM舵機(jī)控制;basecontroller利用git clone https://github.com/hbrobotics/

rosarduino-bride.git,然后拷貝Arduino庫文件到相應(yīng)的Arduino IDE的libraries目錄,根據(jù)自己的需求改代碼,配置機(jī)器人的參數(shù),拷貝一份新的配置文件,改里面的參數(shù),主要修改就是啟用base Controller,修改PID參數(shù),修改機(jī)器人的參數(shù),在新終端下,發(fā)布Twist消息來控制機(jī)器人的運(yùn)行。接下來就是實(shí)現(xiàn)機(jī)器人底盤線速度和角速度的標(biāo)定以及該驅(qū)動(dòng)馬達(dá)的獨(dú)立PID調(diào)速。

2基于激光雷達(dá)數(shù)據(jù)構(gòu)造地圖

激光雷達(dá)具有測量精度高的顯著特點(diǎn),是測量距離非常好的選擇,但同時(shí)他也具有功耗高成本高等缺點(diǎn),目前普遍使用的2D的激光雷達(dá),智能測量一個(gè)平面內(nèi)周圍的距離,雷達(dá)采用USB接口的方式與樹莓派相連起到供電和數(shù)據(jù)傳輸?shù)淖饔谩?/p>

將雷達(dá)的驅(qū)動(dòng)包放到src目錄下編譯,建圖現(xiàn)在普遍用的gmappmg和hector slam兩個(gè)包分別來構(gòu)建地圖,兩個(gè)包的主要區(qū)別在于需不需要里程計(jì)數(shù)據(jù)。

2.1使用hector slam構(gòu)建地圖

安裝hector slam (sudo apt-get install roskinetic-hectorslam),然后編寫hector slam啟動(dòng)launch文件需要注意的一點(diǎn)需要在launch文件中編寫一個(gè)static tf類型basejrame2_laser坐標(biāo),建立底盤與激光雷達(dá)坐標(biāo)系的映射。啟動(dòng)launch文件,可以通過鍵盤控制機(jī)器人的移動(dòng)構(gòu)建地圖。

2.2使用gmapping繪制地圖

安 裝slam_gmapping (sudo aptget install roskineticslam-gmapping) .gmapping建圖和hector slam差不多,但是需要到里程計(jì)數(shù)據(jù)。也是通過啟動(dòng)Iaunch文件,使用鍵盤控制機(jī)器人的移動(dòng)。然后執(zhí)行地圖生成命令。

3體感攝像頭對(duì)圖像的識(shí)別和圖像處理

kinect攝像頭的工作原理其實(shí)和人的眼睛很相似。當(dāng)光線照射物體,物體上的光線反射通過人的晶狀體聚焦,在視網(wǎng)膜上就可以形成圖像,然后視網(wǎng)膜的神經(jīng)感知到圖像將信息傳到大腦,我們就能看見東西了。攝像頭的原理和扎爾格過程非常的相似,光線照射物體,物體上的光線反射通過鏡頭聚焦,圖像傳感器就會(huì)感知到圖像。得到的點(diǎn)云數(shù)據(jù)傳送給雷達(dá),從而使雷達(dá)對(duì)其進(jìn)行空間匹配。

4上位機(jī)功能模塊的設(shè)計(jì)

瓦力選用了樹莓派為主控制器,一個(gè)USB 2.O接口與ArduinoUNO的USB Type B接口連接,通過串口方式發(fā)送命令給ArduinoUNO,此USB接口同時(shí)給Ardunio UNO供電,一個(gè)USB 2.O接口與激光雷達(dá)的USB Micro連接,激光雷達(dá)通過串口的方式發(fā)送激光數(shù)據(jù)?!珎€(gè)USB2.O接口與Kinect攝像頭USB數(shù)據(jù)線連接。

樹莓派安裝ROS機(jī)器人操作系統(tǒng),把底層驅(qū)動(dòng)的邏輯運(yùn)算放在樹莓派中處理。

因?yàn)閍rduino底層驅(qū)動(dòng)可用兩個(gè)功能包rosserial_arduino和rosarduino-bridge實(shí)現(xiàn)base controller,通過實(shí)踐證明ROSlib是非常占用arduino資源的,如果要訂閱TWist,同時(shí)發(fā)布TF,Odometry消息則至少需要3k的SRAM,。Arduino UNO只能作為接收Tvrist消息,來控制底盤,如果用rosserial_arduino做到完整的Base Controller就只能上Arduino Mega2560了這無疑會(huì)增加不少成本,所以盡量推薦使用rosarduino-bridg,把邏輯的運(yùn)算放在上位機(jī)上運(yùn)行,Arduino單純的作為硬件的控制器。

激光雷達(dá)和kinect攝像頭的控制和運(yùn)行也是基于樹莓派,主要用于SLAM算法構(gòu)建空間模型,amcl定位及move_base路徑規(guī)劃。

目前,基于幾何特征的環(huán)境地圖表示法,由于具有存儲(chǔ)空間簡約、直觀、易于實(shí)現(xiàn)等優(yōu)點(diǎn),是SLAM研究中應(yīng)用最廣的表示方法。

這一部分我們先進(jìn)行室內(nèi)2D模型的自主構(gòu)建,利用體感攝像頭識(shí)別物體將其得到的點(diǎn)云數(shù)據(jù)發(fā)送給雷達(dá),雷達(dá)對(duì)其實(shí)現(xiàn)空間匹配,然后通過SLAM算法計(jì)算并構(gòu)建出空間模型。

amcl定位是arncl接收基于激光的地圖,激光掃描和tf變換消息,并輸出位姿估計(jì)在啟動(dòng)時(shí),amcl根據(jù)提供的參數(shù)初始化其粒子濾波器。

move_base路徑規(guī)劃是指機(jī)器人按照某一性能指標(biāo)(如時(shí)間、距離、能量等)搜索一條從起始狀態(tài)到目標(biāo)狀態(tài)的最優(yōu)或次優(yōu)路徑。

路徑規(guī)劃的方法主要是基于示例、基于行為和基于環(huán)境模型三種類型。在已有地圖的情況下,需要讓機(jī)器人能夠在地圖中定位的自己的位置,這就需要時(shí)用到ROS的ACML包來實(shí)現(xiàn),同時(shí)發(fā)布目標(biāo)位置通過movejoase來做路徑規(guī)劃,繞過障礙物到達(dá)目的地。

5總結(jié)分析

瓦力是基于ROS系統(tǒng)的機(jī)器人,以arduino做為底層驅(qū)動(dòng),樹莓派做為上位機(jī),結(jié)合激光雷達(dá),深度攝像頭,六度自由機(jī)械臂的服務(wù)型機(jī)器人。

瓦力的使用性很廣泛,比如家里,老人小孩不方便行動(dòng)自己拿取東西都可以給瓦力發(fā)送指令;在辦公室,為為避免人員走動(dòng),提高工作效率,可以對(duì)瓦力發(fā)送指令進(jìn)行相關(guān)資料或者物品的拿取;甚至可以應(yīng)用于各大會(huì)所、展覽等人員流動(dòng)較多的場所,瓦力可以實(shí)現(xiàn)代巡邏、代垃圾的拾取,甚至可以做到服務(wù)每個(gè)人。以上只是簡單的幾個(gè)應(yīng)用場景,瓦力的這幾大功能完美的結(jié)合在一起,可以應(yīng)用于任何你需要的地方。

猜你喜歡
樹莓激光雷達(dá)雷達(dá)
法雷奧第二代SCALA?激光雷達(dá)
融合激光雷達(dá)與超聲波數(shù)據(jù)的障礙物檢測方法
Ouster發(fā)布首款全固態(tài)數(shù)字激光雷達(dá)
隱形飛機(jī)哪里躲
黃金水果紅樹莓
樹莓紅了 游人醉了
班上的“小雷達(dá)”
e絡(luò)盟率先推出第三代樹莓派
年度睡姿大盤點(diǎn)(下)
能分身的雷達(dá)