Робототехника — это уникальная смесь науки и техники, которая производит машины, имитирующие действия человека.
В начале 2000-х годов 90% роботов использовались на автомобильных заводах, заменяя людей для выполнения повторяющихся задач. Теперь роботы могут пылесосить дома и даже обслуживать рестораны.
Робот обычно состоит из трех типов компонентов; механический корпус; электрический скелет и, наконец, мозг, созданный с помощью кода.
Эти компоненты позволяют роботу собирать данные (часто с датчиков), принимать решения с помощью запрограммированной логики для адаптации поведения и выполнения задач.
Роботы могут иметь три типа программ; Дистанционное управление (RC), Artificial Intelligence (ИИ) или гибрид.
Программы RC требуют вмешательства человека, который может дать роботу сигнал запуска и/или остановки для выполнения кода. Программы состоят из различных типов алгоритмов, каждый из которых выполняет свою функцию.
Что такое алгоритм?
Алгоритм — это последовательность строк кода, которые робот может использовать для выполнения определенных инструкций. Он переводит идеи разработчика на язык, понятный роботам.
Алгоритмы могут быть выражены во многих видах обозначений, включая псевдокод, блок-схемы, языки программированияили управляющие таблицы.
В этой статье мы обсудим некоторые распространенные типы алгоритмов, используемых в этих программах.
Типы алгоритмов, используемых в робототехнике
1. Алгоритм A* в любое время
Алгоритм A* — это алгоритм поиска пути, который используется для поиска наиболее оптимального пути между двумя точками, т. е. с наименьшей стоимостью.
Алгоритм Anytime A* имеет гибкую временную стоимость и может возвращать кратчайший путь, даже если он прерывается, поскольку сначала генерирует неоптимальное решение, а затем оптимизирует его.
Это позволяет быстрее принимать решения, поскольку робот может опираться на предыдущие расчеты, а не начинать с нуля.
Как это работает?
Это достигается путем формирования «дерева», которое простирается от начального узла до тех пор, пока не сработают критерии завершения, что означает, что доступен менее затратный путь.
2D-сетка создается с препятствиями, а начальная и целевая ячейки указываются точно.
Алгоритм определяет «значение» узла с помощью f, которое представляет собой сумму параметров g (стоимость перехода от начального узла к рассматриваемому узлу) и h (стоимость перехода от рассматриваемого узла к целевому узлу).
Приложения
Многие игры и веб-карты используют этот алгоритм для эффективного поиска кратчайшего пути. Его также можно использовать для мобильных роботов.
Вы также можете решать сложные задачи, такие как Ньютон-Рафсона итерация применяется для нахождения квадратного корня числа.
Он также используется в задачах траектории для прогнозирования движения и столкновения объекта в пространстве.
2. Алгоритм D*
D*, Focused D* и D* Lite — алгоритмы пошагового поиска для нахождения кратчайшего пути между двумя точками.
Однако они представляют собой смесь алгоритмов A* и новых открытий, которые позволяют им добавлять на свои карты информацию о неизвестных препятствиях.
Затем они могут пересчитать маршрут на основе новой информации, как марсоход.
Как это работает?
Работа алгоритма D* аналогична работе алгоритма A*, алгоритм сначала определяет f, h и создает открытый и закрытый список.
После этого алгоритм D* определяет значение g текущего узла, используя значение g соседних узлов.
Каждый соседний узел делает предположение о текущем значении g, и самое короткое значение g адаптируется как новое значение g.
Приложения
D* и его варианты широко используются для мобильных роботов и автономный автомобиль навигации.
К таким навигационным системам относятся прототип системы, испытанный на марсоходах Opportunity и Spirit, и навигационная система, завоевавшая Городской вызов DARPA.
3. Алгоритм ФРМ
PRM, или вероятностная дорожная карта, представляет собой сетевой график возможных путей на основе свободных и занятых мест на данной карте.
Они используются в сложных системах планирования, а также для поиска недорогих путей обхода препятствий.
PRM используют случайную выборку точек на своей карте, где робот может двигаться, а затем рассчитывается кратчайший путь.
Как это работает?
PRM состоит из фазы построения и запроса.
На первом этапе составляется дорожная карта, которая аппроксимирует возможные движения в окружающей среде. Затем создается случайная конфигурация и подключается к некоторым соседям.
Начальная и целевая конфигурации подключаются к графу на этапе запроса. Затем путь получается Кратчайший путь Дейкстры запрос.
Приложения
PRM используется в локальных планировщиках, где алгоритм вычисляет прямой путь между двумя точками, а именно начальной и конечной точками.
Алгоритм также можно использовать для улучшения планирования пути и приложений обнаружения столкновений.
4. Алгоритм точки нулевого момента (ZMP)
Точка нулевого момента (техника ZMP) — это алгоритм, используемый роботами для сохранения полной инерции, противоположной силе реакции пола.
Этот алгоритм использует концепцию расчета ZMP и применяет ее для балансировки двуногих роботов. Использование этого алгоритма на гладкой поверхности пола, казалось бы, позволяет роботу ходить так, как будто момент отсутствует.
Эту технику используют такие компании-производители, как ASIMO (Honda).
Как это работает?
Движение шагающего робота планируется с помощью уравнения углового момента. Это гарантирует, что генерируемое совместное движение гарантирует динамическую постуральную стабильность робота.
Эта устойчивость количественно определяется расстоянием точки нулевого момента (рассчитанным алгоритмом) в границах заданной области устойчивости.
Приложения
Точки нулевого момента можно использовать в качестве метрики для оценки устойчивости к опрокидыванию таких роботов, как iRobot PackBot, при перемещении по пандусам и препятствиям.
5. Пропорционально-интегрально-дифференциальный (ПИД) алгоритм управления
Пропорционально-интегрально-дифференциальное управление или ПИД-регулятор создает контур обратной связи датчика для настройки параметров механических компонентов путем расчета значения ошибки.
Эти алгоритмы объединяют все три основных коэффициента, т. е. пропорцию, интеграл и производную, так что получается управляющий сигнал.
Он работает в режиме реального времени и вносит исправления там, где это необходимо. Это можно увидеть в самостоятельного вождения автомобилей.
Как это работает?
ПИД-регулятор использует три элемента управления: пропорциональность, интегральное и дифференциальное влияние на его выходной сигнал для обеспечения точного и оптимального управления.
Этот контроллер непрерывно вычисляет значение ошибки как разницу между требуемой уставкой и измеряемой переменной процесса.
Затем он применяет поправку для минимизации ошибки с течением времени путем корректировки управляющей переменной.
Приложения
Этот контроллер может управлять любым процессом, который имеет измеримый результат, известное идеальное значение для этого выхода и вход в процесс, который будет влиять на измеримый результат.
Контроллеры используются в промышленности для регулирования температуры, давления, силы, веса, положения, скорости и любых других переменных, для которых существуют измерения.
Заключение
Итак, это были одни из самых распространенных алгоритмов, используемых в робототехнике. Все эти алгоритмы довольно сложны и представляют собой смесь физики, линейной алгебры и статистики, которые используются для планирования действий и движений.
Однако по мере развития технологий алгоритмы робототехники будут становиться все более сложными. Роботы смогут выполнять больше задач и больше думать самостоятельно.
Если вам понравилась эта статья, подписаться на еженедельник HashDork обновления по электронной почте, где мы делимся последними новостями AI, ML, DL, Programming & Future Tech.
Оставьте комментарий