亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? vfh.m

?? 這是一個關(guān)于機器人的路徑算法(vfh算法)在matlab中的仿真。
?? M
字號:
[1] 判斷矢量
function angle = caculateangle(s,e)
dy = e(2) - s(2);
dx = e(1) - s(1);
if dx==0
    angle=pi/2;
else
    angle = atan(dy/dx); 
    if(dx < 0)
        if(dy > 0)
            angle = pi - abs(angle);
        else
            angle = pi + abs(angle);
        end
    else
        if(dy < 0)
            angle = 2*pi- abs(angle);
        end
    end
end

[2] 障礙點
function drawobstacle
global obstacle
axis([0 10 0 10])
grid on

for i=1:length(obstacle)
    plot(obstacle(i,1),obstacle(i,2),'.k');
    hold on
end

[3] 終點
function getendpoint
global endpoint
[endpoint_x,endpoint_y] = ginput(1)
plot(endpoint_x,endpoint_y,'.r')
endpoint=[endpoint_x endpoint_y]
save endpoint endpoint

[4] 隨機輸入障礙
function getobstacle
clear
axis([0 10 0 10])
grid on
hold on
n=0; bn=1
global obstacle
obstacle=[];
while bn==1
    [xn,yn,bn]=ginput(1)
    plot(xn,yn,'.k');
    n=n+1;
    obstacle=[obstacle ;[xn,yn]];
end
save obstacle obstacle

[5] function getstartpoint
global startpoint
[startpoint_x,startpoint_y] = ginput(1)
plot(startpoint_x,startpoint_y,'.b')
startpoint=[startpoint_x startpoint_y]
save startpoint startpoint

[6] 矢量相鄰程度
function dif=howmany(c1,c2)
n = 72; % number of sektors 
dif = min([abs(c1-c2), abs(c1-c2-n), abs(c1-c2+n)]);

[7] 矢量柱狀圖
function plotHistogram(his,kt,kb)
%global his kt kb
n=length(his);
x1 = [1:n];
k1 = kt;   k2=kb;

y = [0:max(his)];
if(max(his) <=1)
    y=[0:0.01:1]; %to get a smoother line
end
figure(2)
hold off
%subplot(211)
bar(x1,his);            %%%%%%%%沒有加實際線
hold on
ylabel('H值');
xlabel('矢量');

%subplot(212)
%bar(x2,his);           %%%%%%%%%%沒有加實際線
%plot(k2,y,'.r');
%plot(a2,y,'.b');
%ylabel('H值');
%xlabel('角度');
line([k1,k1],[0,max(his)],'LineStyle','-', 'color','r');
line([k2,k2],[0,max(his)],'LineStyle','--', 'color','g');

legend('危險程度','目標(biāo)方向','避障方向')
figure(1)

[8] 避障
%function h=vfh2(obstacle,startpoint,endpoint)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%可用!
drawobstacle;
plot(startpoint(1),startpoint(2),'.b');
plot(endpoint(1),endpoint(2),'.r');
step=0.1;
f=5;                                      %角分辨率,度!
dmax = 2.5;                                 %視野
smax = 18;                                %寬波谷
b=2;                                      %常量
a=b*dmax;                                 %常量
C=15;                                     %cv
alpha = deg2rad(f);                       %弧度!
n=360/f;                                  %分區(qū)



%global kt his angle

robot=startpoint;                         %機器人起始點

kt=round(caculateangle(robot,endpoint)/alpha);    %初始目標(biāo)方向向量,個!
if(kt==0)
    kt=n;
