看不到颤抖的情节
24日视图(30天)
显示旧的评论
我正在试图让一个代码路径规划的势场。
我定义势能(u_att u_rep)然后力(fxa fya, fxr,马其顿)通过使用“梯度”。
尽我所知,力矢量(fxa fya, fxr,马其顿)正确地计算,
但是当我阴谋力矢量与“颤抖”,我什么也看不见。
我如何解决这个问题?
代码下面附势场
谢谢你!
关闭所有;清晰;clc;
图,在;
轴(100 0 100[0]),轴广场,盒子在;
包含(“x”),ylabel (“y”);
obslist = [60 60 15;
20 40 7;
70年30 5];
x_start = 10 [10];
x_goal = (90 - 90);
情节(x_start (1) x_start (2),“处方”,“线宽”2);
情节(x_goal (1) x_goal (2),“波”,“线宽”2);
ang =(0:π/ 50:2 *π)';
xpu = cos (ang);您什么=罪(ang);
为i = 1:尺寸(obslist, 1)
xp = obslist(我,1)+ obslist(我,3)* xpu;
yp = obslist(我,2)+ obslist(我,3)*您什么;
填充(xp, yp,“y”);
情节(xp, yp,“k”);
结束
%以上代码从韩科院2023年春季ME652讲座
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
片= 1;
(X, Y) = meshgrid(0:片:100,0:片:100);
Ka = 5;
u_att = 0.5 * Ka *√(X-x_goal (1))。^ 2 + (Y-x_goal (2)) ^ 2);
[fxa, fya] =梯度(u_att,切片,切片);
基米-雷克南= 500;
u_rep = 0(大小(X));
为i = 1:尺寸(obslist, 1)
u_rep = u_rep + 0.5。* Kr * 1. /√(X-obslist(我,1))。^ 2 + (Y-obslist(我,2))^ 2)- 1. /√((obslist(我,3)+ 2)))^ 2;
结束
(fxr,马其顿)=梯度(u_rep,切片,切片);
fX = - fxr fxa;
财政年度= -马其顿fya;
箭袋(X, Y,外汇、财政年度“k”)
%轮廓(X, Y, u_att + u_rep, 25)
0评论
接受的答案
答案(1)
Chunru
2023年5月3日8:23
图,在;
轴(100 0 100[0]),轴广场,盒子在;
包含(“x”),ylabel (“y”);
obslist = [60 60 15;
20 40 7;
70年30 5];
x_start = 10 [10];
x_goal = (90 - 90);
情节(x_start (1) x_start (2),“处方”,“线宽”2);
情节(x_goal (1) x_goal (2),“波”,“线宽”2);
ang =(0:π/ 50:2 *π)';
xpu = cos (ang);您什么=罪(ang);
为i = 1:尺寸(obslist, 1)
xp = obslist(我,1)+ obslist(我,3)* xpu;
yp = obslist(我,2)+ obslist(我,3)*您什么;
填充(xp, yp,“y”);
情节(xp, yp,“k”);
结束
%以上代码从韩科院2023年春季ME652讲座
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
片= 1;
(X, Y) = meshgrid(0:片:100,0:片:100);
Ka = 5;
u_att = 0.5 * Ka *√(X-x_goal (1))。^ 2 + (Y-x_goal (2)) ^ 2);
[fxa, fya] =梯度(u_att,切片,切片);
基米-雷克南= 500;
u_rep = 0(大小(X));
为i = 1:尺寸(obslist, 1)
u_rep = u_rep + 0.5。* Kr * 1. /√(X-obslist(我,1))。^ 2 + (Y-obslist(我,2))^ 2)- 1. /√((obslist(我,3)+ 2)))^ 2;
结束
(fxr,马其顿)=梯度(u_rep,切片,切片);
fX = - fxr fxa;
财政年度= -马其顿fya;
%颤抖(X, Y,外汇、财政年度“k”)
图
箭袋(X, Y,外汇、财政年度0)
%检查你的代码,外汇和财政年度有正值,自动定量
%的工作
max (fX(:))、马克斯(财政年度(:))