国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合

這篇具有很好參考價值的文章主要介紹了自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.Back ground

自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合,自動駕駛算法,自動駕駛,學習,機器學習
如上圖,SLAM學習路線Start到End路徑,其中曲線SDAB為D檔位學習路徑,曲線BC為R學習路徑,曲線AE為前進檔D檔學習路徑。
為了使其使用記憶泊車時,其駕駛員體驗感好,需去除R檔倒車部分軌跡,并擬合一條可用的曲線

2.Algorithm Introduction

自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合,自動駕駛算法,自動駕駛,學習,機器學習
D點作為起點,D(XD,YD,theta_D),C點作為終點(XC,YC,theta_C),使用y = a0 + a1 * x + a2 * x^2 + a3 * x^3擬合曲線DC,有:
YC = a0 + a1 * XC+ a2 * XC ^2 + a3 * XC^3
YD = a0 + a1 * XD + a2 * XD ^2 + a3 * XD ^3
tan(theta_C) = a1 + 2 * a2 * XC + 3 * a3 * XC^2
tan(theta_D) = a1 + 2 * a2 * XD + 3 * a3 * XD^2
即可求解a0 a1 a2 a3,進而得出曲線DC。
最后優(yōu)化的曲線為SDCE。

3.Coding using MATLAB
%Function:記憶泊車學習路徑擬合
%Create by:Juchunyu
%Date:2023-09-01 17:00:42


%設計軌跡x,y
% y = 2 (10>=x>=0)
% y = -1.2/50 *x^2 - 4.4/10 *x   (10>=x>=5)
% y = 1.6 (20>=x>=5)
slam_x     = [];
slam_y     = [];
slam_theta = [];
GearInfo   = [];%D:4 R:2
D  = 4;
R  = 2;
%Generate trajpoint
for i = 0 : 0.2 :10
    slam_x   = [slam_x i];
    slam_y   = [slam_y 2];
    GearInfo = [GearInfo D];
    slam_theta = [slam_theta 0];
end
for i =10:-0.2:5
    slam_x   = [slam_x i];
    y_temp   = -1.2*i*i/50 + 4.4 * i/10;
    slam_y   = [slam_y y_temp];
    GearInfo = [GearInfo R];
    slam_theta_temp = -2.4*i/50 - 4.4/10;
    slam_theta = [slam_theta slam_theta_temp];
end
    
for i = 5:0.2:20
    slam_x   = [slam_x i];
    slam_y   = [slam_y 1.6];
    GearInfo = [GearInfo D];
    slam_theta = [slam_theta 0];
end

figure(1)
plot(slam_x,slam_y);
title('SLAM學習曲線')
hold on 
%%處理算法


%檢測倒車 只檢測一次倒車
Index_start = 0;
Index_end   = 0;
Index_startArr = [];
Index_endArr   = [];

[m_ size_] = size(slam_x);

while i < size_
    Index_start = 0;
    Index_end   = 0;
    finish_Flag = 0;
    if(GearInfo(1,i) == R)
        Index_start = i;
        j = Index_start;
        while j < size_
            if GearInfo(1,j) == D
                Index_end   = j;
                finish_Flag = 1;
                break;
            end
            j = j + 1;  
        end
        if(finish_Flag == 1)
            Index_startArr = [Index_startArr Index_start];
            Index_endArr   = [Index_endArr Index_end];
        end
        i = j;
    end
    i = i + 1;
end


PointCIndx = Index_endArr(1,1);
PointBIndx = Index_startArr(1,1); 
PointAIndx = 0;
%處理算法
% find near Point
min_ = 1000000;
for i = 1:1:Index_startArr(1,1)
    dist = ((slam_x(1,PointCIndx) - slam_x(1,i))^2 + (slam_y(1,PointCIndx) - slam_y(1,i))^2)^(0.5);
    if(dist < min_)
        min_       =  dist;
        PointAIndx = i;
    end
end

%計算DA

distDA = ((slam_x(1,PointAIndx) - slam_x(1,1))^2 + (slam_y(1,PointAIndx) - slam_y(1,1))^2)^(0.5);

%往前推算1m
PointDIndx = PointAIndx;
if(distDA > 1.0)
   for i = PointAIndx:-1:1
        dist_  = ((slam_x(1,PointAIndx) - slam_x(1,i))^2 + (slam_y(1,PointAIndx) - slam_y(1,i))^2)^(0.5);
        if(dist_ > 1.0)
          PointDIndx = i;
          break; 
        end
   end
end

%處理D點到C點曲線平滑
PointDx = slam_x(1,PointDIndx);
PointDy = slam_y(1,PointDIndx);

PointCx = slam_x(1,PointCIndx);
PointCy = slam_y(1,PointCIndx);
%A*X = B

