Робот как кинематическая цепь

С чего начинается любой расчёт движения робота — с описания его механики как цепи звеньев и суставов.

Кинематика — раздел механики, описывающий движение тел без учёта сил и масс, только через геометрию: положения, скорости и ускорения.

Когда мы смотрим на промышленный манипулятор или на колёсного робота, инженер видит не «железку», а кинематическую цепь — последовательность жёстких звеньев, соединённых подвижными суставами. Эта абстракция позволяет считать движение математически, ещё до того как робот собран.

Звенья и суставы

Звено (link) — жёсткий элемент, который не деформируется: «плечо», «предплечье», корпус. Сустав (joint) — соединение двух звеньев, дающее им относительное движение. Два главных типа:

  • Вращательный (revolute, R) — звенья поворачиваются друг относительно друга вокруг оси. Параметр — угол $\theta$.
  • Поступательный (prismatic, P) — одно звено выдвигается вдоль другого. Параметр — длина $d$.

Манипулятор с шестью вращательными суставами обозначают как 6R. Набор всех суставных параметров называют вектором обобщённых координат $q = (q_1, q_2, \ldots, q_n)$. Именно его задаёт система управления.

Открытая и замкнутая цепь

Если звенья идут «в линию» от основания к схвату — это открытая цепь (типичный манипулятор-рука). Если цепь образует петлю (как дельта-робот или нога шагающего робота на параллельном механизме) — замкнутая. Открытые цепи проще считать, поэтому начинаем с них.

Зачем это программисту

Любая команда роботу в итоге превращается в числа в суставах. Чтобы поставить схват в точку на столе, нужно перевести «координаты точки» в «углы суставов» — а для этого надо уметь описывать цепь формально. Посчитаем простую вещь: длину полностью вытянутой двухзвенной руки.

L1 = 1.0  # длина первого звена, м
L2 = 0.7  # длина второго звена, м
reach = L1 + L2
print("Максимальный вылет:", round(reach, 2), "м")
print("Минимальный (звенья сложены):", round(abs(L1 - L2), 2), "м")

Вывод:

Максимальный вылет: 1.7 м
Минимальный (звенья сложены): 0.3 м

Как работает под капотом

Робот — это, по сути, функция: на входе вектор $q$, на выходе положение и ориентация схвата. Эту функцию называют прямой кинематикой. Вся первая половина курса — про то, как её построить, а вторая — как обратить и как заставить $q$ меняться нужным образом во времени.

Частые ошибки

  • Путать звено и сустав: звено — это «кость», сустав — «шарнир» между костями.
  • Считать, что робот достанет любую точку в радиусе вылета. На самом деле есть и внутренняя «мёртвая зона», и ограничения углов.
  • Забывать, что обобщённая координата у вращательного сустава — угол (радианы), а у поступательного — длина (метры); смешивать их нельзя.

Итог

  • Робот моделируется как цепь жёстких звеньев и подвижных суставов.
  • Суставы бывают вращательные (угол) и поступательные (смещение).
  • Вектор обобщённых координат $q$ полностью задаёт позу открытой цепи.
  • Кинематика описывает движение через геометрию, без сил и масс.
Проверьте себя
1. Чем отличается звено от сустава?
AЗвено подвижно, сустав жёсткий
BЗвено — жёсткий элемент, сустав — подвижное соединение между звеньями
CЭто одно и то же
DСустав всегда длиннее звена
2. Какой параметр описывает вращательный сустав?
AДлина выдвижения d
BУгол поворота θ
CМасса звена
DСила привода