Учебник Робототехника для начинающих
Этот курс — про математику, которая заставляет роботов двигаться. Мы разберём, как из углов в суставах получить положение схвата (прямая кинематика) и как решить обратную задачу, как считать скорости через якобиан, где прячутся сингулярности, как мобильный робот считает свою позицию по колёсам и планирует путь, и как ПИД-регулятор выводит привод на уставку. Рядом с каждой формулой — компактный расчёт на стандартной библиотеке Python (модуль math), который можно запустить прямо в браузере и увидеть, что теория сходится с числами. Курс рассчитан на тех, кто знает базовую тригонометрию и немного программирует; он не про конкретный фреймворк, а про инженерную суть — кинематику, динамику и управление манипуляторов и колёсных роботов.
Курс «Робототехника: кинематика и управление» состоит из 8 разделов и 23 уроков: Что такое робот: звенья, суставы, степени свободы, Преобразования: повороты и однородные матрицы, Прямая кинематика манипулятора, Обратная кинематика, Дифференциальная кинематика и якобиан, Мобильные роботы: одометрия и планирование, Управление: ПИД-регулятор и устойчивость и Динамика, приводы и захват. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.
Программа курса
1 Что такое робот: звенья, суставы, степени свободы
- Робот как кинематическая цепь
Робот как цепь звеньев и суставов: открытая и замкнутая цепь, манипулятор и мобильный робот, что изучает кинематика.
- Степени свободы и рабочая зона
Степени свободы робота, формула подвижности, рабочая зона манипулятора и почему 6 DOF хватает для произвольной позы.
- Системы координат и позы
Системы координат робота, поза как положение плюс ориентация, локальные и мировые координаты, правая тройка осей.
- Робот как кинематическая цепь
2 Преобразования: повороты и однородные матрицы
- Поворот на плоскости и матрица поворота
Матрица поворота 2x2, поворот вектора на угол, свойства ортогональных матриц, расчёт на Python.
- Однородные преобразования
Однородные матрицы преобразования: поворот и перенос в одной матрице, композиция преобразований цепи звеньев на Python.
- Углы Эйлера и ориентация в пространстве
Углы Эйлера, последовательность поворотов roll-pitch-yaw, перемножение матриц поворота в 3D на Python stdlib.
- Поворот на плоскости и матрица поворота
3 Прямая кинематика манипулятора
- Прямая кинематика двухзвенника
Прямая кинематика плоского двухзвенного манипулятора: формулы положения схвата через углы суставов, проверка на Python.
- Параметры Денавита-Хартенберга
Конвенция Денавита-Хартенберга: четыре параметра звена, матрица DH-преобразования, систематическое описание манипулятора.
- Трёхзвенный манипулятор
Прямая кинематика трёхзвенного плоского манипулятора, обобщение формул, контроль ориентации схвата на Python.
- Прямая кинематика двухзвенника
4 Обратная кинематика
- Геометрическая обратная кинематика
Геометрическое решение обратной кинематики двухзвенника через теорему косинусов, два решения локоть вверх/вниз.
- Численная обратная кинематика: метод Ньютона
Численная обратная кинематика методом Ньютона через обратный якобиан, итерации к цели, реализация на Python stdlib.
- Множественность решений и ограничения
Множественность решений обратной кинематики, выбор конфигурации, ограничения углов суставов и достижимость цели.
- Геометрическая обратная кинематика
5 Дифференциальная кинематика и якобиан
- Якобиан и скорости схвата
Якобиан манипулятора, перевод скоростей суставов в линейную скорость схвата, расчёт на Python stdlib.
- Сингулярности и манипулируемость
Сингулярности манипулятора: вырождение якобиана, det J = 0, потеря подвижности, мера манипулируемости, расчёт на Python.
- Якобиан и скорости схвата
6 Мобильные роботы: одометрия и планирование
- Одометрия дифференциального привода
Одометрия дифференциального привода: линейная и угловая скорость по колёсам, интегрирование позы робота на Python.
- Модель велосипеда
Кинематическая модель велосипеда для автомобилеподобных роботов: угол руля, радиус поворота, ограничение Аккермана.
- Планирование пути алгоритмом A*
Планирование пути мобильного робота алгоритмом A*: эвристика, очередь с приоритетом, поиск пути в сетке на Python.
- Одометрия дифференциального привода
7 Управление: ПИД-регулятор и устойчивость
- Обратная связь и ПИД-регулятор
ПИД-регулятор: пропорциональная, интегральная и дифференциальная составляющие, формула управления, симуляция на Python.
- Настройка коэффициентов и перерегулирование
Настройка ПИД: влияние Kp/Ki/Kd на перерегулирование и время выхода, сравнение реакций системы на Python.
- Устойчивость систем управления
Устойчивость систем управления: затухание и расходимость, понятие устойчивости по входу-выходу, симуляция на Python.
- Обратная связь и ПИД-регулятор
8 Динамика, приводы и захват
- Динамика: моменты в суставах
Динамика манипулятора: гравитационные моменты в суставах, статический баланс, расчёт требуемого момента приводов на Python.
- Приводы и передаточные числа
Приводы роботов: электродвигатели, редукторы и передаточное число, пересчёт момента и скорости, КПД, расчёт на Python.
- Основы захвата и манипуляции
Основы захвата: силовое и геометрическое замыкание, удержание объекта трением, условие непроскальзывания, расчёт на Python.
- Динамика: моменты в суставах