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

?

機(jī)器人大賽中的物聯(lián)網(wǎng)感知和機(jī)器視覺的應(yīng)用

2020-05-09 09:56黃一航解迎剛馬曉宇張祖貽張?zhí)靷?/span>
物聯(lián)網(wǎng)技術(shù) 2020年4期
關(guān)鍵詞:移動(dòng)機(jī)器人物聯(lián)網(wǎng)傳感器

黃一航 解迎剛 馬曉宇 張祖貽 張?zhí)靷?/p>

摘 要:通過物聯(lián)網(wǎng)傳感器和數(shù)據(jù)分析技術(shù),機(jī)器人可以獲得更廣泛的態(tài)勢感知,從而更好地執(zhí)行任務(wù)。文中根據(jù)機(jī)器人大賽動(dòng)態(tài)避障賽程的集體要求,搭建了基于ROS平臺工業(yè)機(jī)器人開源平臺,應(yīng)用Python語言進(jìn)行Gazebo虛擬現(xiàn)實(shí)系統(tǒng)的搭建,基于雙目視覺完成了靜態(tài)避障與動(dòng)態(tài)避障功能,完成了機(jī)器人大賽的具體比賽。

關(guān)鍵詞:移動(dòng)機(jī)器人;ROS平臺;Gazebo系統(tǒng);智能避障;傳感器;物聯(lián)網(wǎng)

中圖分類號:TP391文獻(xiàn)標(biāo)識碼:A文章編號:2095-1302(2020)04-00-03

0 引 言

近幾年,各行各業(yè)服務(wù)型機(jī)器人發(fā)展迅猛,服務(wù)機(jī)器人逐漸參與到人們的生活中。服務(wù)型機(jī)器人是最為實(shí)用也是最貼近人類生活的存在,爭位在服務(wù)型機(jī)器人行業(yè)中并沒有得到太多學(xué)者的研究,但在救援或者戰(zhàn)爭的環(huán)境下爭位機(jī)器人還是起到比較重要的地位。因此一些本學(xué)科的專家,提倡讓學(xué)生自主發(fā)揮想象力,使學(xué)生對機(jī)器人的研究更上一個(gè)臺階,同時(shí)提髙學(xué)生對機(jī)器人的興趣,培養(yǎng)學(xué)生良好的工作實(shí)踐能力,培養(yǎng)學(xué)生對機(jī)器人技術(shù)的興趣和熱情。

中國機(jī)器人大賽是目前中國影響力最大、綜合技術(shù)水平最高的機(jī)器人學(xué)科競賽之一,是我國最具影響力、最權(quán)威的機(jī)器人技術(shù)大賽、學(xué)術(shù)大會(huì)和科普盛會(huì),是當(dāng)今中國智能制造技術(shù)和高端人才的重大交流活動(dòng)。本次比賽是以TurtleBot機(jī)器人為硬件基礎(chǔ)的,讓我們更深一步的學(xué)習(xí)了TurtleBot的技術(shù)原理與應(yīng)用方法。

1 中國機(jī)器人大賽具體技術(shù)和規(guī)則要求

比賽規(guī)則是在Gazebo虛擬系統(tǒng)中,控制TurtleBot機(jī)器人。那么得分原則有如下兩個(gè)標(biāo)準(zhǔn):

(1)機(jī)器人從起點(diǎn)出發(fā),能成功到達(dá)終點(diǎn),則獲得基礎(chǔ)加分;

(2)機(jī)器人從起點(diǎn)到終點(diǎn)用時(shí)越短,加分越多。

因此要考慮兩個(gè)因素:

(1)如何讓機(jī)器人自助規(guī)劃路徑,使其能夠避開障礙物并且行駛到終點(diǎn);

(2)如何讓機(jī)器人規(guī)劃出最優(yōu)路徑,使其能夠在最短的時(shí)間內(nèi)到達(dá)終點(diǎn)。

機(jī)器人大賽比賽規(guī)則見表1所列。

在此任務(wù)中,障礙位置由服務(wù)器在客戶端程序首次啟動(dòng)時(shí)給出,需要參賽選手對機(jī)器人的運(yùn)動(dòng)進(jìn)行很好的控制,并制定好路徑規(guī)劃策略。在該任務(wù)中,將會(huì)有以下幾個(gè)任務(wù)點(diǎn)。

