999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

基于有限狀態機(FSM)的多傳感器信息融合在輪式運動機器人編程中的應用?

2019-11-12 06:38:34
計算機與數字工程 2019年10期
關鍵詞:移動機器人信息

徐 偉

(江漢大學工程訓練中心 武漢 430056)

1 引言

智能機器人是集成了環境探測與數據采集、實時動態決策與規劃、行為控制與執行等多功能于一體的綜合系統。其中包含了傳感器技術、信息處理技術、計算機、自動化控制以及人工智能等多學科的專業知識,是機電一體化技術的綜合表現形式,是目前科學技術發展最活躍的領域之一[1]。智能移動機器人按移動方式可分為輪式運動機器人、步行移動機器人(單足、雙足或多足)、蛇形機器人、履帶式移動機器人、爬行機器人等。其中,輪式運動機器人作為一門新興的綜合技術,廣泛地應用于社會生產、生活、軍事、太空等技術領域,特別是取代人應用于復雜、惡劣的工作環境,具有良好的民用和軍用應用前景[2]。

國外科研機構對移動機器人的研究開始于20世紀60 年代。1966 年至1972 年間,美國斯坦福研究院(SRI)的Nils Nilssen 和Charles Rosen 等成功研制出了名為Shakey 的地面自主移動機器人,標志著機器人研究的開始。在我國,移動機器人的研究在“七五”開始起步,國家“863”計劃中的遙控駕駛防核化偵察車的立項確定,標志著移動機器人研究的開始[3~4]。本文將以輪式運動機器人為模型展開論述。

2 單個傳感器信息處理的編程思路

高度的智能化是機器人技術的必然發展趨勢,機器人對外界環境的感知完全通過不同類型的傳感器來實現,所以傳感器技術則是實現機器人智能化的基礎。但是在機器人實際工作過程中,單個傳感器獲得的信息非常有限,而且還要受到傳感器自身性能的影響,因此智能機器人通常裝備數量較多的傳感器[5~7]。對于多傳感器機器人編程的時候,狀態羅列的越全,未來機器人的bug 越少。

如果對于多傳感器輪式運動機器人的控制采用單個傳感器信息處理的方式,那么一般對于傳感器觸發不同情況可以用條件判斷分支流程去予以判斷,對于機器人所探知的不同傳感器信息,其自身的運動行為也采用相對應的運動方式子程序模塊,比如前進、后退、左轉、右轉、停止等。這時機器人程序的一般思路是:

如果(機器人的某個傳感器觸發了)

{機器人的某幾個電機做個什么事;做多久;}

如果(機器人的另外某個傳感器觸發了)

{機器人的某幾個電機做個什么事;做多久;},以此類推。

這種方式是一種包容體系結構(subsumption architecture)。在這種體系結構內,處理器按照程序編寫的順序,輪流處理每個單獨的傳感器信息,可以人為手工劃分傳感器等級,甚至某些特定的傳感器可以否決或抑制其余的傳感器[8]。比如尋光-避障機器人,可以人為地將尋找光源(即確定光源目標)信息作為第一級傳感器信息,而障礙探測傳感器信息放在其次。但這種方法的問題在于不能很好地處理一些錯綜復雜的情況,在編程過程不可避免要用到大量的if 語句,以帶有2 個傳感器的機器人運動判斷分支流程為例,程序用C 語言偽碼寫出來就是:

if{Sensor(端口a,觸發)}

{Motor(L,順);Motor(R,逆);Delay(5);}

if{Sensor(端口b,觸發)}

{Motor(L,逆);Motor(R,順);Delay(5);}

else{Motor(L,停);Motor(R,停);}

由上例可以看出,單個傳感器信息處理的編程思路主要有以下弊端。

