Алгоритм обратной кинематики для траекторий с заданной ориентацией инструмента

Бесплатный доступ

Введение. При сварке, нанесении покрытий и выполнении сборочных и монтажных операций положение инструмента задается совместно с его ориентацией. Одной заданной позе могут соответствовать различные наборы углов в суставах манипулятора, причем решения, полученные для отдельных точек, не всегда образуют непрерывную траекторию. В таком случае переход от одной точки к другой сопровождается скачком углов, что необходимо учитывать при задании скоростей движения. Траекторию задают углами в суставах либо массивом декартовых поз инструмента. Во втором случае исходными данными служат координаты и ориентации, полученные по CAD-модели, точкам обучения или от внешнего планировщика. Для расчета по этим данным требуется согласовать решения обратной кинематики в соседних точках; в рассматриваемом алгоритме это выполняется за счет передачи найденных углов в расчет следующей точки. Материалы и методы. Объектом исследования является шестизвенный манипулятор с шестью степенями свободы. По заданным положениям и ориентациям TCP определялись углы в суставах с использованием псевдообратной матрицы численного якобиана, а ориентационная часть ошибки рассчитывалась по углам Эйлера ZYX. Начальным приближением для каждой последующей точки служило решение, полученное на предыдущей. Проверка проведена для траекторий с различным числом точек. Результаты и обсуждение. Приведены порядок формирования шестимерной ошибки, расчет якобиана и условия завершения итераций. Для траекторий из 5, 10 и 20 точек определены ошибки положения и ориентации, число итераций и время расчета; дополнительно рассмотрены траектории до 50 точек. По данным расчетов для одинаковой геометрической траектории среднее число итераций на точку составило 28, 18 и 12 соответственно. Использование предыдущего решения уменьшало число итераций, а в рассмотренных тестах позволяло сохранять выбранную ветвь решения. Выводы. Разработанный алгоритм позволяет по массиву положений и ориентаций инструмента получить последовательность углов в суставах манипулятора. В проведенных расчетах передача решения между соседними точками обеспечивала плавное изменение углов, однако сама по себе не исключает смену ветви решения при любой траектории. Область применения алгоритма ограничивается условиями сходимости численного расчета. При приближении к сингулярной конфигурации или при редком задании точек необходима дополнительная проверка числа обусловленности якобиана. Для повышения устойчивости расчета могут потребоваться более плотная дискретизация траектории и регуляризованное псевдообращение.

шестизвенный манипулятор \ обратная кинематика \ движение по траектории \ углы Эйлера \ численный якобиан \ ошибка позиционирования

Короткий адрес: https://sciup.org/142249004

IDS: 142249004   |   УДК: 621.86   |   DOI: 10.15828/2075-8545-2026-18-5-681-690

Inverse kinematics algorithm for trajectories with specified tool orientation

Introduction. During welding, coating application, and assembly or installation operations, the tool’s position is specified in conjunction with its orientation. A single specified pose may correspond to various sets of manipulator joint angles, and the solutions obtained for individual points do not always form a continuous trajectory. In such cases, the transition from one point to another involves a sudden change in joint angles, a factor that must be taken into account when setting movement speeds. The trajectory is defined either by joint angles or by an array of Cartesian tool poses. In the latter case, the input data consists of coordinates and orientations derived from a CAD model, teach points, or an external planner. Calculating the trajectory from this data requires reconciling inverse kinematics solutions at adjacent points; in the algorithm under consideration, this is achieved by passing the calculated angles to the computation for the next point. Methods and Materials. The object of study is a six-link manipulator with six degrees of freedom. Joint angles were determined based on specified Tool Center Point (TCP) positions and orientations using the pseudoinverse of the numerical Jacobian matrix, while the orientation error component was calculated using ZYX Euler angles. The solution obtained for a given point served as the initial approximation for the subsequent point. Verification was performed using trajectories comprising varying numbers of points. Results and Discussion. The procedure for formulating the six-dimensional error, the Jacobian calculation, and the iteration termination criteria are presented. Position and orientation errors, iteration counts, and computation times were determined for trajectories consisting of 5, 10, and 20 points; trajectories with up to 50 points were also examined. Calculation results for an identical geometric trajectory showed average iteration counts per point of 28, 18, and 12, respectively. Utilizing the previous solution reduced the number of iterations and, in the tests conducted, enabled the maintenance of the selected solution branch. Conclusion. The developed algorithm enables the derivation of a sequence of manipulator joint angles from a set of tool positions and orientations. In the calculations performed, the transfer of the solution between adjacent points ensured smooth angular variation; however, this mechanism alone does not guarantee the avoidance of a solution branch switch for every possible trajectory. The algorithm’s applicability is constrained by the convergence conditions of the numerical computation. When approaching a singular configuration or using sparse point spacing, it is necessary to additionally check the condition number of the Jacobian. Enhancing computational stability may require finer trajectory discretization and regularized pseudo-inversion.