本發(fā)明提供一種基于深度增強學習的家用掃地機器人的設計方法,屬于智能家居領域。
背景技術:
目前,使用掃地機器人的家庭越來越多?,F在市場上的掃地機器人進入一個新的環(huán)境工作時,首先要按照算法對整個房間進行遍歷,完成建圖和定位。然后構建語義地圖,最后進行路徑規(guī)劃,然后再開始對房間的清潔。其中,遍歷房間的方法往往是掃地機器人一直貼著一條墻壁走,形成一個閉合回路后,再逐漸填補中間空白位置,這種做法路程較長,會花費大量的時間。同樣,路徑規(guī)劃算法不僅復雜、需要大量的計算和人力工程,而且不夠完善,不能使掃地機器人以最優(yōu)路徑工作。
近年來,深度增強學習發(fā)展迅速,在棋類博弈和一些模擬游戲中取得了很好的表現。本發(fā)明構建掃地機器人智能體,通過給予智能體獎勵和懲罰信息,使其知道自身行為的正確與否。智能體通過我們給予的獎勵和懲罰信息進行長時間的學習,最終具有自主決策的能力,能自如的躲避障礙、規(guī)劃路徑,并對房間進行高效的清掃。
技術實現要素:
1.目的:
本發(fā)明的目的是提供一種基于深度增強學習的家用掃地機器人的設計方法。該方法以激光雷達為傳感器,對掃地機器人進行實時定位以及對掃地機器人周圍的二維水平平面空間進行地圖構件(即slam),以slam圖像作為卷積循環(huán)神經網絡(即cnn+lstm神經網絡)的輸入,該網絡產生控制掃地機器人動作的指令。通過一種通用深度增強學習算法(a3c算法)對神經網絡進行訓練,最終可以使掃地機器人以較短路徑遍歷房間,并能夠自主躲避障礙、規(guī)劃路徑和清理垃圾。通過該方法設計的掃地機器人具有學習能力、自主決策能力和任務遷移能力。
2.技術方案:本發(fā)明是一種基于深度增強學習的家用掃地機器人的設計方法,該方法具體步驟包括:
步驟1,掃地機器人通過激光雷達采集掃地機器人周圍的房間水平剖面的原始圖像,并對該數據進行解碼,將原始數據通過無線串口回傳給計算機(即pc機);
步驟2,對步驟1中獲得的原始數據進行slam,完成對掃地機器人的實時定位與對房間的地圖構圖,之后系統(tǒng)對房間的構圖進行最大值池化(即maxpooling)處理,生成168×168的二維數組;
步驟3,建立cnn+lstm神經網絡,將步驟2中生成的二維數組作為神經網絡的輸入,cnn+lstm神經網絡輸出控制掃地機器人運動的指令;
步驟4,通過a3c算法對掃地機器人進行訓練,根據掃地機器人的運動是否滿足設計預期要求,對神經網絡給出相應的回報,以此來更改神經網絡參數。經過一定時間的訓練后,掃地機器人便能夠進行自主決策;
其中,在步驟1中所述的“解碼”是指根據激光雷達通信協(xié)議將串口數據轉換成角度和距離信息。
其中,在步驟2中所述的“對掃地機器人的實時定位與對房間的地圖構圖”,構建過程如下:對原始數據進行特征提取,利用牛頓高斯方法計算變換矩陣,再進行濾波等處理,完成建圖。
其中,步驟4中“對掃地機器人進行訓練”中的訓練包括模擬訓練和真實訓練,比例為10:1。模擬訓練指的是:在pc端構建一個與真實環(huán)境高度一致的仿真環(huán)境,并在這個環(huán)境中訓練神經網絡;真實訓練指的是:通過將掃地機器人放置在各種真實的場景中自主運動,對掃地機器人中的神經網絡進行不斷的訓練,以使掃地機器人快速的適應周圍的環(huán)境,及時完成清掃任務。經過一定時間的訓練,掃地機器人便能夠進行自主決策。
通過以上步驟,掃地機器人能夠在陌生場景中,在較短的時間內找到目標物體,同時可以躲避障礙,自行規(guī)劃路徑,以該方法設計的掃地機器人具有一定的通用性和任務遷移性。
3、優(yōu)點及效果:本發(fā)明是一種基于深度增強學習的家用掃地機器人的設計方法,具有以下幾個優(yōu)點:
(1)本發(fā)明減少了設計掃地機器人過程中的工程量,在本發(fā)明中,只需要將雷達采集到的圖像輸入系統(tǒng),就可以使掃地機器人進行正常的工作,降低了算法的難度,同時省去了一定的人力工程。
(2)本發(fā)明提供的設計方法可以使掃地機器人具有自主決策能力,掃地機器人的整個運動過程都是由自身的學習實現的,掃地機器人的行為方式與人類的行為方式相仿。
(3)本發(fā)明中,由于神經網絡具有一般性,當掃地機器人面對不同的任務要求時,系統(tǒng)只需相應地改變回報值,掃地機器人就可以完成不同的任務。因此,該方法設計的掃地機器人具有很高的通用性和任務遷移性。
(4)本發(fā)明能夠使掃地機器人在陌生場景中,在較短的時間內找到目標物體,同時可以躲避障礙,記憶周圍空間地圖。
附圖說明
圖1是本發(fā)明所述方法工作流程框圖。
圖中序號,符號,代號所代表的意義如下:
1:家用掃地機器人
2:cnn+lstm神經網絡
3:原始數據
4:空間模型
具體實施方式
下面結合附圖和實施例,對本發(fā)明的技術方案做進一步的說明。
本發(fā)明是一種基于深度增強學習的家用掃地機器人的設計方法,掃地機器人工作流程如
圖1所示,具體包括如下步驟:
步驟1,掃地機器人通過激光雷達采集原始圖像數據,該數據指的是在以激光雷達為原點、以水平面為平面建立的極坐標系上,每一個坐標角度上激光雷達到障礙物的距離。掃地機器人對該數據進行解碼后,將原始數據通過無線串口回傳給pc機;
步驟2,通過breezyslam算法庫,系統(tǒng)對步驟1中的獲得的原始數據進行特征提取,計算變換矩陣,濾波后,完成對掃地機器人的實時定位與對房間的構圖。之后系統(tǒng)對構圖進行maxpooling,將房間的構圖池化為168×168的二維數組;
步驟3,使用谷歌研發(fā)的第二代人工智能學習系統(tǒng)(即tensorflow)建立cnn+lstm神經網絡。該神經網絡中,卷積層的個數為5,卷積核的大小為8×8×32,lstm網絡的大小為256。將步驟2中生成的二維數組作為該神經網絡的輸入,該神經網絡輸出控制掃地機器人運動的指令。該指令包括向前移動、向后移動、向左移動、向右移動、左轉、右轉和清理。掃地機器人產生移動后,會采集新的數據,并再次將采集到的新的數據輸入cnn+lstm神經網絡,神經網絡會再輸出新的控制指令,使掃地機器人產生新的移動。
步驟4,通過a3c算法對掃地機器人進行訓練,根據掃地機器人的運動是否滿足設計預期要求,對神經網絡給出相應的回報,以此來修正神經網絡參數。比如:當掃地機器人碰到了障礙物時,回報值為0;當其清理了一份垃圾時,回報值為1;當其運動到一塊新的區(qū)域時,回報值為1。對掃地機器人的訓練包括模擬訓練和真實訓練,比例為10:1。模擬訓練指的是:在pc端構建一個與真實環(huán)境高度一致的仿真環(huán)境,并在這個環(huán)境中訓練神經網絡;真實訓練指的是:通過將掃地機器人放置在各種真實的場景中自主運動,對掃地機器人中的神經網絡進行不斷的訓練,以使掃地機器人快速的適應周圍的環(huán)境,及時完成清掃任務。經過一定時間的訓練,掃地機器人便能夠進行自主決策。
綜上所述,本發(fā)明提供一種基于深度增強學習的家用掃地機器人設計方法。本發(fā)明以slam圖像作為神經網絡的輸入,施加一定的回報并進行一定時間的訓練,可以使掃地機器人以較短路徑遍歷房間,并能夠自主躲避障礙、規(guī)劃路徑和清理垃圾。