end



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   算法[H值>>>安全角>>>機器人下一坐標(biāo)]
while   norm(robot-endpoint)~=0
    if(norm(robot-endpoint))>step
        i=1;mag = zeros(n,1);his=zeros(n,1);            %初值
        while (i<=length(obstacle))  %%%%%%%%%%%%%%%%%%%%%%%%%%%   下面一段程序得到機器人360度范圍視野內(nèi)的障礙物分布值

            d = norm(obstacle(i,:) - robot);%這個障礙與機器人之間距離
            if (d<dmax)
                beta = caculateangle(robot,obstacle(i,:));
                k = round(beta/alpha); %這個障礙是第k個向量
                if(k == 0)
                    k = n;
                end
                m = C^2*(a-b*d); %這個障礙的值
                mag(k)=max(mag(k),m);  %mag為zeros(n,1),mag的第k個元素為m
                i=i+1;
            else
                i=i+1;
            end
        end
        his=mag;   %現(xiàn)his是一個含72個元素的向量

        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   下面一段程序計算出目標(biāo)向量kt,最佳前進方向angle,機器人下一坐標(biāo)robot
        j=1;q=1;
        while (q<=n)       %所有合適的方向全部找出來
            %%%%%%%%%%%%%%%%%%%%
            if(his(q)==0)
                kr=q;                  %找到了波谷的左端
                while(q<=n & his(q)==0)  %這一小段找到了波谷的右端
                    kl=q;
                    q=q+1;
                end
                if(kl-kr > smax) % wide valley
                    c(j)   = round(kl - smax/2); % towards the left side
                    c(j+1) = round(kr + smax/2); % towards the right side
                    j=j+2;
                    if(kt >= kr & kt <= kl)
                        c(j) = kt; % straight at look ahead
                        j=j+1;
                    end
                elseif(kl-kr > smax/5) % narrow valley
                    c(j) = round((kr+kl)/2);
                    j=j+1;
                end

            else
                q=q+1;            %his(q)不為0,直接下一個

            end                  %退出if選擇,再次進入while條件循環(huán)
        end                         %退出while循環(huán)
        %%%%%%%%%%%%%%%合適的方向都存到c里面了
        g=zeros(j-1,1);how=zeros(j-1,1);
        for (i=1:j-1)
            g(i)=c(i);              %g中不含目標(biāo)向量
            how(i)=howmany(g(i),kt);%how的第i元素為g(i)與kt間的向量數(shù),g中與目標(biāo)最近的
        end                         %how為差距向量
        ft=find(how==min(how));
        fk=ft(1);
        kb=g(fk);  %前進向量
        robot=robot+[step*cos(kb*alpha),step*sin(kb*alpha)];
        scatter(robot(1),robot(2),'.b');
        drawnow;
        kt=round(caculateangle(robot,endpoint)/alpha);
        if(kt==0)
            kt=n;
        end
        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
        plotHistogram(his,kt,kb);
    else
        break
    end
    pause(0.5)
end



[9] %function h=vfh4(obstacle,startpoint,endpoint)
drawobstacle;
plot(startpoint(1),startpoint(2),'.b');
plot(endpoint(1),endpoint(2),'.r');
step=0.1;
f=5;                                      %角分辨率,度!
dmax = 2 ;                                 %視野
smax = 18;                                %寬波谷
b=2.5;                                      %常量
a=b*dmax;                                 %常量
C=15;                                     %cv
alpha = deg2rad(f);                       %弧度!
n=360/f;                                  %分區(qū)
threshold=150;
%global kt his kb

robot=startpoint;                         %機器人起始點

kt=round(caculateangle(robot,endpoint)/alpha);    %初始目標(biāo)方向向量,個!
if(kt==0)
    kt=n;
end



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   算法[H值>>>安全角>>>機器人下一坐標(biāo)]