(1)場景一:有3個(gè)障礙物,分別位于1/4線,1/2線,3/4線。該場景下,最高分為10分,避開所有障礙得6分;最短時(shí)間者獲4分,第二名2分,第三名1分,其他人不得分。

(2)場景二:有6個(gè)障礙物,分別位于1/4線,1/2線,3/4線,每條線路上均有兩個(gè)障礙。該場景下,避開所有障礙得6分;最短時(shí)間者獲4分,第二名2分,第三名1分,其他人不得分。

(3)場景三:地面上隨機(jī)存在6個(gè)障礙物。該場景下,最高分為15分,避開所有障礙得11分,避開5個(gè)障礙得8分,避開4個(gè)障礙得5分;最短時(shí)間者獲4分,第二名2分,

第三名1分,其他人不得分。

(4)場景四:有5個(gè)障礙物,2個(gè)位于1/4線,2個(gè)位于3/4線,1個(gè)在1/2線處沿線隨機(jī)移動(dòng)。在該場景下,最高分為15分,避開所有障礙得11分,避開出移動(dòng)障礙物外所有障礙物并成功到達(dá)終點(diǎn)得7分;最短時(shí)間者獲4分,第二名2分,第三名1分,其他人不得分。

以上為本次比賽的規(guī)則,可見這個(gè)比賽的難度之大,要求之嚴(yán)格。

嚴(yán)格的要求中也有規(guī)則可循。障礙物的位置是固定的,而非移動(dòng)的。而且障礙物的坐標(biāo)是可以通過機(jī)器人的視覺獲取的。再一點(diǎn),障礙物的形狀都是固定的,都是矩形的。因此避障算法只要解決兩個(gè)問題即可,第一就是要使機(jī)器人能夠獲取障礙物的位置坐標(biāo),第二就是使機(jī)器人能夠根據(jù)已知的環(huán)境,規(guī)劃出合理路徑。

2 比賽機(jī)器人的準(zhǔn)備

2.1 硬件的準(zhǔn)備

在本次比賽中使用TurtleBot二代機(jī)器人作為硬件基礎(chǔ)。TurtleBot 2的硬件主要有Yujin Kobuki移動(dòng)底座、Kinect視覺傳感器、雙核筆記本、2 200 mA·h電池和可裝卸的結(jié)構(gòu)模塊。TurtleBot 2使用目前最流行的ROS(Robot Operating System)作為操作系統(tǒng),能實(shí)現(xiàn)3D建圖導(dǎo)航、跟隨等功能。機(jī)器人大賽TurtleBot機(jī)器人如圖1所示。

2.2 機(jī)器人中的物聯(lián)網(wǎng)感知和機(jī)器視覺

TurtleBot機(jī)器人裝有雙目視覺三維攝像頭和超聲波測距模塊。

攝像頭的作用是實(shí)現(xiàn)電腦與終端與機(jī)器人之間的物聯(lián)感知功能。攝像頭將拍攝的三維圖像傳送給數(shù)據(jù)處理電路,后者將模擬信號轉(zhuǎn)化為數(shù)字信號,將三維圖像分解為一個(gè)二維平面圖像和一組距離信號,方便計(jì)算機(jī)的應(yīng)用。計(jì)算機(jī)接收到機(jī)器視覺視覺獲取的數(shù)據(jù)之后,將數(shù)據(jù)帶入到算法之中,先判斷是否運(yùn)行避障算法,再使用獲取的數(shù)據(jù)進(jìn)行路徑規(guī)劃,執(zhí)行避障算法。算法執(zhí)行完畢后,將規(guī)劃好的路徑信息數(shù)據(jù)傳送給機(jī)器人,機(jī)器人獲取路徑后,按照規(guī)劃好的路徑行駛。行駛過程中,繼續(xù)通過機(jī)器視覺獲取數(shù)據(jù)。重復(fù)上述過程,即可完成機(jī)器人與電腦終端之間的信息交互。實(shí)現(xiàn)機(jī)器視覺的物聯(lián)感知功能,實(shí)現(xiàn)人工算法對機(jī)器人的控制。

