Как мне моделировать робота?

8

Ответы, которые я получил на вопрос об обучении робота, следующего за роботом, используя методы обучения с подкреплением , заставили меня задуматься о том, как тренировать робота. Я считаю, что по сути есть два пути -

  1. Тренируйте физического робота.
  2. Смоделируйте робота и смоделируйте тренировку.
  3. Я что-то пропустил?

Подход 2, безусловно, лучший подход. Тем не менее, априорные знания о движении (ответ), определенный сигнал ШИМ (стимул) будет вызывать, когда робот находится в данном состоянии, не требуется. Движение, вызванное сигналом ШИМ, может зависеть от ( 1 ) текущего напряжения аккумулятора, ( 2 ) массы робота и ( 3 ) текущей скорости (я что-то пропустил?).

Как мне моделировать такого робота? И как мне смоделировать это быстро? Если я заменю батарею или добавлю несколько плат и других периферийных устройств и поменяю массу робота, мне придется реконструировать и переобучить робота. Могу ли я сделать это, предоставив некоторые ШИМ со случайным стимулом и измерив ответ?

Добавлено: мой связанный вопрос в dsp.SE

Обновление: предлагаемое редактирование заголовка Иана, заслуживающее упоминания: « Как мне моделировать тренировку робота, чтобы, если его динамика изменилась, ему не требовалось полное переобучение? », Я думаю, что это тоже хороший вопрос, но отличный от один я спрашиваю здесь. Сейчас я в порядке с переподготовкой.

Лорд лох
источник
Здесь много замечательных вопросов. На самом деле было бы лучше разделить это на несколько вопросов.
DaemonMaker
Как вы предлагаете мне сделать это без потери фона? Я уже разделил часть своего вопроса на dsp.SE
Лорд Лох.
У вас здесь два вопроса. Во-первых, как мне моделировать робота? Во-вторых, как мне тренировать робота с учетом модели и алгоритма обучения? Мне кажется, это могут быть два отдельных вопроса.
DaemonMaker
Вы правы. Вопрос, который возникает как тренировать робота, должен был быть риторическим. Я думаю, что я постараюсь изменить это.
Лорд Ло.
В этом случае я буду ждать ваших изменений, прежде чем попытаюсь ответить на ваш вопрос.
DaemonMaker

Ответы:

4

На мой взгляд, здесь есть два основных вопроса. Во-первых, как мне моделировать робота? Это часто делается с формулировкой уравнений движения в пространстве состояний . Точные уравнения зависят от физической конструкции вашего робота. Да, для того, чтобы смоделировать их с входом ШИМ, вам нужно определить передаточную функцию из значений ШИМ, которые вы подаете на выход ваших приводов. Затем вы подключаете эту функцию для управляющего сигнала в вашей модели. Опять же, происхождение этой функции зависит от робота. Текущее напряжение батареи и масса робота, вероятно, были бы полезны, но я не знаю о скорости.

Второй вопрос, учитывая математическую модель моего робота, каков наилучший способ обучить алгоритм обучения подкреплению (RL) для управления им? Короче нет лучшего способа. Обучение непосредственно на роботе, как правило, отнимает много времени, поскольку для выполнения испытаний роботу требуется больше времени. Однако симуляции могут привести к политике, которая менее точна, потому что физика симуляции обязательно упрощается. Другой подход заключается в обучении обучающегося моделированию для получения разумного приближения, а затем передачи полученной политики роботу для дальнейшей доработки. Это конечно терпит неудачу, если модель не достаточно точна. Это также требует дополнительной разработки.

Наконец, вы спрашиваете: «Могу ли я [реконструировать и переобучить робота], предоставив несколько ШИМ со случайным стимулом и измерив ответ?» В случае RL нет никаких оснований полагать, что новая оптимальная политика похожа на предыдущую оптимальную политику, и поэтому нет особых оснований полагать, что несколько случайных элементов управления предоставят достаточную информацию для соответствующего изменения политики. Конечно, переподготовку нужно проводить только в том случае, если изменения, которые вы вносите в своего робота, влияют на формулировку модели пространства состояний и / или модели действия, которую вы используете. Например, если ваша модель действия относится к действиям высокого уровня («идти влево», «идти вправо», «идти вперед»), то для изменения динамики необходимо изменить способ реализации этих движений, но политика все равно должна выполняться. ,

DaemonMaker
источник
0

Для моделирования Denavit–Hartenberg parametersобычно используется кинематика . курс Введение в робототехнику, предоставленный Стэнфордским университетом, доступен на YouTube

Йохан Ларссон
источник