Решение обратной задачи кинематики робота-манипулятора в одном видео! ОЗК для чайников Библиотека Си
Channel: Ulysses Apokin (Jelisej Apokin) Елисей Апокин
Date: 2023-11-29

• Репозиторий библиотеки:
https://codeberg.org/UlyssesApokin/libreRGM3
• Скачать последний релиз библиотеки:
https://codeberg.org/UlyssesApokin/libreRGM3/releases
• Актуальная документация по библиотеке:
https://codeberg.org/UlyssesApokin/libreRGM3/raw/branch/main/doc/librergm3-doc.pdf

• Более подробно о иерархическом подходе к решению ОЗК:
https://cyberleninka.ru/article/n/ierarhicheskiy-podhod-k-resheniyu-obratnoy-zadachi-kinematiki

00:00 - Что будет
00:12 - Теория
06:03 - Работа с библиотекой rgm3_reverse_kinematic
12:07 - Работа с библтотекой rgm3_output
13:44 - Написание рабочей программы
24:50  - Компиляция
25:14 - Добавляем вывод в терминал
26:00 - Компиляция
26:15 - Изучаем вывод программы
26:50 - Где скачать и что почитать

В этом видео вы узнаете, что такое обратная задача кинематики, как ее решать, а также научитесь работать с библиотекой языка Си для решения обратной задачи кинематики, которую можно свободно скачать с моего репозитория.
Кинематика манипулятора изучает геометрию движения манипулятора относительно абсолютной системы координат, не рассматривая силы и моменты порождающие это движение.
Соответственно существует две задачи, которые решает кинематика - прямая и обратная.

Прямая задача звучит так.
Для конкретного манипулятора по значениям обобщенных координат и геометрическим параметрам звеньев, определить положение и ориентацию схвата манипулятора относительно абсолютной системы координат.
Обратная задача кинематики полностью противоположна. 
Найти значения обобщенных координат, зная геометрические параметры звеньев и положение и ориентацию схвата манипулятора относительно абсолютной системы координат. 
Основной трудностью решения обратной задачи кинематики является то, что, в отличие от прямой задачи кинематики, для нее не существует универсального алгоритма решения, подходящего для различных конфигураций роботов.
В этом видео изложен иерархический подход к решению обратной задачи кинематики.
Он является наиболее простым, универсальным методом решения данной задачи, и позволяет получить однозначные, не требующие дополнительных проверок, результаты за малое количество итераций.
Идея подхода заключается в следующем:
Выбирается ограниченный набор сочленений, необходимых для реализации движения.
Этим сочленениям назначается последовательность движения и ограничения этого движения.
Затем, с помощью трех простых правил, производится последовательное итерационное приближение до тех пор, пока не будет получена требуемая точность решения.
 требуемую точку.
Каждая обобщенная координата изменяется в соответствии с формулой:
 q_i = q_{i-1} + sing(q_i) * delta_q_i,
Затем для этой обобщенной координаты производятся следующие проверки:
 - проверка влияния обобщенной координаты на расстояние от схвата до цели и/или на ориентацию схвата;
 - проверка достижения обобщенной координатой пределов ее изменения, установленных разработчиком. 
В зависимости от результатов проверок предпринимаются следующие действия:
 - Если расстояние до цели уменьшилось и/или ориентация схвата стала ближе к желаемой, то дополнительные корректировки не нужны, переходим к следующей обобщенной координате.
 - Если изменение обобщенной координаты привело к удалению от цели или увеличению углового отклонения от целевого положения, но ее значение еще не достигло пределов изменения, знак приращения этой координаты изменяется на противоположный.
 - Если значение обобщенной координаты достигло пределов изменения, то соответствующее ей приращение также меняет свой знак. Если после изменения знака приращения схват по-прежнему удаляется от цели, то происходит отмена последнего изменения обобщенной координаты.
В соответствии с идеей иерархического подхода, разработчик назначает определенную "роль" в реализации заданного движения. 
В алгоритме решения подобные "роли" сочленений проявляются на этапе проверки
соответствующих обобщенных координат:
 - если сочленение отвечает только за сближение с целью – для него проверяют изменение расстояния от схвата до цели;
 - если сочленение отвечает за ориентацию схвата – для него проверяют угловые отклонения ортов системы координат схвата от осей базовой системы координат;
 - если сочленение отвечает за положение и ориентацию – проводятся оба вида проверок.
Если в основу решения положен набор движений, то процесс решения будет состоять из нескольких циклов, выполняемых последовательно.

• Музыка

Fading by Devyzed   / devyzed  
Creative Commons — Attribution-NoDerivs 3.0 Unported
Free Download / Stream: https://bit.ly/3PKN8ho
Music promoted by Audio Library https://bit.ly/46i51JV

Run by KV    / kvmusicprod  
Creative Commons — Attribution 3.0 Unported  — CC BY 3.0 
Free Download / Stream: https://bit.ly/46i3KC4
Music promoted by Audio Library https://bit.ly/46eSsia

Track: Alone With You — Land of Fire  [Audio Library Release]
Music provided by Audio Library Plus
Watch:    • Alone With You — Land of Fire | Free ...  
Free Download / Stream: https://alplus.io/alone-you