Репозиторий инструментов работы с Rosbot в ROS Melodic для управления роботом в Gazebo, сбора данных для обучения нейросетевой диманической модели робота и разработки MPC контроллера управления.
В репозитории созданы следующие инструменты:
- Запуск симуляции в Docker (см ниже)
- Управление дифференциальным роботом
- Логирование состояния робота и управления
- Визуализация моделей - кинематическая и нейросетевая
- Утилиты построения графиков после проезда
- Средства автоматической сборки данных
- Планирование оптимального управления
Рекомендуется работать через Docker.
Для работы в Gazebo сборка образа и запуск контейнера осуществляется из директории docker_gazebo: создается gazebo-control-image
образ и запускается gazebo-control
контейнер.
- Install docker https://docs.docker.com/engine/install/ubuntu/
- Docker post install steps https://docs.docker.com/engine/install/linux-postinstall/
./docker_gazebo/dependencies.sh # установка зависимостей на локальную машину
./docker_gazebo/build.sh # Build image
./docker_gazebo/run.sh # Create & Run container
docker start gazebo-control
docker attach gazebo-control
cd ~/work/nav/rosbot/docker-gazebo
./run.sh
docker attach gazebo-control
cd catkin_ws
catkin build
source devel/setup.zsh # необходимо делать только во время первого запуска контейнера
roslaunch rosbot_controller run_simulation.launch rviz:=true gui:=true
Примеры работы с определенными инструментами смотри в соответствующих разделах оглавления.
Также существуют детальные описания launch файлов.