while   norm(robot-endpoint)~=0
    if(norm(robot-endpoint))>step


        i=1;mag = zeros(n,1);his=zeros(n,1);            %初值
        while (i<=length(obstacle))  %%%%%%%%%%%%%%%%%%%%%%%%%%%   下面一段程序得到機器人360度范圍視野內(nèi)的障礙物分布值

            d = norm(obstacle(i,:) - robot);%這個障礙與機器人之間距離
            if (d<dmax)
                beta = caculateangle(robot,obstacle(i,:));
                k = round(beta/alpha); %這個障礙是第k個向量
                if(k == 0)
                    k = n;
                end
                m = C^2*(a-b*d); %這個障礙的值
                mag(k)=max(mag(k),m);  %mag為zeros(n,1),mag的第k個元素為m
                i=i+1;
            else
                i=i+1;
            end
        end
        his=mag;   %現(xiàn)his是一個含72個元素的向量
        %%%下面一段程序計算出目標(biāo)向量kt,最佳前進方向angle,機器人下一坐標(biāo)robot
        j=1;q=1;


        while (q<=n)       %所有合適的方向全部找出來
            %%%%%%%%%%%%%%%%%%%%
            if(his(q)< threshold)
                kr=q;                  %找到了波谷的左端
                while(q<=n & his(q)< threshold)  %這一小段找到了波谷的右端
                    kl=q;
                    q=q+1;
                end

               if(kl-kr > smax) % wide valley
                    c(j)   = round(kl - smax/2); % towards the left side
                    c(j+1) = round(kr + smax/2); % towards the right side
                    j=j+2;
                    if(kt >= kr & kt <= kl)
                        c(j) = kt; % straight at look ahead
                        j=j+1;
                    end
                elseif(kl-kr > smax/5) % narrow valley
                    c(j) = round((kr+kl)/2);
                    j=j+1;
                end

            else
                q=q+1;              %his(q)不為0,直接下一個

            end                   %退出if選擇,再次進入while條件循環(huán)
            %%%%%%%%%%%%%%%%%%%%
        end                         %退出while循環(huán)
        %%%%%%%%%%%%%%%%%合適的方向都存到c里面了
        g=zeros(j-1,1);how=zeros(j-1,1);
        for (i=1:j-1)
            g(i)=c(i);              %g中不含目標(biāo)向量
            how(i)=howmany(g(i),kt);%how的第i元素為g(i)與kt間的向量數(shù),g中與目標(biāo)最近的
        end                         %how為差距向量

        ft=find(how==min(how));
        fk=ft(1);
        kb=g(fk);  %前進向量
        robot=robot+[step*cos(kb*alpha),step*sin(kb*alpha)];
        scatter(robot(1),robot(2),'.b');
        drawnow;
        kt=round(caculateangle(robot,endpoint)/alpha);
        if(kt==0)
            kt=n;
        end
        %%%%%%%%%
        plotHistogram(his,kt,kb);
    else
        break
    end
    pause(0.5)