首先,上面的例子僅僅是兩個傳感器,僅僅列舉了a 傳感器和b 傳感器單獨觸發時的運動情況,沒有包含如a、b 傳感器僅觸發其中一個或者兩者同時觸發的情況,這必然會對后期機器人運動過程產生影響。但是考慮各種情況必然要求在當前if語句中另外增加else if 語句,大量的if 語句使程序的執行效率變得非常低下,不僅程序語言編寫復雜、可讀性差,而且經常出現識別不靈的情況。

其次,輪式機器人多傳感器的綜合,狀態數量按2 的N 次冪增加,即在3 個傳感器的情況下,不同傳感器觸發的組合有23=8;4個傳感器的情況下,不同傳感器觸發的組合有24=16;5個傳感器的情況下,不同傳感器觸發的組合有25=32……。如果按照傳統思路對各傳感器信息進行分析,這樣一方面使機器人程序編譯的時所需要考慮的狀態呈幾何級數增加;另一方面對機器人控制器硬件的要求也相應提高,造成成本和資源的增加。

第三,使各傳感器之間喪失了整體聯系,丟失了經組合后蘊含的有關環境整體特征,造成機器人運行過程中的失控。

3 基于有限狀態機思想的機器人編程算法

3.1 傳感器信息融合和有限狀態機思想的原理

傳感器信息融合(sensor fusion)可有效地解決上述問題。傳感器信息融合綜合運用自動化控制、信息處理、人工智能算法和統計等方面的理論技術,利用信息互補,對各個傳感器的信息進行有機地整合,降低或者排除干擾因素,處理那些由不同傳感器發出的甚至是可能沖突的信號[9~10]。雖然不同的環境信息非常繁雜性,其特征各不相同,但經過智能系統的處理,將信息進行及時有效地融合后,是完全能夠比較精準地反映出某個時刻或某個狀態下環境的屬性特點[11]。本文將用有限狀態機(FSM)的思想來進行傳感器數據信息融合。

有限狀態機(Finite-state machine)簡稱FSM,表示有限個狀態以及在這些狀態之間的轉移和動作等行為的數學模型,它反映從系統開始到現在時刻的輸入變化的狀態,它存儲的是關于過去的信息,指示狀態變更的是相對應的動作,并且用滿足確定使轉移發生的條件來描述它[12]。它把復雜的控制邏輯分解成有限個穩定狀態,在每個狀態上判斷事件。由于有限狀態機有有限個狀態,因此可以在實際中實現[13]。有限狀態機的思想可以廣泛地應用于機器人多個傳感器觸發組合狀態的程序編程判斷中,大大提高檢測效率。仍然以帶有2 個傳感器的機器人在不同狀態中,傳感器返回值來說明情況,見表1。

表1 傳感器返回值轉換成二進制數值

由上表容易看出,只要知道傳感器的觸發狀態,就可以利用一定的算法,將不同狀態下傳感器的信息進行整合成相關的序號信息,就可以按照相對應的序號,利用如switch 語句按圖索驥,使機器人能夠根據自己接收到的傳感器信息組合值采取相應的動作。

其具體算法如下:

首先設置一個變量s,初值為0,用來存儲傳感器的二進制狀態序號,即上表中十進制結果的值。

然后分別有序讀取每個傳感器陣腳的數值,用左移位“<<”運算將每一位值左移,空出來的位用0填補。即控制器先讀取的某一傳感器的狀態數值,用移位運算移動到第二位,空位用“0”進行補足;再讀取另一傳感器狀態數值,兩個信息數值間作“或”運算。比如表1 中兩個傳感器均觸發的情況:1 號傳感器讀取(真)并左移0位,得“01”;2號傳感器讀取(真)并左移1 位,得“10”;將“01”和“10”作“或”運算,即得“11”,結果即為狀態“3”。

算法程序偽碼語句如下:

s=0;

for(i=0;i<2;i++)

{s=s|digitalRead(pin[i])<<i;}

switch(s)

