ericky 发表于 2009-10-19 11:02

求助,matlab图形的建模方法


求助,matlab图形的建模方法
请见如图的三维图形z(x,y),请教应该如何考虑模型建立,物理意义是一个势能场,z代表势能,x、y代表平面坐标,其中几个突起含义是势能极大、坐标位置不可达,可建立斥力实现。整个空间一侧高,另一侧低,可以用引力实现,此方法可以用在移动机器人避障,谢谢!

引力可以用公式Uatt=1/2*k*d*d示

[ 本帖最后由 ChaChing 于 2009-10-20 00:27 编辑 ]

ericky 发表于 2009-10-19 11:24

ChaChing 发表于 2009-10-19 21:45

个人水平有限, 看过几次还不清楚LZ的问题!?

ericky 发表于 2009-10-19 22:31

回复 5楼 ChaChing 的帖子

我想先做出来一个那个matlab图来,方法和含义如上所示,可是目前还没有实现,所以想知道怎样才能实现

ChaChing 发表于 2009-10-20 00:30

help mesh or surf ?

ericky 发表于 2009-10-20 16:55

引力计算代码

function =compute_Attract(X,Xsum,k,angle)%输入参数为当前坐标,目标坐标,增益常数,分量和力的角度
%把路径上的临时点作为每个时刻的Xgoal
R=(X(1)-Xsum(1,1))^2+(X(2)-Xsum(1,2))^2;%路径点和目标的距离平方
r=sqrt(R);%路径点和目标的距离
%deltax=Xgoal(1)-X(1);
%deltay=Xgoal(2)-X(2);
Yatx=k*r*cos(angle);%angle=Y(1)
Yaty=k*r*sin(angle);
end

ericky 发表于 2009-10-20 21:46

斥力计算代码,有部分计算移动路径、角度的在此可以忽略


function =compute_repulsion(X,Xsum,m,angle_at,angle_re,n,Po)%输入参数为当前坐标,Xsum是目标和障碍的坐标向量,增益常数,障碍,目标方向的角度
Rat=(X(1)-Xsum(1,1))^2+(X(2)-Xsum(1,2))^2;%路径点和目标的距离平方
rat=sqrt(Rat);%路径点和目标的距离
for i=1:n
Rrei(i)=(X(1)-Xsum(i+1,1))^2+(X(2)-Xsum(i+1,2))^2;%路径点和障碍的距离平方
rre(i)=sqrt(Rrei(i));%路径点和障碍的距离保存在数组rrei中
if rre(i)>Po%如果每个障碍和路径的距离大于障碍影响距离,斥力令为0
Yrerx(i)=0
Yrery(i)=0
Yatax(i)=0
Yatay(i)=0
else
Yrer(i)=m*(1/rre(i)-1/Po)*1/Rrei(i)*Rat%分解的Fre1向量
Yata(i)=m*((1/rre(i)-1/Po)^2)*rat%分解的Fre2向量
Yrerx(i)=Yrer(i)*cos(angle_re(i))%angle_re(i)=Y(i+1)
Yrery(i)=Yrer(i)*sin(angle_re(i))
Yatax(i)=Yata(i)*cos(angle_at)%angle_at=Y(1)
Yatay(i)=Yata(i)*sin(angle_at)
end%判断距离是否在障碍影响范围内
end
Yrerxx=sum(Yrerx)%叠加斥力的分量
Yreryy=sum(Yrery)
Yataxx=sum(Yatax)
Yatayy=sum(Yatay)
end

[ 本帖最后由 ericky 于 2009-10-20 21:47 编辑 ]

ericky 发表于 2009-10-21 11:00

引力和斥力的合力产生整个势场的分布状态
是不是在空间选取离散一系列离散测试点,然后进行曲线拟合?

[ 本帖最后由 ChaChing 于 2009-10-21 11:53 编辑 ]

ChaChing 发表于 2009-10-24 21:56

个人水平有限, 还是不清楚LZ的问题!?

ericky 发表于 2009-10-31 15:48

没有人对这个问题感兴趣?
页: [1]
查看完整版本: 求助,matlab图形的建模方法