A(1,1) = 1;
A(1,2) = PointCx;
A(1,3) = PointCx * PointCx;
A(1,4) = PointCx * PointCx * PointCx;

A(2,1) = 1;
A(2,2) = PointDx;
A(2,3) = PointDx * PointDx;
A(2,4) = PointDx * PointDx * PointDx;

A(3,1) = 0;
A(3,2) = 1;
A(3,3) = 2 * PointCx;
A(3,4) = 3 * PointCx * PointCx;

A(4,1) = 0;
A(4,2) = 1;
A(4,3) = 2 * PointDx;
A(4,4) = 3 * PointDx * PointDx;

B(1,1) = PointCy;
B(2,1) = PointDy;
B(3,1) = tan(slam_theta(1,PointCIndx));
B(4,1) = tan(slam_theta(1,PointDIndx));

X = A^-1 * B;

%%擬合曲線系數(shù)
a0 = X(1,1);
a1 = X(2,1);
a2 = X(3,1);
a3 = X(4,1);

%重組軌跡曲線
slam_Xfinal = [];
slam_Yfinal = [];
slam_thetaFinal = [];
for i = 1:1:PointDIndx
    slam_Xfinal = [slam_Xfinal slam_x(1,i)];
    slam_Yfinal = [slam_Yfinal slam_y(1,i)];
    slam_thetaFinal = [slam_thetaFinal slam_theta(1,i)];
end

%擬合曲線DC
for x = PointDx:0.2:PointCx
    slam_Xfinal = [slam_Xfinal x];
    y_temp      = a0 + a1 * x + a2 * x^2 + a3 * x^3;
    theta_temp  = a1 + 2 * a2 * x + 3 * a3 *x^2;
    slam_Yfinal = [slam_Yfinal y_temp];
    slam_thetaFinal = [slam_thetaFinal theta_temp]; 
end

%組合后部分曲線
for i = PointCIndx:1:size_
    slam_Xfinal = [slam_Xfinal slam_x(1,i)];
    slam_Yfinal = [slam_Yfinal slam_y(1,i)];
    slam_thetaFinal = [slam_thetaFinal slam_theta(1,i)];
end

hold on 

figure(2)
plot(slam_Xfinal,slam_Yfinal,'r');
title('處理后的SLAM學習曲線')

自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合,自動駕駛算法,自動駕駛,學習,機器學習
自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合,自動駕駛算法,自動駕駛,學習,機器學習

4.Exist Problems

但是存在問題,
(1) AC距離很小的時候的處理
(2) 學習路線中多次倒車的處理
(3) DC在X軸方向投影距離很小時的處理。

2030901
鞠春宇
文章來源地址http://www.zghlxwxcb.cn/news/detail-689933.html

