Каким образом может двигаться?
Степени свободы: Геометрия движения
Степень свободы (DOF) - это один независимый способ, которым объект может двигаться. Понимание DOF - первый шаг к пониманию того, как роботы взаимодействуют со пространством.
Позиция в 3D пространстве требует 3 DOF: x (влево/вправо), y (вперед/назад), z (вверх/вниз). Точка в пространстве имеет 3 DOF.
Ориентация добавляет еще 3: кручение (поворот вокруг передней оси), крен (поворот вокруг боковой оси), качание (поворот вокруг вертикальной оси). Рigid body в пространстве имеет 6 DOF: 3 позиции + 3 ориентации.
Робот-руки & DOF:
- 6-аксельная артиллерийская рука (например, промышленный робот) имеет 6 суставов, каждый из которых добавляет 1 DOF. С 6 DOF концевой устройство может достичь любой позиции и ориентации в рабочем пространстве: у него полная пространственная свобода.
- 4-аксельная SCARA-робот имеет 4 DOF: он может позиционировать в любом месте плоскости и поворачиваться, но не может наклонять свое инструмент. Хорошо подходит для pick-and-place на ровных поверхностях.
- 3-аксельная Cartesian/Gantry-робот имеет 3 DOF: он может позиционировать в любом месте кубообразного объема, но не может ориентировать свое инструмент. Хорошо подходит для 3D-принтеров.
Более 6 DOF: 7-аксельный робот избыточный: у него больше DOF, чем нужно для полноценного пространственного позиционирования. Дополнительные DOF позволяют достичь вокруг препятствий, как человеческая рука, достигая за что-то. Избыточность - это геометрический преимуществ.
DOF и требования к задаче
Фабрика нуждается в роботе для трех разных задач: (A) нанесение клея по 3D изогнутой траектории на панель автомобильного корпуса, (B) подборка чипов с конвейерной ленты и их размещение на плоском плате, (C) сварка сложного 3D сустава с разных углов.
Две стороны геометрии робота
Кинематика: геометрия в движении
Кинематика - это изучение движения без учета сил. В робототехнике это чистая геометрия: отношение угловых сечений и позиции концевого устройства.
Прямая кинематика (ПК): Зная все угловые сечения → вычислите позицию и ориентацию концевого устройства. Это "легкая" сторона.
Для 2-связного планарного рычага: если 1-й сустав на угол θ₁, а 2-й на угол θ₂, с длина связей L₁ и L₂, концевое устройство находится на:
- x = L₁ cos(θ₁) + L₂ cos(θ₁ + θ₂)
- y = L₁ sin(θ₁) + L₂ sin(θ₁ + θ₂)
Для 6-осевого робота, ПК использует цепочку гомогенных преобразованийных матриц: каждый сустав вносит 4x4 матрицу, кодирующую вращение и передачу. Умножив все шесть матриц, вы получите позицию концевого устройства. Это механическое, но всегда дает уникальный ответ.
Обратная кинематика (ОК): Зная желаемую позицию и ориентацию концевого устройства → вычислите углы сечения, которые достигают этого. Это "трудная" сторона.
ОК сложна потому что:
- Множественные решения: 6-осевой робот может достичь одной точки несколькими конфигурациями (локоть вверх против вниз, запястье перевернуто против не перевернуто). Может быть 8 или более действительных решений.
- Нет решений: если цель находится вне рабочей зоны, ни один набор углов не работает.
- Сингулярности: в определенных позах два оси суставов совпадают и роботу теряется один DOF: как блокировка гимбала. Близ сингулярностей, небольшие кartoши движения требуют огромных угловых скоростей.
Обратная кинематика: почему это сложно?
Рассмотрим простой 2-связный планарный рычаг с L₁ = L₂ = 1 метр. Концевое устройство должно достичь точки (1.0, 1.0).
Расстояние от основания до цели sqrt(1² + 1²) = sqrt(2) ≈ 1.414 м. Поскольку L₁ + L₂ = 2 м > 1.414 м, точка достижима.
Форма достичимости
Рабочее пространство: Геометрический объем, который может достичь конечный агент
Оболочка рабочего пространства - это множество всех точек, которые может достичь конечный агент. Ее форма зависит исключительно от геометрии робота.
Артикулярная рука (6-осевая): Рабочее пространство примерно представляет собой пустую сферу. Внешняя граница находится на максимальном дистанции (все звена вытянуты). Внутренняя граница существует из-за того, что рука не может достаточно сложиться обратно на себя, чтобы достичь точек, расположенных слишком близко к базе. Кросс-сечение выглядит как кольцо (тор)
SCARA: Рабочее пространство представляет собой цилиндр. Рука движется горизонтально (генерируя круговое сечение) и Z-ось движется вертикально. Результат - плоский цилиндрический объем: широкий радиус действия горизонтально, ограничен вертикально.
Картезианская/Гантерская: Рабочее пространство представляет собой прямоугольный ящик. Каждая ось движется вдоль одной координаты. Просто, предсказуемо, легко программировать: но громоздко, потому что робот должен быть таким же большим, как его рабочее пространство.
Сингулярности в рабочем пространстве: В определенных позах робот теряет одну степень свободы. Полностью вытянутая артикулярная рука (на внешней границе ее рабочего пространства) находится в сингулярности: она не может перемещать конечный агент дальше в радиальном направлении. Сингулярности в запястье возникают, когда два оси суставов запястья совпадают. В сингулярности матрица Якоби теряет ранг, и эффективное количество степеней свободы робота временно уменьшается.
Рабочее пространство, дexterous: Рабочее пространство, на котором конечный агент может достичь хотя бы в одной ориентации. Дexterous рабочее пространство - это где он может достичь любую произвольную ориентацию. Dexterous рабочее пространство всегда является подмножеством рабочего пространства, достижимого: и часто намного меньше.
Выбор робота по рабочему пространству
На производственном участке расположены три станции в форме буквы "L". Станция А находится слева, станция Б - прямо перед вами, станция С - справа и слегка приподнята (высота 300 мм). Робот должен брать детали с А, выполнять операцию на Б и размещать готовые детали на С: все это из одной точки установки.
Конфигурационное пространство: абстрактная геометрия робота
Конфигурационное пространство: где живет планирование пути
Конфигурационное пространство (C- пространство) - одна из самых мощных геометрических абстракций в робототехнике. Вместо того чтобы думать о физической форме робота, представьте его весь набор состояний в виде единой точки в N-мерном пространстве.
Для робота с N-мя гнездами, C- пространство имеет N измерений: одна ось на каждое гнезд. Каждое возможное положение робота - это одна точка в C- пространстве. Путь (последовательность положений) - это кривая в C- пространстве.
Препятствия в C- пространстве: Физическое препятствие в реальном мире становится запрещенной областью в C- пространстве. Если положить робота в гнездных углах (θ₁, θ₂, ..., θN) вызовет столкновение, то эта точка находится внутри препятствия C- пространства. Форма препятствий C- пространства очень сложна: простой блок в реальном мире становится странной формой в C- пространстве.
Планирование пути = поиск беспрепятственного пути: Дан начальный набор состояний (точка в C- пространстве) и конечный набор состояний (еще одна точка), найти непрерывную кривую, соединяющую их, которая не входит в запрещенную область.
Алгоритмы:
- A* (grid-based): Дискретизация C-пространства на сетку, поиск самого короткого пути. Хорошо работает в низких измерениях (2-3 СО) , но размер сетки стремительно растет с ростом измерений.
- RRT (Быстро-расследующая случайная ветвь): Строительство дерева случайных образцов в C-пространстве, рост в направлении малоисследованных районов. Работает в высокомерительных измерениях (6+ СО). Не оптимален, но быстро находит возможные пути.
- PRM (Вероятностная дорожная карта): Предварительная компьютеризация графа случайных конфигураций, свободных от столкновений, затем поиск в графе. Хорошо подходит для повторных запросов в одной и той же среде.
Геометрический взгляд: задача планирования пути для 6-СО робота - это проблема построения кривой через 6-мерное пространство. Высокомерительность делает точные решения невозможными: вероятностные методы (RRT, PRM) являются практическим подходом.
Мысли о пространстве конфигураций
2-связанный планарный рук (2 СО) работает в комнате с одним прямоугольным препятствием. Связь 1 варьируется от 0° до 360°, связь 2 варьируется от 0° до 360°. Конфигурационное пространство - это 2D квадрат: θ₁ по одной оси, θ₂ по другой.