Оглавление:
- Шаг 1: блок-схема
- Шаг 2: ОСНОВНЫЕ КОМПОНЕНТЫ:
- Шаг 3: МОДУЛЬ V1:
- Шаг 4: МОДУЛЬ V2:
- Шаг 5: ПРОБЛЕМЫ -
- Шаг 6: МОДУЛЬ A1 и A2:
- Шаг 7. Ссылка на видео:
Видео: Самоходный робот: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Что я сделал?
● Бот, которого можно обучить ходить (двигаться вперед) по разным поверхностям. Бот изображает простое существо с 4 ногами без колен, которое изо всех сил пытается двигаться вперед. Он знает, что может ориентировать каждую ногу только тремя способами. Теперь он должен определить наилучшие возможные шаги, которые он может предпринять, чтобы продолжить движение. Поскольку его движение также зависит от трения о поверхность, мы полагаем, что для каждой другой поверхности, по которой он ходит, будет свой (не обязательно уникальный, но, скорее всего, похожий) набор шагов, чтобы максимизировать его усилия по продвижению вперед.
Для чего это используется?
● Лучше всего его использовать для визуализации моделей ходьбы AI ROBOT.
Шаг 1: блок-схема
Вот разбивка всего проекта. В целом проект состоит из двух частей электроники с механической структурой робота, а другая - это алгоритм, работающий на ПК, и код, работающий на Arduino.
Шаг 2: ОСНОВНЫЕ КОМПОНЕНТЫ:
Электроника
Arduino UNO (!)
Ультразвуковой датчик
Серводвигатели
Модуль Bluetooth
Кодирование
IDE Arduino
Тератерм
Блокнот Jupyter
Q-алгоритм обучения
Шаг 3: МОДУЛЬ V1:
Обучение с подкреплением: используя искусственную нейронную сеть (ANN), мы планировали обучить нашего робота и придумали два возможных метода.
Ограничения: каждая нога (серводвигатель) может принимать только 3 возможных положения: 60, 90 и 120 градусов. Предположения: мы считаем, что движение бота будет состоять из 4 состояний (состояние - это определенная ориентация всех четырех сервоприводов), то есть будет 4 различных состояния робота, которые мы будем рассматривать как 4 шага, соответственно, что даст нам один цикл движения в который бот переместится на некоторое расстояние вперед. Этот цикл будет повторяться до бесконечности, чтобы бот продолжал двигаться.
Но единственной проблемой было количество итераций, которые нужно было оценить - у нас есть 3 возможных ориентации для каждого двигателя и есть 4 разных двигателя, что делает его 3 ^ 4 = 81 состояние, в котором робот может существовать в одном шаге или состоянии. Мы должны сделать 4 разных шага, чтобы завершить одно сложное движение, что означает 81 ^ 4 = 43, 046, 721 возможную комбинацию, которую нужно проверить на максимальную эффективность для одного цикла движения. Предположим, что для тренировки одного состояния требуется 5 секунд, а для завершения обучения потребуется 6,8250 лет!
Шаг 4: МОДУЛЬ V2:
Алгоритм Q-обучения
Алгоритм раннего обучения с подкреплением, разработанный для обучения вещей, имеющих конечное состояние, и поиска кратчайших путей. источник:
Математика алгоритма: существует 81 возможное состояние для каждого шага, в котором может находиться бот, мы называем эти состояния числами от 1 до 81, и теперь мы хотим знать значение перехода, означающее изменение положения робота (расстояние перемещено), пока он переходит из случайного состояния s1 в какое-то другое состояние s2 (s1, s2 из этих 81 состояния). Мы можем рассматривать его как матрицу, имеющую 81 строку и 81 столбец, где элемент матрицы будет равен значению расстояния, на которое он переместился, в соответствии с его номером строки и столбца. Эти значения могут быть положительными или отрицательными в зависимости от действия робота в реальном слове. Теперь мы найдем замкнутый цикл состояний, в котором расстояние, которое он проходит, всегда положительно. Мы будем оценивать матричные значения 81x81, которые составляют 81 ^ 2 = 6561, теперь, если нам потребуется 5 секунд, чтобы сохранить это значение в матрице, тогда оно будет только чтобы создать всю матрицу, потребуется 9,1125 часов, а затем можно будет легко вычислить цикл шагов для максимальной эффективности перемещения.
Шаг 5: ПРОБЛЕМЫ -
- В некоторых случаях движение бота было очень неравномерным и влияло на значение датчика ультразвука, бот мог наклоняться и определять расстояние от удаленной стены.
- Проблема с отключением от ноутбука и перезапуском Arduino из-за того, что он тренировался с нулевого значения, очень раздражала.
- Наблюдать за поездом роботов в течение непрерывных 5 часов было очень утомительно.
Шаг 6: МОДУЛЬ A1 и A2:
- Механическая часть включает в себя плату шасси с четырьмя закрепленными на ней сервоприводами. Для изготовления ножек мы использовали палочки от мороженого.
- Наша основная задача - отслеживать удаленность бота от исходного положения.
- Наш первый подход состоял в том, чтобы использовать гироскопический датчик и использовать ускорение бота во время его движения для определения его скорости, а затем и его положения.
- Проблема - это оказалось слишком сложно реализовать! Альтернатива - мы ограничили движение бота только одним измерением и использовали ультразвуковой датчик для измерения расстояния от стены прямо впереди.
- Модуль HC05-Bluetooth использовался во время периода обучения для передачи данных о скорости перехода между двумя шагами на ПК, и там данные сохранялись в матрице.
Шаг 7. Ссылка на видео:
Детские шаги:
Тренировочный снимок:
Почти прямо:
Видео танцующего робота:
Финальное видео0:
Рекомендуемые:
Arduino - Робот для разгадывания лабиринта (MicroMouse) Робот, следующий за стеной: 6 шагов (с изображениями)
Arduino | Робот для решения лабиринта (MicroMouse) Робот, следующий за стеной: Добро пожаловать, я Исаак, и это мой первый робот «Страйкер v1.0». Этот робот был разработан для решения простого лабиринта. В соревновании у нас было два лабиринта и робот смог их идентифицировать. Любые другие изменения в лабиринте могут потребовать изменения
Робот-конфетный робот на Хэллоуин: 7 шагов (с изображениями)
Робот-конфетный робот для Хэллоуина: если вы ищете новый веселый способ взаимодействия с хеллоуинскими трюками этого года и готовы принять вызов, который несет этот проект, тогда приступайте к делу и создайте свой собственный! Этот социальный дистанцирующийся робот «увидит», когда угощение
Самоходный робот-робот для начинающих с системой предотвращения столкновений: 7 шагов
Самоходный роботизированный автомобиль для начинающих с системой предотвращения столкновений: Здравствуйте! Добро пожаловать в мой удобный для новичков учебник о том, как создать собственный роботизированный робот с автоматическим управлением с системой предотвращения столкновений и GPS-навигацией. Выше видео на YouTube, демонстрирующее робота. Это модель, демонстрирующая, как настоящая автономная
Балансировочный робот / 3-колесный робот / STEM-робот: 8 шагов
Робот-балансировщик / 3-колесный робот / STEM-робот: мы создали комбинированный балансировочный и 3-колесный робот для использования в учебных заведениях и после школьных образовательных программ. Робот основан на Arduino Uno, специальном щите (предоставлены все детали конструкции), литиево-ионном аккумуляторном блоке (все стро
TfCD - Самоходный макет: 6 шагов (с изображениями)
TfCD - Самодвижущийся макет: в этой инструкции мы продемонстрируем одну из технологий, которые часто используются в автономных транспортных средствах: ультразвуковое обнаружение препятствий. В беспилотных автомобилях эта технология используется для распознавания препятствий на коротком расстоянии (< 4м), f