到了這里,關于自動駕駛——【規(guī)劃】記憶泊車特殊學習路徑擬合的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 自動駕駛規(guī)劃 - 5次多項式擬合

    自動駕駛規(guī)劃 - 5次多項式擬合

    自動駕駛運動規(guī)劃中會用到各種曲線,主要用于生成車輛的軌跡,常見的軌跡生成算法, 如貝塞爾曲線,樣條曲線,以及apollo EM Planner的五次多項式曲線 ,城市場景中使用的是分段多項式曲線,在 EM Planner和Lattice Planner 中思路是,都是先通過動態(tài)規(guī)劃生成點,再用5次多項式

    2024年02月03日
    瀏覽(17)
  • 自動駕駛路徑規(guī)劃——路徑規(guī)劃入門須知

    自動駕駛路徑規(guī)劃——路徑規(guī)劃入門須知

    目錄 前言 ?1.無人駕駛關鍵技術(shù) ?2.路徑規(guī)劃基本概念與分類 2.1 路徑規(guī)劃基本概念 2.1.1 路徑規(guī)劃需要解決的問題? 2.1.2 路徑規(guī)劃——現(xiàn)在的研究? 2.2路徑規(guī)劃的分類 2.3路徑規(guī)劃的流程 3.行為決策? 聲明 ? ? ? ?這個學期學校開設了相應的課程,同時也在學習古月居機器人學

    2023年04月08日
    瀏覽(22)
  • 自動駕駛路徑規(guī)劃控制ros移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習和實戰(zhàn))

    自動駕駛路徑規(guī)劃控制ros移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習和實戰(zhàn))

    自動駕駛路徑規(guī)劃控制ros1和ros2移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習,科研和實戰(zhàn)),不僅包括移植Apollo和autoware規(guī)劃算法,還包括其他規(guī)劃算法,與carla聯(lián)合仿真實現(xiàn)規(guī)劃控制,autoware-carla聯(lián)合仿真,Lanelet高精度地圖構(gòu)建,強化學習等等,基本涵蓋了公司算法

    2024年02月10日
    瀏覽(35)
  • 自動駕駛路徑規(guī)劃控制ros移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習,科研和實戰(zhàn))

    自動駕駛路徑規(guī)劃控制ros移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習,科研和實戰(zhàn))

    自動駕駛路徑規(guī)劃控制ros1和ros2移植Apollo和autoware規(guī)控算法可跑工程(適合入門學習,科研和實戰(zhàn)),不僅包括移植Apollo和autoware規(guī)劃算法,還包括其他規(guī)劃算法,與carla聯(lián)合仿真實現(xiàn)規(guī)劃控制,autoware-carla聯(lián)合仿真,Lanelet高精度地圖構(gòu)建,強化學習等等,基本涵蓋了公司算法

    2024年02月08日
    瀏覽(23)
  • 自動駕駛路徑規(guī)劃——Dijkstra算法

    自動駕駛路徑規(guī)劃——Dijkstra算法

    這個學期學校開設了相應的課程,同時也在學習古月居機器人學系列的《基于柵格地圖的機器人路徑規(guī)劃指南》,為了鞏固知識,方便自己的學習與整理,遂以學習筆記的形式記錄。 ???? 深度優(yōu)先搜索( Depth First Search , DFS ) :首先從某個頂點出發(fā),依次從它的各個未被

    2024年01月22日
    瀏覽(28)
  • 自動駕駛路徑規(guī)劃——軌跡規(guī)劃(詳解插值法)

    自動駕駛路徑規(guī)劃——軌跡規(guī)劃(詳解插值法)

    目錄 前言 1. 軌跡規(guī)劃 1.1?軌跡規(guī)劃包括以下幾個問題: 2.?三次多項式插值 ??????3.? 過路徑點的三次多項式插值 4. 用拋物線過渡的線性插值 過路徑點的用拋物線過渡的線性插值 5. 高階多項式插值 聲明 ? ? ? ?這個學期學校開設了相應的課程,同時也在學習古月居

    2024年01月22日
    瀏覽(29)
  • 自動駕駛路徑規(guī)劃——基于概率采樣的路徑規(guī)劃算法(RRT、RRT*)

    自動駕駛路徑規(guī)劃——基于概率采樣的路徑規(guī)劃算法(RRT、RRT*)

    ????在上一講中,我們學習了 基于概率采樣的路徑規(guī)劃算法——PRM算法,這一講我們繼續(xù)學習基于概率采樣的路徑規(guī)劃算法——RRT、RRT*。 ????快速探索隨機樹(RRT)由Steven M. LaValle和James J. Kuffner Jr開發(fā), 是對狀態(tài)空間中的采樣點進行碰撞檢測,避免了對空間的建模

    2024年02月07日
    瀏覽(28)
  • 自動駕駛路徑規(guī)劃——A*(Astar)算法

    自動駕駛路徑規(guī)劃——A*(Astar)算法

    ???? 最佳優(yōu)先搜索(BFS) ,又稱A算法,是一種啟發(fā)式搜索算法(Heuristic Algorithm)。[不是廣度優(yōu)先搜索算法( Breadth First Search , BFS )] ????BFS算法在廣度優(yōu)先搜索的基礎上, 用啟發(fā)估價函數(shù)對將要被遍歷到的點進行估價 ,然后選擇代價小的進行遍歷,直到找到目標節(jié)點

    2024年02月01日
    瀏覽(64)
  • 自動駕駛路徑規(guī)劃——基于MATLAB的柵格地圖

    自動駕駛路徑規(guī)劃——基于MATLAB的柵格地圖

    目錄 前言 1.什么是柵格地圖? ?1.1柵格地圖用于路徑規(guī)劃的優(yōu)勢: 2.MATLAB柵格地圖的繪制? MATLAB代碼 ?聲明 ? ? ? ?這個學期學校開設了相應的課程,同時也在學習古月居機器人學系列的《基于柵格地圖的機器人路徑規(guī)劃指南》,為了鞏固知識,方便自己的學習與整理,遂以

    2024年02月04日
    瀏覽(160)
  • 自動泊車的自動駕駛控制算法

    自動泊車的自動駕駛控制算法

    自動泊車系統(tǒng)(AutomatedParkingASSiSt,APA)利用車輛搭載的傳感器感知車輛周邊環(huán)境,掃描滿足當前車輛停放的障礙物空間車位或線車位,并通過人機交互(HumanMachine Interface,HMI)獲取駕駛員對目標車位的選擇或自動確定目標車位,自動規(guī)劃泊車路徑,通過控制器向車輛執(zhí)行機構(gòu)發(fā)送橫向及縱

    2024年02月11日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包