end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
3d成人动漫网站| 99久久精品费精品国产一区二区| 欧美午夜在线观看| 亚洲激情六月丁香| 欧美日韩国产另类一区| 一级特黄大欧美久久久| 欧美日韩性生活| 久久精品国产99| 国产农村妇女毛片精品久久麻豆 | 六月丁香婷婷色狠狠久久| 日韩欧美一区二区免费| 韩国精品在线观看| 国产精品色婷婷久久58| 色婷婷av一区二区三区软件 | 国产精品久久毛片| 在线亚洲人成电影网站色www| 亚洲国产一区二区三区青草影视| 91精品国产手机| 高清在线不卡av| 亚洲国产日日夜夜| 精品日韩一区二区三区 | 国产精品午夜在线观看| 91丨九色丨尤物| 美女脱光内衣内裤视频久久影院| 久久久久久久久久美女| 91在线云播放| 久久狠狠亚洲综合| 亚洲图片欧美激情| 日韩欧美亚洲国产精品字幕久久久 | 成人h版在线观看| 亚洲第一主播视频| 国产精品污污网站在线观看 | 精品视频资源站| 国产成都精品91一区二区三| 一区二区三区久久久| 久久综合九色综合欧美98| 色综合夜色一区| 久久99国产精品久久| 亚洲精品视频一区| 国产午夜精品美女毛片视频| 欧美丝袜自拍制服另类| 丁香网亚洲国际| 裸体健美xxxx欧美裸体表演| 亚洲视频在线一区| 国产亚洲精品久| 欧美一级淫片007| 欧美亚洲动漫制服丝袜| 成人少妇影院yyyy| 国产在线国偷精品免费看| 一区二区三区蜜桃| 中文字幕乱码久久午夜不卡| 日韩视频中午一区| 欧美日韩视频在线一区二区| 成人高清在线视频| 国产精品一二二区| 狠狠色丁香婷婷综合| 日韩不卡一二三区| 亚洲成av人片一区二区梦乃| 综合欧美亚洲日本| 国产精品短视频| 欧美国产综合一区二区| 精品国产亚洲一区二区三区在线观看| 欧美日韩一区小说| 色婷婷综合中文久久一本| 成人亚洲一区二区一| 国产剧情一区二区| 国内精品久久久久影院一蜜桃| 三级影片在线观看欧美日韩一区二区 | 蜜桃久久av一区| 午夜a成v人精品| 亚洲男女一区二区三区| 国产精品无遮挡| 国产欧美日韩另类一区| 国产亚洲欧美中文| 国产网站一区二区三区| 国产亚洲一区字幕| 欧美高清在线精品一区| 久久一区二区三区四区| 久久只精品国产| 久久嫩草精品久久久精品一| 日韩美女视频在线| 亚洲精品在线免费播放| 久久亚洲精精品中文字幕早川悠里 | 蜜桃视频一区二区| 蜜臀av性久久久久av蜜臀妖精| 日本中文一区二区三区| 免费视频一区二区| 韩国欧美一区二区| 成人综合激情网| 99久久久精品| 欧美天天综合网| 91精品中文字幕一区二区三区| 欧美一区二区女人| 国产亚洲一区二区三区在线观看| 国产亚洲精品7777| 《视频一区视频二区| 一区二区免费在线| 久久国内精品视频| 高清国产午夜精品久久久久久| 9色porny自拍视频一区二区| 九九**精品视频免费播放| 国产乱码一区二区三区| 成人国产免费视频| 欧美日韩国产一级片| 日韩亚洲欧美成人一区| 国产女人18毛片水真多成人如厕 | 国产一区 二区 三区一级| 成人伦理片在线| 在线免费不卡视频| 精品国产网站在线观看| 国产精品美女视频| 日日夜夜精品视频免费| 国产乱码精品一区二区三区av| 99久久伊人精品| 日韩欧美www| 1区2区3区精品视频| 日本午夜一本久久久综合| 福利一区福利二区| 欧美日韩美女一区二区| 久久精品一区二区三区av| 一个色妞综合视频在线观看| 捆绑调教一区二区三区| 99久久99久久精品免费看蜜桃| 欧美日本视频在线| 国产精品亲子乱子伦xxxx裸| 天堂成人免费av电影一区| 成人18视频在线播放| 51精品秘密在线观看| 国产精品欧美一级免费| 免费在线观看精品| 欧美性猛片aaaaaaa做受| 久久久国产精品午夜一区ai换脸| 亚洲国产wwwccc36天堂| 成人动漫精品一区二区| 欧美成va人片在线观看| 一区二区激情视频| 99久久精品免费精品国产| 日韩精品最新网址| 亚洲成人在线免费| 91免费看`日韩一区二区| 久久久久久亚洲综合| 青娱乐精品视频| 欧美天天综合网| 亚洲激情综合网| 99在线热播精品免费| 久久久无码精品亚洲日韩按摩| 亚洲成人黄色小说| 日本高清无吗v一区| 欧美—级在线免费片| 国内一区二区在线| 日韩三级视频在线观看| 亚洲韩国一区二区三区| 91国内精品野花午夜精品 | 精品精品国产高清a毛片牛牛| 亚洲一区二区三区爽爽爽爽爽| 波多野结衣精品在线| 国产网站一区二区| 国产精品综合久久| 久久综合色天天久久综合图片| 石原莉奈在线亚洲三区| 制服丝袜一区二区三区| 亚洲成年人影院| 91.麻豆视频| 日韩高清在线不卡| 日韩欧美成人激情| 久久狠狠亚洲综合| 久久久久久久久久久久久夜| 麻豆成人免费电影| 欧美精品一区二区三区四区| 久草这里只有精品视频| 久久久久久久久99精品| 国产一区二区三区不卡在线观看 | 欧美精品第1页| 亚洲欧美欧美一区二区三区| 99国产一区二区三精品乱码| 亚洲视频一区在线观看| 色就色 综合激情| 亚洲成人综合网站| 欧美人与禽zozo性伦| 日韩av中文在线观看| 欧美大度的电影原声| 国产在线精品一区二区| 国产精品热久久久久夜色精品三区 | 欧美日韩第一区日日骚| 日韩成人精品在线| 久久亚洲精品国产精品紫薇| 国产露脸91国语对白| 国产精品美女久久久久久久久久久| 成人福利在线看| 亚洲高清在线视频| 欧美一区二区视频网站| 国产精品一区二区在线观看网站| 国产欧美一区二区精品仙草咪| 99re在线精品| 日韩主播视频在线| 精品久久久久久久久久久院品网| 国精产品一区一区三区mba桃花| 国产精品美女一区二区三区| 欧美在线观看视频在线| 国产尤物一区二区|