Робототехника
-
Gazebo
средний
Gazebo — открытый симулятор робототехники: виртуальный мир с физикой, сенсорами и трёхмерной графикой, в котором роботы и БПЛА «летают» и «ездят» без единого винта настоящего железа. Ошибка в коде здесь стоит перезапуска симуляции, а не разбитого аппарата — поэтому Gazebo стал стандартным полигоном открытой робототехники.
-
ROS 2
средний
ROS 2 (Robot Operating System 2) — стандартный фреймворк современной робототехники. Вопреки названию это не операционная система, а «промежуточный слой» (middleware) поверх Linux и других ОС: набор библиотек, инструментов и соглашений, позволяющий собирать программную часть робота из независимых модулей. На ROS 2 построено большинство исследовательских и всё больше промышленных роботов.
-
SLAM
сложный
SLAM (simultaneous localization and mapping, одновременная локализация и картирование) — задача, которую решает робот, оказавшийся в незнакомом месте без внешней навигации: построить карту окружения и одновременно определить своё положение на этой карте. Задача внутренне замкнута: чтобы построить карту, нужно знать, откуда смотришь; чтобы знать, где находишься, нужна карта. SLAM разрывает этот круг совместной вероятностной оценкой того и другого.
-
Визуально-инерциальная одометрия (VIO)
средний
VIO (visual inertial odometry, визуально-инерциальная одометрия) — способ оценивать положение, ориентацию и скорость аппарата в пространстве, объединяя две линии данных: камеру, которая следит за смещением картинки, и IMU, который чувствует ускорения и повороты. Результат — полноценная бортовая навигация там, где GNSS нет: в помещении, под мостом, в плотной застройке.
-
Инерциальная навигация
средний
Инерциальная навигационная система (INS, ИНС) — способ определять своё положение без каких-либо внешних ориентиров: только по акселерометрам, гироскопам и вычислителю. Система непрерывно счисляет позицию, ориентацию и скорость (dead reckoning — счисление пути), и ей не нужны ни спутники, ни радиомаяки — поэтому инерциальную навигацию не заглушить и не обмануть снаружи. У БПЛА эту роль выполняет IMU с фильтром оценки состояния в полётном контроллере.
-
Кинематика манипулятора: прямая и обратная задача
средний
Манипулятор — цепочка звеньев и суставов, но задача у него всегда одна: привести инструмент на конце цепочки в нужные положение и ориентацию. Кинематика связывает углы суставов с позой инструмента: прямая задача считает «где окажется рука при таких углах», обратная — «какие углы нужны, чтобы рука оказалась здесь». Вторая на порядок сложнее, и именно её робот решает каждый раз, когда вы просите его «подъехать к точке».
-
Компьютерное зрение
база
Компьютерное зрение (computer vision) — методы, позволяющие машине получать, анализировать и понимать цифровые изображения: превращать картинку с камеры в описание мира, по которому можно принимать решения. Для робота или БПЛА это глаза: зрение находит препятствия, распознаёт объекты и помогает аппарату понять, где он находится и как движется.
-
Обход препятствий
средний
Обход препятствий (obstacle avoidance) — способность робота или БПЛА заметить препятствие датчиками и не столкнуться с ним: затормозить, отъехать или перестроить маршрут в объезд. Это то, что отделяет аппарат, слепо летящий по точкам, от аппарата, которому можно доверить полёт рядом с деревьями, стенами и людьми.
-
Расширенный фильтр Калмана (EKF)
сложный
EKF (extended Kalman filter, расширенный фильтр Калмана) — алгоритм, который сводит показания всех сенсоров аппарата в единую наилучшую оценку его состояния: где он, с какой скоростью движется и как ориентирован. Каждый сенсор врёт по-своему — IMU дрейфует, GNSS шумит, барометр реагирует на погоду, — а EKF взвешивает их показания и выдаёт согласованную картину. Это ядро навигации и ArduPilot, и PX4.