歡迎進(jìn)入深圳麒豹機器人有限公司網站!

專業提供倉儲物流升級改造、無人搬運機器人産品

一家專注複合機器人、全向(xiàng)激光AGV研發(fā)制造國(guó)家高新技術企業

全國(guó)服務熱線 400-007-3860

歐铠AGV系列
歐铠複合機器人
歐铠螃蟹系列AGV
歐铠白鲨系列AGV
歐铠前移式激光叉車

二維碼導航AGV的基本導航控制方法


發(fā)布時間:2020年05月18日 内容來源:深圳麒豹機器人有限公司

亞馬遜將(jiāng)二維碼導航AGV高效的應用到倉儲領域,不僅效率高,視覺效果同樣(yàng)突出,給人們帶來的沖擊是十分震撼的。在國(guó)内,想利用AGV升級産線或倉庫的經(jīng)理們也總會(huì)問到二維碼導航,可能(néng)是覺得比較高科技,比較潮流吧。其實AGV行業中的各種(zhǒng)導航方式的難度都(dōu)差不多,磁導航、激光導航、二維碼導航、SLAM等方式對(duì)于應用來說,沒(méi)有明顯區别,因爲都(dōu)有成(chéng)熟的傳感器反饋所需的坐标(對(duì)于SLAM,此類直接反饋坐标的傳感器套裝現在還(hái)沒(méi)到泛濫的程度,但成(chéng)熟開(kāi)源算法已經(jīng)泛濫了)。廢話不多說,下面(miàn)介紹一下二維碼導航AGV的基本導航邏輯。

下圖是一個二維碼示意,一堆神鬼莫測的圖案(可以是多個二維碼構成(chéng)的組,也可以是自己定義的,隻要能(néng)解析就行)隐藏著(zhe)坐标信息。傳感器(攝像頭加處理器)讀取到二維碼時,輸出傳感器中心與二維碼中心的距離和一個偏轉角度,距離值有正負之分,可靠範圍一般不超過(guò)±4cm,當然超過(guò)這(zhè)個範圍也會(huì)有數值返回(方便初次尋二維碼),但如果AGV的導航誤差控制超過(guò)了4cm,那就不用玩了。根據反饋的偏差值,就可以對(duì)AGV進(jìn)行糾偏。

二維碼導航AGV的基本導航控制方法

現在問題來了,問題一:在二維碼之間的空白區域沒(méi)有參考信息,根據什麼(me)糾偏?

首先能(néng)想到的是利用航迹推算的方法,根據控制給定指令或編碼器數值推算AGV的位置,從而進(jìn)行糾偏。

二維碼導航AGV的基本導航控制方法

實際控制中,用編碼器推算的精度一般會(huì)高于根據控制給定指令的推算結果,因爲控制器和執行機構的響應和執行情況不容易準确補償。在此,十分推薦使用《Probabilistic Robotics》(page 127)中描述的模型,該模型簡單粗暴,不僅因爲車體中心的速度與角速度等參數容易計算,并且模型中直接應用的是全局坐标,不用再進(jìn)行坐标轉換了,總之,簡單粗暴。

二維碼導航AGV的基本導航控制方法

利用航迹推算的方法總會(huì)有誤差存在,并且因爲沒(méi)有參考,該誤差理論上是無邊界的,那麼(me),問題二:如何減小推算誤差?

一般通過(guò)兩(liǎng)種(zhǒng)手段,一是縮短二維碼之間的距離,這(zhè)樣(yàng)就減小了推算誤差累加的時間,從而減小了推算誤差。但這(zhè)樣(yàng)做會(huì)增大二維碼鋪設的工作量,并且會(huì)使現場更加複雜。當然,該方法實施的前提是施工人員心情愉快的接受并且工廠方同意你這(zhè)樣(yàng)做。

二是增加慣導,利用傳感器融合的方法減小推算誤差。實際上,現在市售的慣導價格都(dōu)比較低,之所以便宜,因爲低端的慣導已經(jīng)被(bèi)玩爛了,Github上可以下載到pixhawk、crazypony等實現慣導算法的代碼(照做、照抄,就可以自己做出慣導了),選一款千元以下的産品一般可以滿足使用要求。基本的慣導有9個輸出,分别是沿三個軸向(xiàng)的加速度與繞三個軸的角速度,以上6個是芯片反饋的原始數據,還(hái)有3個歐拉角度是慣導融合計算後(hòu)的輸出數據。AGV主要是應用慣導的航向(xiàng)角輸出值,所以優先選擇帶有磁極感應的慣導或者直接選擇高精度的航向(xiàng)角傳感器(有人叫(jiào)它陀螺轉角儀)。磁感應的響應較慢,并且有零點漂移情況,能(néng)否應用要看現場的情況,隻利用繞z軸的角速度做積分也是可以得到很好(hǎo)的結果的(不要粗暴的直接累加,至少要用一下龍哥庫塔法之類的有消除殘差機制的數值積分方法)。得到參考角度值後(hòu),與基于編碼器得到的航迹推算值做融合,簡單點的,用互補濾波做融合就可以得到較好(hǎo)的結果,如果不嫌麻煩,可以折騰一下EKF(在stm32框架下折騰EKF要做好(hǎo)一定準備,迎接解矩陣帶來的麻煩)。

現在有了二維碼之間空白區域的推算數據,就可以做控制了。但推算的數據仍然會(huì)有誤差的,而當AGV行駛到二維碼區域上時,得到的是準确的航位誤差。問題三:在空白區與在二維碼上用同樣(yàng)的控制參數控制會(huì)産生抖動或跳變嗎?通過(guò)以上的減小誤差的方案,已經(jīng)使推算誤差減小了(用心調試),并且由于控制器運算與執行機構響應延時的問題,用同一組控制參數并不會(huì)造成(chéng)AGV在不同區域銜接處的明顯抖動,可以放心大膽的應用。如果想在原理上杜絕抖動,可以嘗試利用插值或路徑匹配的方法,産生平滑的路徑,用控制方法跟蹤這(zhè)條平滑的路徑。


如果轉載,請注明本文地址:

上一條:AGV自動充電原理說明       下一條:AGV安全故障問題彙總


企業動态