Для решения задачи оптимального управления роботом, требуется точная динамическая модель, но получить ее аналитическими способами не всегда возможно. В данном репозитории представлен инструмент для получения динамической модели робота, нейросетевыми методами. Нейросеть предсказывает следующее состояние робота через заданную временную дельту, на основании текущего состояния и управляющего воздействия.
В репозитории созданы следующие инструменты:
- Использование docker
- Классы и утилиты для обучения модели
- Пример обучения модели дифференциального робота
- Инструкция по самостоятельному обучению модели
- Описание класса датасета и как собирать данные для обучения
- Описание класса модели робота
- Запуск обучения и анализ результатов
- Скрипт для экспорта модели из Pytorch в ONNX
- 4 ядра процессора
- 8 ГБ ОЗУ
- Видеокарта nvidia (например Nvidia GTX 1060 ti)
- Собрать докер контейнер и убедиться, что Pytorch нормально запускается на GPU
python3
>>> import torch
>>> torch.cuda.is_available()
установить пакет robot_nn при использованни pytorch-container
cd ws
pip3 install .
Если torch.cuda.is_available() возвращает False, попробуйте установить nvidia-docker по инструкции или обновить nvidia-driver.
-
Запустить обучение модели на тестовых данных, собранных для робота Rosbot в симуляторе Gazebo 9 инструкция
-
Переопределить классы датасета и модели робота и создать скрипт обучения инструкция