ПРИМЕНЕНИЕ CAS MATHEMATICA 4.1 ДЛЯ РЕШЕНИЯ ОБРАТНОЙ ЗАДАЧИ КИНЕМАТИКИ НА ПРИМЕРЕ ДВУХЗВЕННОГО МАНИПУЛЯТОРА
В отличие от прямой задачи кинематики, где существует однозначное решение, в обратной задаче кинематики всегда есть множество решений. Рассмотрим двухзвенный манипулятор $($рис. 1$)$.
Рисунок 1 - Двухзвенный манипулятор с вращающимися парами пятого класса
При помощи CAS Mathematica 4.1 решим в общем виде систему уравнений \eqref{eq:sample1}, связывающую координаты манипулятора:
\begin{cases} \begin{equation} \label{eq:sample1} x_1 = 0\\ y_1 = 0\\ x_3 - задается\\ y_3 - задается\\ l - длина звеньев (постоянный параметр)\\ (x_2 - x_1)^2 + (y_2 - y_1)^2 = 1^2\\ (x_2 - x_3)^2 + (y_2 - y_3)^2 = 1^2 \end{equation} \end{cases}Решение \eqref{eq:sample2} используется для программы моделирования движения манипулятора в декартовых координатах. Достоинством такого подхода является отказ от прямого/обратного преобразования для углов манипулятора с использованием функции arctan2, что позволяет производить их намного быстрее при вычислении средствами ЭВМ.
\begin{cases} \begin{equation} \label{eq:sample2} x2 = \frac{x3^4+x3^2y3^2-y3\sqrt{-x3^2(x3^2+y3^2)(-4l^2+x3^2+y3^2)}}{2x3(x3^2+y3^2)}\\ y2 = \frac{x3^2y3+y3^2+\sqrt{-x3^2(x3^2+y3^2)(-4l^2+x3^2+y3^2)}}{2(x3^2+y3^2)}\\ x2 = \frac{x3^4+x3^2y3^2+y3\sqrt{-x3^2(x3^2+y3^2)(-4l^2+x3^2+y3^2)}}{2x3(x3^2+y3^2)}\\ y2 = \frac{x3^2y3+y3^2-\sqrt{-x3^2(x3^2+y3^2)(-4l^2+x3^2+y3^2)}}{2(x3^2+y3^2)} \end{equation} \end{cases}