超聲波測距傳感器的作用是獲取機(jī)器人與障礙物之間的距離,并將距離數(shù)據(jù)傳送給電腦,與電腦中的通過三維圖像分解得來的距離信息進(jìn)行比較。一方面是保證距離信息的正確性,另一方面是在機(jī)器視覺測距功能發(fā)生故障時(shí),代替視覺測距,提供準(zhǔn)確的距離數(shù)據(jù)。

所謂的機(jī)器視覺與物聯(lián)感知,就是將三維視覺雙目三維攝像頭和超聲波傳感器作為感知層;將電腦終端與機(jī)器人之間的無線網(wǎng)絡(luò)通信協(xié)議作為網(wǎng)絡(luò)層;Gazebo虛擬控制系統(tǒng)和機(jī)器人的運(yùn)動(dòng)模塊作為應(yīng)用層,搭建了一個(gè)嵌入式物聯(lián)網(wǎng)體系。

嵌入式物聯(lián)網(wǎng)體系搭建完成之后,就可以實(shí)現(xiàn)電腦終端與機(jī)器人之間的信息交互,協(xié)同工作。

2.3 軟件系統(tǒng)和策略設(shè)計(jì)

TurtleBot的可以接受ROS系統(tǒng)的控制指令,也可以將機(jī)器人的運(yùn)動(dòng)狀態(tài),如角速度,線速度等物理數(shù)值反饋給ROS系統(tǒng),可以說ROS系統(tǒng)是TurtleBot運(yùn)行的基礎(chǔ)。因此軟件環(huán)境搭建的第一步是電腦上搭建適合TurtleBot運(yùn)行的ROS環(huán)境。第二步是在ROS 環(huán)境中搭建Gazebo虛擬現(xiàn)實(shí)系統(tǒng)。Gazebo是一款3D動(dòng)態(tài)模擬器,能夠在復(fù)雜的室內(nèi)和室外環(huán)境中準(zhǔn)確有效地模擬機(jī)器人群。與游戲引擎提供高保真度的視覺模擬類似,Gazebo提供高保真度的物理模擬,其提供一整套傳感器模型,以及對用戶和程序非常友好的交互方式。

首先,安裝軟件運(yùn)行環(huán)境,包括ROS系統(tǒng)和Gazebo系統(tǒng),具體步驟如下:

(1)sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc)main"> /etc/apt/sources.list.d/ros-latest.list'

(2)sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

(3)sudo apt-get update

(4)sudo apt-get install ros-kinetic-desktop-full

(5)sudo rosdep init

(6)rosdep update

(7)echo "source /opt/ros/kinetic/setup.bash">> ~/.bashrc

(8)source ~/.bashrc

(9)sudo apt-get install ros-kinetic-turtlebot-gazebo

依次運(yùn)行如下代碼之后,系統(tǒng)會(huì)自動(dòng)安裝一段時(shí)間,然后就可以運(yùn)行程序,運(yùn)行程序的同時(shí)還要調(diào)用大量文件。運(yùn)行步驟如下:

