最近有人丟了一個很有趣的文章給我看,他的路徑規劃使用B-spline曲線來做。
似乎很有趣,不知道如果把B-spline曲線丟到老鼠的路徑規劃裡,是不是就可以讓動作可以更平滑一點?
找了一點資料,索性就開起matlab 來求救了,沒想到打 help spline 竟然有範例。
那就改了一下範例:
x = -4:4; y = [0 15 0 -15 0 15 0 -15 0];
cs = spline(x,[0 y 0]);
xx = linspace(-4,4,100);
plot(x,y,'o--',xx,ppval(cs,xx),'-');
假設動作為1連續V-turn。看B-spline曲線劃出來的似乎還好,不過如果調整頂點的位置,應該就可以讓路徑更短。
x = -4:4; y = [0 15 0 -15 0 15 0 -15 0];
x1=-4:4;y1=[0 11 0 -11 0 11 0 -11 0];
cs = spline(x,[0 y 0]);
cs1 = spline(x1,[0 y1 0]);
xx = linspace(-4,4,100);
xx1 = linspace(-4,4,100);
plot(x,y,'o--',xx,ppval(cs,xx),'-',x1,y1,'ro--',xx1,ppval(cs1,xx1),'m-' );
果然直接看數學模型真的很吃力,還是找找現成的範例比較容易看懂。
至於好不好,還要再討論嚕!