天天看點

2.遞歸狀态估計

2.1 介紹

機率機器人的核心是從傳感器資料中估計狀态的這麼一個概念。狀态估計解決從傳感器資料中估計的變量問題,這些估計變量并非直接可觀測到,而是被推斷出來的。在大多數機器人應用當中,決定做什麼相對來說容易,如果僅僅知道某些變量的話。例如,移動一個移動機器人是相對容易的如果機器人以及所有附近障礙的精确位置是已知的。不幸的是,這些變量不能直接測得。相反,一個機器人不得不依靠它的傳感器來獲得這些資訊。傳感器隻是攜帶了部分這些變量的資訊,他們的測量被噪聲腐蝕了。狀态估計試圖從資料當中恢複狀态變量。機率狀态估計算法計算對可能世界狀态的信任度分布。機率狀态估計的一個例子在本書介紹中已經遇到:移動機器人定位。

   本章的目标是介紹基本的詞表以及數學工具對于從傳感器資料中來估計狀态。

2.2介紹了基本的機率概念全書所使用的。

2.3描述了機器人環境互動的正式的模型,提出了本書中被使用的關鍵術語。

2.4介紹了貝葉斯濾波,對于狀态估計的遞歸算法是形成本書中提出的每一個技術的基礎。

2.5讨論了表示和計算問題當實作貝葉斯濾波的時候所出現的問題。

2.2機率中基本的概念

這部分使讀者熟悉基本的符号和機率事實在本書中所使用的。在機率機器人中,變量比如傳感器測量,控制,機器人的狀态和它的環境所有都被模型為随機變量。随機變量可能呈現多個值,并且他們這麼做是根據具體的機率法則。機率推導是計算這些随機變量法則的過程,這些随機變量從其他的随機變量和觀測資料中得出。

讓X表示一個随機變量,x表示一個X可能呈現的具體的值。一個标準的随機變量的例子是扔硬币,X可能呈現頭和尾,如果X可以呈現的所有值空間是離散的,正如離子一樣,如果X是一個扔硬币的結果,我們就寫為p(X=x)來表示随機變量X有值x的機率。例如,一個普通的硬币有這麼一個特點p(X=head)=p(X=tail)=1/2.離散機率總和為1,即

∑p(X=x)=1.機率總是非負的,即p(X=x)>0。

為了簡化這個符号,我們通常忽略詳述的随機變量的表示隻要可能的話,而是用通常的簡寫p(x)表示p(X=x)。

本書中的大多數技術解決估計和在連續空間中做決定。連續空間冠以這麼一個特征,由随機變量可以表示一個連續的值。除非明确表示,我們假定所有連續随機變量擁有機率密度函數(PDF).一個常見的密度函數是一維的正态分布均值為μ協方差為σ2.正态分布的機率密度函數由以下高斯函數給出:

2.遞歸狀态估計

-------(2.3)正态分布在本書中有重要作用。我們通常把他們簡化為

2.遞歸狀态估計

,說明了随機變量的均值和協方差。

正态分布2.3假定x是一個标量值。通常x将是一個多元向量。對向量的正态分布稱為多變量。多元的正态分布的機率密度函數時以下形式:

2.遞歸狀态估計

---(2.4),μ是均值向量,Σ是一個半正定對稱矩陣成為協方差矩陣。上标T表示一個向量的轉置。the argument in the exponent in this PDF is quadratic in x,and the parameters of this quadratic function are u and Σ.

讀者應該花片刻來了解(2.4)是(2.3)的一個普及化。兩個是相等的如果x是一個标量值Σ=σ2.

方程(2.3)和(2.4)是一個機率密度函數的例子。正如離散的機率密度分布加起來為1,一個機率密度函數的積分為1:

2.遞歸狀态估計

然而,不像離散機率,一個機率密度函數的值上限并不是1.通過本書,我們将用術語,機率,機率密度函數,機率密度互相替換。我們預設所有連續随機變量是可測量的,我們也假定所有連續分布時擁有密度的。

兩個随機變量X和Y是聯合分布由以下給出:

2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計

貝葉斯原理在機率機器人(總的來說是機率推導)中占有很重要的地位。

