摘要
问题描述
有4个坐标点,分别位于 \((0,0),(1,0),(1,1),(0,1)\),现在需要为一个质点设计运动规划方法,使该质点依次穿过这4个坐标点,同时要求最大速度不超过5,最大加速度不超过1,也就是设计质点的运动参数方程 \(x(t)\) 和 \(y(t)\),使 \(\vec r(t)=\sqrt{x^2(t)+y^2(t)}\) 满足
\[|\dot{\vec r}(t)|=|\vec v(t)| \leq 5 \]\[|\ddot{\vec r}(t)|=|\vec a(t)| \leq 1 \]并且当 \(t=t_1,t_2,t_f\) 时分别满足
\[\begin{aligned} & x(t_1),y(t_1)=(1,0) \\ & x(t_2),y(t_2)=(1,1) \\ & x(t_f),y(t_f)=(0,1) \\ \end{aligned}\]另外也可以约束在起点 \((0,0)\) 处和终点 \((0,1)\) 处的速度为0。下图所示为两种可能的质点运动轨迹
求解思路
正确的方法应该是最优控制,但除了末端状态固定末端时刻自由的条件以外,还有很多中间点的约束,不知道能不能使用变分法求解。
其它
用下面的问题去问各种大语言模型,一般会得到两种方法。
there are 4 positions(points) on a plane, located at (0,0),(1,0),(1,1),(0,1) respectively, the question is design a route which start from (0,0) and end at (1,0), and go throuth (0,0),(1,0),(1,1),(0,1) in order, the constraints are as follows: the route line must be differentiable, a point moving on the line also has a limitted speed and accelerate, for example, the length of its speed vector satisfies
$$|\dot{r}(t)|=|\vec v(t)|=\sqrt{v_x^2(t)+v_y^2(t)}\leq 5$$
and the length of its acceleration vector satisfies
$$|\ddot{r}(t)|=|\vec a(t)|=\sqrt{a_x^2(t)+a_y^2(t)}\leq 1$$
how to design the route function $r(t)$ ?
chatGPT给出的方法是贝塞尔曲线,但贝塞尔曲线无法满足最大速度和最大加速度的约束。新必应给出的样条函数的问题是只能处理单射的函数的情况,但上面图中从点 \((1,0)\) 到点 \((1,1)\) 就不是函数。所以在问题中使用参数方程 \(x(t)\) 和 \(y(t)\) 而不是单一的函数。其他大语言模型几乎给不出有价值的回答。
有一篇论文认为可以转化为凸二次规划问题用matlab求解,但没给出任何细节。