目前,我正试图在八度中为机器人末端执行器创建一个三维轨迹。终端效应器应该访问一组三维点X = [x_1 ,..., x_n],其中x_i = [xcoord_i; ycoord_i; zcoord_i]。简单的线性插值会导致机器人的运动不顺畅。因此,我想要生成一个三维样条曲线,在我的参考点之间生成N个3D点。针对这类任务(文档),有一个Matlab实现。你能告诉我如何在八度中解决这类问题吗?
发布于 2015-10-09 09:53:40
您只需在X(1,:)、X(2,:)和X(3,:)上使用interp1进行三维样条插值,请参阅002ddimensional-Interpolation.html。
这应该是可行的:
t = 1:n;
ti = 0:0.01:n;
xi = interp1(t, X(1,:), ti, "spline");
yi = interp1(t, X(2,:), ti, "spline");
zi = interp1(t, X(3,:), ti, "spline");
Xi = [xi; yi; zi];当然,您应该使t和ti适应您的需要。
https://stackoverflow.com/questions/33034939
复制相似问题