如果x是一個可以通過y推導的變量,機率p(x)被稱作對變量X的先驗機率分布。如(2.14)表示,貝葉斯規則提供了一種友善計算後驗機率p(x|y)的方法運用它的相反的條件機率p(y|x)以及先驗機率p(x)。換句話說,如果對從傳感器資料y中推導x感興趣,那麼貝葉斯規則允許我們這麼做通過相反的機率,該機率指出資料y的機率在x條件下。在機器人學,機率p(y|x)通常被稱為生成模型,因為在某種抽象的程度上它描述了狀态變量X怎樣導緻傳感器測量變量Y的。

一個重要的觀察就是貝葉斯規則的分母p(y)并不依賴于x。是以,因子p(y)-1在方程(2.13)和(2.14)中将會是一樣的不管x的值是多少在後驗分布p(x|y)中。由于這樣,p(y)-1通常被寫作歸一化變量在貝葉斯規則中, 并且一般表示為η:

p(x|y)=ηp(y|x)p(x)

這種表示法的優點在于它的簡潔.而非明确為歸一化常數提供确定的表達式--歸一化常數在一些數學的推導中會增長得很快---我們将簡單的用歸一化符号η來表示最後的結果會被歸一化為1.縱觀全書,這個類型的正規化子将表示為η或者(η‘,η’‘,....)。重要的是:我們将自由的運用同樣的η在不同的方程中來表示歸一化子,盡管他們的實際值不相同。

 我們注意到到目前為止所讨論的任何規則對任何變量都适合,比如變量Z。例如,條件貝葉斯Z=z如下:

2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計

反過來也不是對的:絕對獨立并不表示條件獨立:

2.遞歸狀态估計

然而,在特别的例子中,條件獨立和絕對獨立可能一緻。

許多機率算法要求我們計算特征或者統計的機率分布。一個随機變量X的期望由以下給出:

2.遞歸狀态估計

并不是所有的随機變量都擁有有限的期望;然而,哪些變量在本書中沒有被提到。

2.遞歸狀态估計

協方差矩陣測量離均值的平均偏差的平方。正如以上所述,多元正态分布N(x;μ,Σ)的均值為μ,它的協方差為Σ。

本書中最後一個重要的概念是熵。一個機率分布的熵由以下表達式給出:

2.遞歸狀态估計

熵的概念起源于資訊理論。熵是x值所攜帶的預期的資訊。。。。。。。。。。。。

在離散例子中,-log2p(x)是被要求的比特數來編碼x運用一個最優編碼,假定p(x)是觀測x的機率。在這本書中,熵将被用于機器人資訊的聚集,以便去表達機器人可能收到的資訊基于執行具體的行為。

2.3 機器人環境互動

2.遞歸狀态估計

上圖表示了機器人與周圍環境的互動。環境或者世界,是一個動态系統,擁有内部狀态。機器人可以用它的傳感器來獲得關于環境的資訊。然而,傳感器有噪聲,通常有許多東西都不能直接感覺到。結果就是,機器人維持了一個内部的關于環境狀态的信任度,在圖檔的左部分。

  機器人也可以通過操作來影響它的環境。這麼做的效果通常是具有不可預測性。是以,每一個控制行為既影響了環境 狀态,又影響了相對于環境狀态的機器人維持的内部信任度。

  互動現在将被更正式化描述。

2.3.1狀态

環境被稱為狀态。本書中提供的材料,把狀态看作為機器人和它的環境(可以影響将來的)所有方面的集合,這是很友善的。某狀态變量趨向于随着時間改變,在機器人附近人的跟蹤。其他的趨向于保持靜止,比如建築物的牆的位置。改變的狀态被稱為動态狀态,這差別于靜态狀态,或者非改變狀态。狀态也包括關于機器人本身的變量,比如:位姿,速度,不管他的傳感器正确起作用與否,等等。

縱觀本書,狀态将表示為x;盡管具體的變量被包含于x中的将取決于上下文。在t時刻的狀态表示為xt。在本書中典型的狀态變量是:

 機器人位姿,包括相對于全局坐标系的位置和方向。剛體移動機器人擁有6個狀态變量,三個笛卡兒坐标,三個他們的方向角(傾斜,橫滾,偏航)。對于限制于平面環境的剛體機器人,位姿通常由三個變量給出,在平面的坐标位置和它的偏航角。

