倒車軌跡理論實現
keyword:倒車軌跡 視角轉換
一 倒車軌跡的基本原理
從日常經驗可知。以自行車為例,假設前輪有一定轉角,在維持轉角不變狀態和無軸向移動前提下自行車走過的路徑將會以某個圓點為中心旋轉。相同的狀態也會出如今汽車上。其走過路徑如圖1。
圖中如果車輪不會出現軸向移動。故如果保持車輪轉角不變的情況下,每乙個車輪僅僅能沿著垂直其車軸的方向行進,這裡取前後輪的軸心作為軌跡跟蹤點(實際過程中兩個前輪軸心不會出現平行)。則軌跡應該是曾經後輪軸向線的焦點為圓心的圓。圖中φ為為前輪同水平方向的夾角。記前後輪軸距為l,後輪軸長為w,後輪距離車尾的距離為d,從幾何關係可知,後輪軸心的運動軌跡能夠描寫敘述為以半徑lcot(φ)的圓周運動。兩個後輪的軌跡分別為lcot(φ)-w/2和lcot(φ)+w/2的圓。
這裡的推導過程採用經驗法結合幾何推算。全然從數學角度的推算過程請參考資料1。圖中的x方向和y方向不同於一般習慣主要是考慮後面的視角變換。
從等式能夠看到,當φ接近0度時候行進軌跡近似直線。接近90度時半徑呈縮小趨勢,符合我們日常經驗值。
二 視角轉換
從倒車公式推導出的路線圖為行進路線的鳥瞰圖。實際顯示給操作者的路線應該是從車內觀察點觀察到的軌跡。駕駛人員看到的運動軌跡實際為以車尾攝像頭為中心點座標的影象描寫敘述(圖一中車尾位置的原點)。
將攝像頭位置定為座標零點,則後輪軌跡上的隨意點位置公式為:
(x+lcot(φ))2
+(y+d)2
=(lcot(φ)-w/2)2
(1)(x+lcot(φ))2
+(y+d)2
=(lcot(φ)+w/2)2
(2)上面推導的軌跡仍然是基於鳥瞰條件下的軌跡。看到的應該為處於一定視角觀察的軌跡,故須要進行一定角度的轉換才幹切換到實際觀察到的影象。如果攝像頭的可視角範圍為2α,攝像頭距離地面h,攝像頭中心線同水平面的夾角為β,輸出螢幕的高度為h,這裡如果攝像頭相對於螢幕為乙個點,會造成實際計算結果的一定偏差。關於偏差的細節數學計算不屬本文討論的重點。
我們實際觀察到的yr為地面y在顯示屏h上的投影,y方向的轉換過程如圖二:
這個顯示屏和攝像頭以及投射到地面的y值相應關係?這樣合理嗎?
上圖中為了便於計算,將經過攝像頭採集後輸出的顯示器直接投影到同乙個圖中,這和實際輸出沒有差別。
(為什麼能夠這樣不造成影響?與實際車載的顯示器投射方法不太一樣?原理是什麼啊?有沒有能夠解惑下的?謝謝。我的郵箱是[email protected].)上圖中的虛線為水平線,點線為螢幕的中心點到攝像頭的連線,β為中心線和水平線的夾角
將上圖進行簡化可轉為下列數學問題,等腰三角形中同頂點成已知角度所相應的邊長,簡化後的計算如圖三。
通過正弦定理、幾何運算可得:
這個推導正確,我驗證了~!
這個簡單的等比例縮放?怎麼得來?嚴謹嗎?請教大牛~!
三 計算軌跡的條件
從以上計算我們能夠看到。須要計算出軌跡。必須提供下面引數:
1 攝像頭的可視角範圍2a
2 攝像頭距離地面距離h
3攝像頭中心線同水平面的夾角β
4輸出螢幕的高度h和寬頻w
5 汽車前後輪軸距l
6 汽車軸長w。後輪距離車尾的距離d
7前輪同水平方向的夾角φ
以上引數中除轉角φ外對於固定的車型和安裝方式都已經固定。轉角φ的獲取能夠有兩種方式:1 對於有方向盤角度資訊的車型能夠直接通過輸出介面如can匯流排獲取。
2外加角度感測器獲取角度資訊。
兩種方式都須要對採集的資訊作一定的校正。
有沒有誰用matlab能夠**出來?得到模擬倒車軌跡線?
四 驗證
將上面公式的2和3帶入1,可推導出顯示螢幕上的實際軌跡影象。我們用vc實現了過程模擬,程式流程圖四,模擬結果如圖五。
在真實的嵌入式平台上實現須要該平台支援影象疊加功能。眼下很多多**soc晶元都能具備硬體α融合功能,能夠方便的將描繪出的軌跡疊加到攝像頭的輸入訊號上,對於角度資訊的採集。則要求平台有can匯流排介面(部分車型能夠輸出角度資訊)或外加角度感測器介面獲取車輪轉角。
有沒有誰有源**?交流一下?我的郵箱是[email protected].
五 結論:從驗證情況看,結果和經驗吻合,證明演算法的主要正確性。
一些細節資訊須要針對詳細的實現平台進行微調。以上演算法對於下列場景無法解決,假設路面有斜坡因為整個系統無法感知而導致疊加影象有誤,當倒車速度過快(如漂移)會造成上述公式總體失效。可是對於普通使用者場景-低速、路面相對平整還是主要場合,故將引數校準後會有較好的參考價值。
參考資料:[1] 張永亮 智慧型可視倒車系統 科學**武漢大學3.1軌跡是乙個數學模型
資料科學計算方法1
clc 清除工作窗 clear 清理變數 type 顯示檔案內容 hold 保持視窗開啟 向量的建立和運算 1.直接輸入向量 2.冒號建立向量 x 3.4 6.7 y 3.4 2 6.7 z 2.6 0.8 0 3.生成線性等分向量 x linspace 0,1,5 4.向量的運算 元素群乘積 x....
校驗和計算方法
1.說明 1 校驗和覆蓋的內容 ip校驗和 ip首部。icmp校驗和 icmp首部 icmp資料 2.計算校驗和的步驟 1 把校驗和字段設定為0。2 把需要校驗的資料看成以16位為單位的數字組成,依次進行二進位制反碼求和。3 把得到的結果存入校驗和字段中。另外udp tcp資料報的長度可以為奇數位元...
校驗和的計算方法
校驗和演算法 unsigned short check sum unsigned short addr,int len if nleft 1 sum sum 16 sum 0xffff sum sum 16 answer sum return answer 首先,ip icmp udp和tcp報文頭...