{case 0x00:{動作0;}break;

case 0x01:{動作1;}break;

case 0x02:{動作2;}break;

case 0x03:{動作3;}break;}

3.2 有限狀態機思想的多傳感器機器人的實例應用

以基于Arduino單片機的躲避懸崖機器人的實例應用來說明。Arduino 單片機是一個開源的單片機電子設計硬件平臺,是全球非電子類專業人員所喜歡用來開發的一款單片機硬件控制板。其硬件部分由Atmel AVR 單片機、I/O 接口及相關電路組成。軟件部分則包括標準的程序編譯器和程序下載器。作為一種新型的集成開發環境,其采用C++或Java語言編程,簡單易用且適用面廣[14~15]。Arduino 可以直接處理各種傳感器接收的電子信號,并將其轉換為計算機可以識別的數字信號“0”或者“1”,同樣也可以將計算機的數字信號輸入到相應的引腳輸出口,是指成為驅動輸出元件動作的電子信號[16]。

在這里設定的躲避懸崖場景,并不同于傳統的防跌落機器人。傳統的防跌落機器人,對于機器人而言可能有很大的運動空間,機器人可以毫無顧忌地進行掉頭、轉向等動作,機器人在平臺上的運動可以說是漫無方向性的,所需要顧忌的僅僅是在平臺邊緣的時候才需躲避邊緣、防止跌落。而長堤型賽道由于寬度和機器人自身寬度相差僅為10mm,換言之機器人兩邊與賽道各相距5mm。當機器人行走在長堤型跑道上時,一方面要按照跑道的方向前進,另一方面還要隨時對于運動情況作出判斷,采取相應的動作姿態。因為前一個狀態的調整過程都有可能使機器人在某一方向上落于跑道下面,使機器人在行駛調姿過程中就跌落。所以機器人需要時刻通過傳感器的探測和數據采集,不斷調整機器人行駛狀態,使機器人防止走空摔落。

3.2.1 機器人行走原理

其運動結構是前輪驅動方式,后兩輪是從動輪。其探測感知懸崖邊緣原理是在機器人前后左右輪四個方向上都安裝探測傳感器,當機器人在實地上行走時,傳感器所反映的邏輯信號量為“1”;反之,當機器人某個方向上處于懸空狀態時,傳感器所反映的邏輯信號量為“0”,這樣就能通過邏輯信號量的不同而知道機器人目前所處的環境狀態。

3.2.2 機器人狀態列表分析

在這里設置I3、I4、I5、I6 四個邏輯信號擬輸入接口分別對應右前、左前、右后、左后四個方向上的傳感器。傳感器觸發情況、機器人小車行駛狀態及對應行為策略表見表2。

3.2.3 主程序設計

int pin[4]={6,5,4,3};

byte value;

void setup(){

for(int i=0;i<3;i++)

{pinMode(pin[i],INPUT);} //對6,4,5,3 四個輸入引腳進行定義

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);} //對5,6,9,10 四個輸出引腳進行定義;5,6引腳和9,10引腳分別控制左右兩個直流電機

void loop(){

value=0;

for(int i=0;i<3;i++)

{value|=(digital Read(pin[i])<<i);}//依次讀取相關引腳值,并左移,再與新值作“或”運算

switch(value)

{case 0x00:

stop();

break;

case 0x01:

while(!digitalRead(pin[2])&&!digitalRead(pin[3]))

{right();}

break;

…… //具體各對應行為以及直行、左轉、右轉、停止、后退等子程序就不冗述

case 0x0F:

forward();

break;

default:

stop();}}

表2 傳感器觸發情況、機器人小車行駛狀態及對應行為策略表

4 結語

在設定的長堤型賽道場景下,由于未知環境隨機性太強,無法完整獲得環境信息,采用有限狀態機思想,通過多個傳感器信息整合后,精確感知各種情況,使機器人根據相應的判斷,采取相應的智能化動作,不僅將分布在不同位置、處于不同狀態的多傳感器所提供的局部的、不完整的信息量加以綜合,能夠實現機器人多個傳感器觸發組合狀態的判斷,大大提高檢測效率;而且使多傳感器機器人程序編譯相對簡化,增強程序可讀性。