在機器人的操作中,位姿包括對于機器人的執行機構的配置變量。例如:他們可能包括轉動關節的關節角,在機器人手臂中的每一個自由度被稱為在任何時間點的一維的配置,這是機器人運動狀态的一部分。機器人配置通常被稱為運動學狀态。

機器人速度以及它關節的速度被稱為動态狀态。一個剛體機器人移動通過一個空間有六個速度變量,一個對于每一個位姿變量。本書中動态狀态有很小的作用。

 在環境中周圍物體的位置和特征也被稱為狀态變量。一個物體可能是一棵樹,一面牆,在一個很大平面上的一個點。這些物體的特征可能是他們的視覺外觀(顔色,紋理)。取決于被模型的狀态餓粒度,機器人環境擁有在數十道數百十億的狀态變量(甚至更多)。想象一下,這要多少比特才能精确描述實體環境。在本書中已經研究了許多問題,環境中的物體位置是靜态的。在一些問題當中,物體将假定為路标的形式,它是可差別的,靜态的環境特征可以被可靠的識别。

移動物體和人的位置和速度也是潛在的狀态變量。通常,在環境中機器人不是唯一的移動因素。其他的移動實體擁有他們自己的運動的和動态的狀态。

2.遞歸狀态估計

完全狀态:如果這是最好的未來的預測,那麼狀态xt将被稱為完全的。換句話說,完全包含了過去狀态,測量,或者控制的知識,沒有攜帶附加的資訊,這将幫助我們更精确的預測未來。這是很重要的注意到完全的定義并不要求将來是狀态的決定性函數。将來可能是随機的,但是沒有先于xt的變量可以影響将來狀态的随機發展,除了這個依賴是通過xt作為中介,滿足這些條件的臨時過程通常被稱為馬爾可夫鍊。

狀态完全性的概念是理論上重要的。在實踐中,對于一個任何的現實機器人系統來說指明一個完全的狀态是不可能的。一個完全的狀态不僅包括影響将來環境的所有方面,而且還有機器人本身,計算機存儲的内容,周圍人的大腦轉儲等等。其中一些是很難獲得的。是以實際實作挑出所有狀态變量的一個子集,比如,以上列出的。這樣的一個狀态稱為非完全狀态。

在大多數機器人應用當中,狀态是連續的,意味着xt對一個連續統一體的定義。一個好的連續狀态空間的例子是機器人位姿,也就是,它的位置和方向相對于外部坐标系。有時,狀态是離散的。一個離散的狀态空間的例子是狀态變量模拟是否是傳感器壞了。狀态空間即包括連續的又包括離散的變量稱為混合狀态空間。

在大多數有興趣的機器人問題中,狀态随時間的改變。在本書中,時間是離散的,即,所有感興趣的事件将發生在離散的時間步t=0,1,2,...如果機器人開始它的操作在一個可差別的時間點上,我們将表示這個時間為t=0.

2.3.2 環境互動

在機器人和它的環境之間有兩種基本的互動類型:機器人可以影響環境的狀态通過它的制動器,它可以收集資訊關于狀态的通過傳感器。兩個互動的類型可能同時發生。但是為了解說的原因,我們将在本書中分開,互動在圖2.1中表示。

環境傳感器測量。

2.遞歸狀态估計
2.遞歸狀态估計

假設,機器人可以保持所有去過傳感器資料和控制的記錄,我們将把這個集合稱為資料(不管他們是否被存儲),根據兩類環境互動的例子,機器人有兩個不同的資料流。

環境測量資料提供關于環境瞬時狀态的資訊。測量資料的例子包括相機圖像,距離掃描等等。對于大多數而言,我們将簡單忽略很小的及時效應(例如,大多數雷射傳感器以非常高的速度連續掃描環境,但是我們隻假定對應于具體時間點的測量)。在t時刻的測量資料表示為zt。

2.遞歸狀态估計

控制資料攜帶改變環境中狀态的資訊。在移動機器人學中,一個典型的控制資料例子是機器人的速度。把速度設定為每秒10cm,在經過5秒的時間表明機器人位姿,在執行了這個運動指令後,在它位姿(控制執行之前)之前50cm。是以,控制表達了關系狀态改變的資訊。

2.遞歸狀态估計
2.遞歸狀态估計