exportLD_LIBRARY_PATH=~/ros_scripts/plugin:$LD_LIBRARY_PATHroslaunch turtlebot_gazebo turtlebot_world.launch world_file:=/home/username/ros_scripts/world/world1-1(world_file:=your world_file's path)

這時(shí)Gazebo系統(tǒng)已經(jīng)可以啟動(dòng)。接下來的任務(wù)是在Gazebo系統(tǒng)中搭建比賽規(guī)定的環(huán)境。因此設(shè)置如下文件,使電腦能夠成為連接機(jī)器人硬件與控制軟件的服務(wù)器。

(1)how_to_run.py。該文件主要來寫參賽者想要如何控制小車的算法。

(2)robot.py。該文件主要是描述一個(gè)機(jī)器人類,在此處指的是小車。它有轉(zhuǎn)向和前進(jìn)等各種功能,詳細(xì)信息可見代碼中的注釋。

(3)robot_ser.py。機(jī)器人服務(wù)端,主要接受客戶端傳來的指令來與gazebo進(jìn)行交互。

(4)robot_cli.py。機(jī)器人客戶端,主要與服務(wù)端進(jìn)行交

互,從服務(wù)端獲取狀態(tài)等信息,也可以對服務(wù)端發(fā)送信息用以控制小車。

(5)clock_ser.py。服務(wù)端時(shí)間類,主要是記錄比賽時(shí)間,與客戶端時(shí)間統(tǒng)一。

(6)clock_cli.py??蛻舳藭r(shí)間類,主要是記錄比賽時(shí)間,與服務(wù)端時(shí)間統(tǒng)一。

(7)judge.py。裁判系統(tǒng),主要記錄比賽時(shí)間,機(jī)器人狀態(tài)是否越界,是否成功完成比賽等。

(8)world.world。生成場景信息的文件。

其中how_to_run.py是路徑規(guī)劃文件,需要參賽者自己進(jìn)行修改,使TurtlrBot機(jī)器人能夠合理的運(yùn)行,在Gazebo系統(tǒng)生成的地圖上完成任務(wù)。world.world文件是生成地圖的文件,并且后面加上編號,就可以生成參賽者想要的地圖。

3 路徑規(guī)劃的實(shí)現(xiàn)

路徑規(guī)劃在具體實(shí)現(xiàn)時(shí)有多種算法可用,在本次比賽中采用計(jì)算量較小、實(shí)現(xiàn)比較容易的直角路線走法實(shí)現(xiàn),即無數(shù)個(gè)直角組成的路徑。機(jī)器人首先向正前方行駛,檢測到前方有障礙物靠近時(shí),執(zhí)行避障算法。當(dāng)檢測到障礙物遠(yuǎn)離時(shí),結(jié)束這條避障算法。當(dāng)再次檢測到前方有障礙物靠近時(shí),再次執(zhí)行避障算法。

在執(zhí)行避障算法的過程中,首先要利用機(jī)器人的機(jī)器視覺,獲取障礙物的三位圖像。然后將三維圖像以模擬信號的形式存儲(chǔ)下來,再將模擬信號轉(zhuǎn)化為數(shù)字信號。轉(zhuǎn)化為數(shù)字信號后,將三維圖像轉(zhuǎn)化為二維平面圖像,用于判斷障礙物的形狀。再從三維圖像中獲取機(jī)器人與障礙物的距離,用于規(guī)劃整體的避障路徑。

機(jī)器人在運(yùn)行直角走法的過程中,并非像弧線算法那樣一次性規(guī)劃好整個(gè)路徑,而是每走一步,規(guī)劃一步,即每遇到一次障礙物,就要先判斷轉(zhuǎn)向方向,再規(guī)劃避開這個(gè)局部障礙的路徑。直角路線算法如圖2所示。

圖3所示為直角走法的運(yùn)行結(jié)果,機(jī)器人從起點(diǎn)出發(fā)之后,成功到達(dá)終點(diǎn)。紅線標(biāo)識的是機(jī)器人的行走路徑。

直角走法的算法優(yōu)點(diǎn)是出錯(cuò)率低,容錯(cuò)率高。只要根據(jù)不同的地形,不同的障礙物形狀,一步一步地規(guī)劃路徑,一定能走到目標(biāo)地點(diǎn)。缺點(diǎn)是用時(shí)長,時(shí)間復(fù)雜度高。由于要逐步規(guī)劃路徑,因此機(jī)器人每走一段距離就要停頓一下,規(guī)劃下一步的路徑,耗時(shí)長。況且比賽規(guī)則是用時(shí)越短,得分越高,因此直角規(guī)劃算法雖然能保證完成路徑,但不能保證快速完成。

4 結(jié) 語

機(jī)器人在運(yùn)行直角走法的過程中,每走一步,規(guī)劃一步。直角走法適用于障礙物分散、數(shù)量多、體積小的避障環(huán)境,保證機(jī)器人能夠穩(wěn)定地越過障礙物,完成避障。實(shí)際環(huán)境中,障礙物會(huì)是不同形狀,不同顏色。這就需要在三個(gè)方面改進(jìn)機(jī)器人的避障策略:一是要增強(qiáng)機(jī)器視覺的識別能力,讓機(jī)器視覺能夠識別不同顏色、形狀復(fù)雜的障礙物;二是增加機(jī)器視覺的捕捉能力,能夠捕捉到移動(dòng)障礙物的運(yùn)動(dòng)規(guī)律、運(yùn)動(dòng)狀態(tài),方便機(jī)器人進(jìn)行動(dòng)態(tài)避障;三是增強(qiáng)數(shù)據(jù)處理程序的魯棒性和自洽性,使其在獲取上述復(fù)雜數(shù)據(jù)后,依然能夠進(jìn)行數(shù)據(jù)處理,并將獲取的數(shù)據(jù)帶入路徑規(guī)劃算法之中。后續(xù)的比賽中將會(huì)從這三個(gè)方面進(jìn)行改進(jìn)。

注:本文通訊作者為解迎剛。

參考文獻(xiàn)

[1]解迎剛,楊曉芬,高博斌,等.基于混合模式的農(nóng)產(chǎn)品質(zhì)量追溯系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2018,8(3):61-62.

[2]賈衛(wèi)平,蓋欣桐,張祥,等.基于ROS平臺機(jī)器人導(dǎo)航避障系統(tǒng)設(shè)計(jì)與開發(fā)[J].機(jī)械工程師,2019(10):16-18.

[3]王雷,石鑫.改進(jìn)蟻群算法在移動(dòng)機(jī)器人避障中的應(yīng)用[J].南京航空航天大學(xué)學(xué)報(bào),2019,51(5):728-734.

[4]王娟,吳憲祥,郭寶龍.基于改進(jìn)粒子群優(yōu)化算法的移動(dòng)機(jī)器人路徑規(guī)劃[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(15):240-244.

[5]趙輝,郝夢雅,王紅君,等.基于改進(jìn)A~*算法與天牛須搜索算法的農(nóng)業(yè)機(jī)器人路徑規(guī)劃方法[J].科學(xué)技術(shù)與工程,2019,19(31):185-190.

[6]曹凱.移動(dòng)機(jī)器人技術(shù)研究現(xiàn)狀與未來[J].信息系統(tǒng)工程,2013(5):140.

[7]楊明輝,吳垚,張勇,等.室內(nèi)動(dòng)態(tài)環(huán)境下的移動(dòng)機(jī)器人自主避障策略[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2019,50(8):1833-1839.

[8]徐兵兵,郝榮飛.機(jī)器人路徑規(guī)劃技術(shù)的現(xiàn)狀與發(fā)展[J].電子技術(shù)與軟件工程,2018(24):81.

[9]范家琪.基于機(jī)器人群體避障學(xué)習(xí)的群智能算法的研究[D].上海:東華大學(xué),2018.

[10]閆琳宇.室內(nèi)動(dòng)態(tài)環(huán)境下移動(dòng)小車的路徑規(guī)劃技術(shù)研究[D].南京:東南大學(xué),2018.

[11]陳順立.農(nóng)業(yè)機(jī)器人路徑優(yōu)化及軌跡跟蹤研究—基于遺傳算法[J].農(nóng)機(jī)化研究,2017,39(8):17-21.

[12]熊菡.移動(dòng)機(jī)器人全局路徑規(guī)劃及軌跡跟蹤研究[D].武漢:武漢科技大學(xué),2014.

猜你喜歡
移動(dòng)機(jī)器人物聯(lián)網(wǎng)傳感器
移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
康奈爾大學(xué)制造出可拉伸傳感器
簡述傳感器在物聯(lián)網(wǎng)中的應(yīng)用
“傳感器新聞”會(huì)帶來什么
跟蹤導(dǎo)練(三)2
基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
中國或成“物聯(lián)網(wǎng)”領(lǐng)軍者
極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
基于引導(dǎo)角的非完整移動(dòng)機(jī)器人軌跡跟蹤控制
卢氏县| 涿州市| 亳州市| 浮梁县| 邯郸市| 卢氏县| 彩票| 南漳县| 鄂温| 漳平市| 铜梁县| 伽师县| 营口市| 寻乌县| 平邑县| 广饶县| 龙山县| 郓城县| 新野县| 海宁市| 建平县| 衡水市| 萨迦县| 璧山县| 东乡县| 湟中县| 安陆市| 明星| 潮安县| 穆棱市| 荔波县| 射阳县| 连州市| 延边| 长泰县| 盐边县| 额尔古纳市| 天气| 涿州市| 托克逊县| 彰化市|