Я рассматриваю программирование линии следования робота с использованием алгоритмов обучения подкрепления. Вопрос, над которым я размышляю, состоит в том, как я могу получить алгоритм обучения навигации по любому произвольному пути?
Перейдя по Sutton & Барто книгу для обучения с подкреплением, я решить проблему тренировки с участием ипподрома , где в машине агенте научился не идти с трассой и регулировать его скорость. Однако эта проблема с упражнениями заставила агента научиться ориентироваться на дорожке, на которой он тренировался.
Находится ли в области обучения подкреплению, чтобы робот управлял произвольными путями? Есть ли агент совершенно иметь карту гоночной трассы или пути? Какие параметры я могу использовать для своего пространства состояний?
Ответы:
Одной из ключевых мер любого алгоритма машинного обучения является его способность обобщать (то есть применять то, что он изучил, к ранее невиданным сценариям). Учащиеся с подкреплением (RL) могут хорошо обобщать, но эта способность частично является функцией формулировки пространства состояний в моем опыте. Это означает, что если вы сможете найти правильную настройку, то ученику RL не понадобится карта трассы.
Это оставляет вопрос о том, какие параметры использовать. Не зная больше о датчиках, доступных на вашем роботе, я могу только догадываться. Мое первое желание состоит в том, чтобы попытаться закодировать относительную ориентацию линии и робота (то есть является ли робот движущимся вправо, влево или просто движущимся параллельно линии). Это приведет к хорошему маленькому пространству состояний. Хотя это и не является строго необходимым, это обеспечит быструю и простую реализацию. Кроме того, если робот не будет двигаться с постоянной скоростью, это может помочь кодировать скорость робота, поскольку роботу нужно будет реагировать быстрее при движении на более высоких скоростях.
источник
Я не уверен, какой у вас робот, но я уже несколько лет занимаюсь спасением роботов. Я пришел к выводу, что если вы хотите хорошо следовать линии, PID - хороший вариант. Позвольте мне остановиться на этом. Если вы представите два световых датчика по обе стороны линии, вы бы хотели, чтобы они были одинакового значения, чтобы линия находилась посередине. Затем вы можете использовать разницу между значениями двух датчиков, чтобы изменить процент поворота робота. С помощью этой техники можно заставить робота следовать по линии с необычайной скоростью. я просто хотел, чтобы вы научились роботу учиться совершенствовать свои способности слежения за линиями. Я пришел к выводу, что начальные значения ПИД-регулятора выше, чем вы хотите, и используйте гироскопический датчик для измерения частоты колебаний робота, когда он отслеживает линию. Оттуда вы можете создать свою собственную функцию, чтобы определить, на сколько снизить ваши значения, чтобы получить стабильную систему, это не совсем искусственный интеллект, больше похожий на алгоритм автоматизации оптимизации, но эй, мне 18, и я узнал, как кодировать из интернет. Надеюсь, это поможет. Если у вас есть какие-либо вопросы, напишите мне, это не мой основной адрес электронной почты, поэтому я не буду проверять его регулярно. 69darkeagle@sigaint.org
источник