在測量和控制之間的差別是一個關鍵,兩種類型的資料對于即将讨論的都是根本不同的作用。環境感覺提供關于環境狀态的資訊,是以它傾向于增加機器人的知識。另一方面,運動傾向于引發知識的丢失由于在機器人驅動以及機器人環境的随機性固有的噪聲。我們的差別絕不是打算去說明行動和感覺是在時間上分開的。相反,感覺和控制室同時發生的。我們的分開在隻是為了友善。

2.3.3 機率生成法

狀态和測量的演變史有機率法則管理。一般來說,狀态xt從狀态xt-1随機生成。是以,表明從機率分布中生成xt是由道理的。乍看一眼,狀态xt的出現可能條件基于所有過去狀态,測量,和控制。是以,機率法則 描述了狀态的演變可能用以下形式的機率分布來給出:

2.遞歸狀态估計

注意沒有特别的動機,我們認為在這兒機器人首先執行控制行為u1,然後擷取一個觀測z1.

一個重要的洞察力是:如果狀态x是完全的然後它是一個充分的在先前時間步發生的總結。特别是,xt-1是一個充分的所有先前的控制和測量直到這個時間點的統計特性,也就是,u1:t-1和z1:t-1。從以上表達式中所有的變量,如果我們知道狀态xt-1,隻有控制量ut是重要的。

在機率屬于中,這個洞察力用以下等式表達:

2.遞歸狀态估計

由這個等式所表達的是一個條件獨立的例子。這表明某個變量與其他變量獨立如果一個已經知道第三個變量組的值,這個條件變量。在本書中條件獨立被廣泛的應用。這是主要的原因為什麼本書中提到的許多算法計算是可以進行的。

我們也想模拟這個過程在過程中形成的測量。再一次如果xt是完全的,那麼我們有一個重要的條件獨立性:

2.遞歸狀态估計

換句話說,狀态xt對于預測觀測量zt(含有潛在的噪聲)是充分的。任何其他變量的知識,比如過去測量,控制,甚至過去狀态,是不相關的如果xt是完全的。

這個讨論給出兩個條件獨立機率是:

2.遞歸狀态估計

.

2.遞歸狀态估計

是狀态轉移機率。指出環境狀态随時間怎樣改變作為機器人控制ut的一個函數。機器人環境是随機的,這由一個事實所反映,

2.遞歸狀态估計

是一個機率分布,并不是一個決定性的函數。有時狀态轉移機率并不依賴于時間索引t,這樣我們可以寫為 

2.遞歸狀态估計

機率

2.遞歸狀态估計

被稱為觀測機率。

2.遞歸狀态估計
2.遞歸狀态估計
2.遞歸狀态估計

2.3.4 信任度分布(Belief Distributions)

在機率機器人學中另一個重要的概念是信任度。一個信任度反映了機器人的内部知識關于環境狀态的。我們已經讨論了狀态不能直接測量。例如,一個機器人的位姿可能是xt=<14.12,12.7,45。>在某個全局坐标系統中,但是它通常不知道它的位姿,因為位姿是不可直接測量的(即使是GPS也不能!)。相反,機器人必須從資料中推斷它的位姿。是以我們要從他的内部信任度(相對于狀态的)中差別于真實狀态。在文獻中與信任度是同義詞的是這個術語-知識狀态和資訊狀态(不要與下面要讨論的資訊矩陣和資訊向量搞混)。機率機器人學通過條件機率分布來表示信任度。一個信任度分布把一個機率(或者密度值)指定給每一個相對于真實狀态的可能假設。信任度分布時對基于可用資料的條件下狀态變量的分布。我們将表示對狀态變量xt的信任度bel(xt)來表示,這是一個對後驗分布的簡寫:

2.遞歸狀态估計

讀者可能注意到我們預設這個信任度被擷取,在加入了觀測量zt之後。偶爾,這将證明在計算一個後驗機率在融入zt之前是有用的,僅僅在執行了控制ut之後。這樣一個後驗機率将表示為如下:

2.遞歸狀态估計

這個機率分布被稱作預測在機率濾波上下文中。這個術語反映了這個事實

2.遞歸狀态估計

預測t時刻的狀态在基于先前的狀态後驗分布上,在融入t時刻測量之前。

2.遞歸狀态估計
2.遞歸狀态估計