Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (11.12.2017 - 17.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Написать алгоритм обхода препятствий

Был написан алгоритм обхода препятствий:

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (4.12.2017 - 10.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Переписать узел, отвечающий за нахождение препятствий

Узел, отвечающий за нахождение препятствий был переписан из-за неудобства использования. Узел публиковал препятствия с информацией о левом и правом угле этого препятствия, что не удобно, так как мы работаем в системе координат. Теперь узел публикует препятствия с информацией о координатах левой и правой точки. Так же, благодаря новому алгоритму, избегается еще больше помех.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (27.11.2017 - 3.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Внести изменения в узел, отвечающий за нахождение препятствий
  • Доработать алгоритм просчёта безопасной зоны поворота

В узел, отвечающий за нахождение препятствий были внесены изменения. Теперь при обработке данных игнорируются некоторые помехи и находится угол до минимального расстояния от препятствия до робота. Также узел был переименован для удобства понимания.

Алгоритм просчёта безопасной зоны поворота был успешно доработан, теперь зона поворота рассчитывается корректно и робот останавливается при появлении препятствия в зоне поворота.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (20.11.2017 - 26.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Написание нового узла

Узел — исполняемый файл пакета ROS. Узлы ROS используют клиентские библиотеки ROS для связи с другими узлами. Узлы могут публиковать или подписаться на Тему(Topic).

Именно для удобства приема и публикации данных был создан новый узел.

Был создан новый узел robotModel, в который были перенесены все формулы расчёта габаритов робота, использующиеся для нахождения зоны безопасного движения (до этого все расчеты проводились в отдельном модуле).

Данные в него передаются из Лаунч-файла.

  • Публикация и приём данных

Была реализована публикация данных из нового узла в топик. А так же приём этих данных из топика в узел по обработке данных.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (13.11.2017 - 19.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Переписать Лаунч-файл
  • Перенести математическую модель в код
  • Перенести все расчеты в отдельный модуль

Планируется создать отдельный узел для параллельных расчетов и передачи части данных в модуль по определению препятствий. Также все еще нужно доработать обнаружение препятствий при повороте.

Мы успешно переписали Лаунч-файл. Теперь в нем задаются  все константы для робота, которые в будущем будут передаваться в отдельный узел. Алгоритм, изученный на прошлой недели был полностью перенесен в код и на его основе проводятся все расчеты. Этот код расположен в отдельном модуле.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (6.11.2017 - 12.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Разобраться в математической модели движения робота
  • Доработать алгоритм остановки перед препятствием

Этим летом во время практики, второкурсник разрабатывал математическую модель движения робота, которая дает возможность любым роботам с известными размерами рассчитать безопасную зону для движения вперед, назад или для разворота.

Эта модель была полностью изучена нами и на основе ее дописан алгоритм обнаружения препятствий и остановки при движения назад. Запланировано доделать алгоритм обнаружения препятствий при повороте, а также было решено перенести все расчеты в отдельный модуль, а все константы задавать в Лаунч-файле для более удобной работы.

На рисунке представлен робот в виде прямоугольника с гусеницами и лидаром:

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (30.10.2017 - 5.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Переписать Лаунч-файл для более удобной отладки
  • Доработать алгоритм регуляторов
  • Зарегистрироваться на Bitbucket и начать им пользоваться

Из-за большого количества тестирований, было решено добавить в Лаунч-файл дополнительные параметры запуска (выбор регулятора и координаты цели).

В процессе отладки мы пришли к выводу, что в алгоритме необходимо добавить квадратный корень для более точной работы, так как при низких значениях управляющей, гусеницам не хватает мощности на поворот, а при высоких поворот слишком резкий.

На графике:

  • Синий график показывает рост управляющей по старому алгоритму (u =kp * err)
  • Красный график показывает рост управляющей по новому алгоритму (u = kp * sqrt(err))

Также мы зарегистрировали команду и создали репозиторий на Bitbucket для более удобной работы.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (23.10.2017 - 29.10.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Подбор коэффициентов к регуляторам
  • Реализация поворота на ходу

В ходе работы, был произведен подбор коэффициентов. Подставлялись случайные значения, которые постепенно регулировались в соответствии с результатом. По итогу подбора коэффициентов, были найдены оптимальные значения.

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

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (16.10.2017 - 22.10.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Изучить документацию текущего алгоритма движения
  • Изучить работу регуляторов
  • Дописать П- и ПД-регуляторы
  • Написать ПИД-регулятор

В ходе изучения документации и алгоритма движения было выяснено, что робот двигается по релейному регулятору. Также в коде присутствуют недоработанные П- и ПД- регуляторы.

Была изучена работа П-, ПД- и ПИД-регуляторов.

Было выяснено, что ПИД-регулятор самый плавный. На графике:

  • Вариант 1 - ПИД-регулятор
  • Вариант 2 - ПД-регулятор
  • Вариант 3 - П-регулятор
  • «Ожидаемое» – это то, что мы хотим получить.

Были дописаны П- и ПД-регуляторы, а также был написан ПИД-регулятор. 

ПИД-регулятор вычисляет управляющую воздействия по следующей формуле:

Где 

  • u (t) — управляющая воздействия
  • P — пропорциональная составляющая
  • I — интегральная составляющая
  • D — дифференциальная составляющая
  • e (t) – текущее отклонение от цели (текущая ошибка)
  • Kp — пропорциональный коэффициент
  • Ki — интегральный коэффициент
  • Kd — дифференциальный коэффициент

Реализуется это в коде следующим способом:

P = Kp * err;
I = I_old + Ki * err;
D = Kd * (errerr_old};
u = P + I + D;

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (9.10.2017 - 15.10.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория
  • Ананьин Павел

Задачи:

  • Развернуть OS Ubuntu 16.04 на виртуальной машине (VMware Workstation)
  • Развернуть Framework ROS (Robot Operating System) на ранее установленной Ubuntu
  • Запустить TurtleSim в ROS

В результате были выполнены все поставленные задачи.

Скриншоты:

Объявления
Начинается проектный практикум для студентов УрФУ

проектный практикум 2 курса

проектный практикум 3 курса

проектный практикум 4 курса

Молодежный космический форум - 2018 (V Семихатовские чтения)О Форуме-2018 Новое

Школа наставников - 2018 “Как создать проект в новом технологическом укладе” Актуальное

Партнеры:

ИнФО УрФУ - Генеральный партнер в проведении проектной практики в июне-июле 2017 года

Роботология - Российское оборудование для программирования и конструирования роботов

Уральский клуб нового образования - общественная организация, которая разрабатывает и реализует социально-образовательные проекты

Архив событий:

Проектная практика для студентов Института фундаментального образования УрФУСобытие

Молодежный космический форум - 2017 (Четвертые Семихатовские чтения)Конкурс

Выбор темы работы для участия в IV Семихатовских чтенияхО Форуме-2017

Подписка на новости
Контакты

Адрес: г. Екатеринбург, ул. Мамина-Сибиряка 145, к. 1119 (на карте)

Тел.: +7 (343) 355-93-88

info@cosmoport.club