另外,有限狀態機(FSM)思想方法不僅適用于文中所例舉的數字量傳感器,而且可以將其使用范圍延伸到模擬量傳感器的信息融合,可以用“C++語言”的“map()”函數,將模擬量傳感器所檢測的較大范圍內的數值映射到比較小的區間和比較接近的數量(比如無線遙控手柄位置、顏色等,可以用map()函數映射得到的數值0、1、2來表示),這就可以通過模擬量和數字量的結合產生不同的觸發組合狀態,只不過情況更加復雜一點,可以在算法上面做一些修改,仍然可以應用有限狀態機的思想原理,在這里就不再冗述了。

猜你喜歡
移動機器人信息
移動機器人自主動態避障方法
移動機器人VSLAM和VISLAM技術綜述
基于Twincat的移動機器人制孔系統
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
室內環境下移動機器人三維視覺SLAM
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
極坐標系下移動機器人的點鎮定
基于引導角的非完整移動機器人軌跡跟蹤控制
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
主站蜘蛛池模板: 日韩色图在线观看| 久久久久青草大香线综合精品| 亚洲中文字幕手机在线第一页| 日韩高清中文字幕| 国产福利2021最新在线观看| 91精品福利自产拍在线观看| 污网站免费在线观看| 色老头综合网| 亚洲精品日产AⅤ| 免费av一区二区三区在线| 最新精品久久精品| 国产一区二区三区免费观看| www.youjizz.com久久| 777国产精品永久免费观看| 无码丝袜人妻| 欧美97欧美综合色伦图| 精品视频免费在线| 鲁鲁鲁爽爽爽在线视频观看| 亚洲一区二区三区国产精品| 狠狠色综合久久狠狠色综合| 欧美精品另类| 免费一级毛片完整版在线看| 欧美日韩v| 高h视频在线| 欧美日韩国产在线人| 午夜精品久久久久久久99热下载 | 中文字幕日韩丝袜一区| 国产在线专区| 天堂久久久久久中文字幕| 在线观看国产精品一区| 精品国产一区91在线| 国产精品大白天新婚身材| 亚洲AⅤ永久无码精品毛片| 久久不卡精品| 99在线视频精品| 国模沟沟一区二区三区| 韩日午夜在线资源一区二区| 思思热精品在线8| 亚洲国产综合第一精品小说| 国内熟女少妇一线天| 久久国产高潮流白浆免费观看| 亚洲国产精品无码AV| 精品国产成人av免费| 亚洲成人播放| 久操线在视频在线观看| 午夜限制老子影院888| 91小视频在线观看免费版高清| 国产精品欧美在线观看| 亚洲无码免费黄色网址| 任我操在线视频| 成人在线观看不卡| 日韩黄色精品| 毛片手机在线看| 91久久偷偷做嫩草影院| 狠狠色香婷婷久久亚洲精品| 97影院午夜在线观看视频| 欧美在线国产| 国产第一页亚洲| 午夜激情福利视频| 欧美在线中文字幕| 亚欧乱色视频网站大全| 欧美精品亚洲精品日韩专区| 亚洲人成成无码网WWW| 精品91在线| 97在线免费视频| 欧美日一级片| 在线欧美a| 综合色88| 久热re国产手机在线观看| 国产欧美日韩18| www.91在线播放| 999国内精品视频免费| 国产成人精品亚洲日本对白优播| 日本欧美午夜| 亚洲国产日韩视频观看| 在线播放真实国产乱子伦| 91视频精品| 天天综合色天天综合网| 午夜精品久久久久久久无码软件| 亚洲成人网在线观看| 亚洲欧美另类专区| 日本91在线|