使用小車車?yán)斫釶oincare Map判斷極限環(huán)穩(wěn)定性-HZD基礎(chǔ)知識之一

前言
最近在看雙足控制框架另一學(xué)派,HZD Jessy 大神寫的書feedback control of dynamic bipedal robot locomotion, 看到里面使用龐加萊map來表述周期性運動的穩(wěn)定性,之前雖然在nonlinear system control里學(xué)過,但后面并沒有去嘗試使用,這里使用小車車進行舉例理解,可能有理解不到位的地方歡迎大家指出。

基礎(chǔ)知識描述:
一個問題:
當(dāng)我們遇到超過2維的系統(tǒng)時,如果機器人控制時存在周期運動,比如雙足行走過程,如何來證明極限環(huán)的穩(wěn)定性?
這里給出的工具就是Poincare Map.
定義:
為了降低維度,我們不可能研究整條軌跡,一般研究那些和一個面相交的點(這個面一般是平面)參考圖1,而且只研究給定方向的交點,這個面就叫做Poincare Section, 而通過transformation T將一個點連接到下一個穿過面的點就叫做Poincare map(First return map)。注意這里可能有點拗口,后面可以看例子,可能就比較清晰了。
公式如下:
通過這個方式,由于我們只關(guān)注和平面的交點,而不是軌跡本身,那么就把一個continuous flow ?轉(zhuǎn)換為離散圖。
針對極限環(huán)來說:
我們的目標(biāo)就是證明這個極限環(huán)是穩(wěn)定的,也就是從任意點出發(fā)的軌跡最后都converge這個環(huán),對于Poincare Map 來說就是不斷的去靠近equilibrium point(),收斂到一個可以接受的范圍內(nèi)。
使用Poincare Map什么情況下極限環(huán)穩(wěn)定?
一句話總結(jié),求關(guān)于P的雅克比,只要特征值小于1,哪極限環(huán)就是穩(wěn)定的
哪如何證明?
可以簡單理解為,只需要在某個equilibrium point或者目標(biāo)點附近,使得線性化后變量
小于1,那么當(dāng)時間infinity的時候極限環(huán)就每次穿過poincare section的相同點域內(nèi)。
具體證明公式如下,其中,是一個在目標(biāo)點(Equlilibium Point)點的附近一個點,
為迭代式,
在目標(biāo)點附近做雅克比運算,多次迭代后得到如下式子:
現(xiàn)在我們的目標(biāo)就是使得收斂到0,根據(jù)線性代數(shù)知識我們可以推出如下:
也就是說明當(dāng)所有雅克比矩陣的特征值小于1,整個收斂到0,對于大于1能表明不穩(wěn)定,等于1那就是不能給出極限環(huán)是否穩(wěn)定。(nonlinear的老套路了)
例子:考慮如下系統(tǒng)
狀態(tài)變量為小車車的x,y和yaw方向角度值,控制輸入為
系統(tǒng)有限狀態(tài)如圖,c是時間,每切換到一個狀態(tài)時間變?yōu)?,黑色橫線表明滿足條件就進行狀態(tài)轉(zhuǎn)移:

結(jié)合Python驗證:
第一步:先使用Python構(gòu)建仿真環(huán)境,給定初始條件,可以看到小車車收斂于一個極限環(huán):

小車車跑起來的圖 
軌跡圖


第二步:驗證所選的g(x)和控制系統(tǒng)是否滿足橫穿而不是相切。
在這里,選擇第三階段為例,q=2,,那么可以得到:

然后得到:當(dāng)滿足不為零即可。
第三步:使用程序把三個階段描述出來,同時估計其EP點,即,這個又稱微分同胚,其中
為目標(biāo)收斂點。
注意這里輸出的值就為狀態(tài)變量的值,代碼如下:


第四步:既然我們已經(jīng)找到E.P. 點那么直接求在這個附近下的雅克比矩陣,這里取h=0.01,然后看他的eigen value是否小于1即可知道這個極限環(huán)是否收斂。
注意:這里可以看到我們選擇Poincare Section是面是二維的,說明這里我們關(guān)心的是
即如下平面

可以看到,所有的eigenvalue是小于1,那就說明我們的這個極限環(huán)是穩(wěn)定的。
結(jié)論:
Poincare map主要用來分析周期性運動的穩(wěn)定性,但是那個g不是很好找,在復(fù)雜的系統(tǒng)下。HZD理論也是找一個平面,這個平面可以 是所有可能的軌跡組成的平面,然后把不在這個平面的設(shè)計一個控制器,讓其收斂到這個平面。
代碼:
Reference:
[1]https://www2.physics.ox.ac.uk/sites/default/files/profiles/read/lect5-43146.pdf
[2]https://hal.archives-ouvertes.fr/cel-01510146v1/document
[3]https://www.ensta-bretagne.fr/jaulin/automooc.pdf