Реализация проекта и примеры работы

Цель работы          

Создание автономного робота для движения по намеченной траектории с возможностью объезда препятствий.

Постановка задач и их формализация    

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

· Подобрать необходимый набор устройств

· Спроектировать принципиальную схему подключения устройств автономного робота

· Собрать платформу автономного робота и подключить все устройства

· Реализовать программу управления роботом

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

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

Управление всей системой будет осуществляться с помощью платы Arduino Mega2560, которая содержит микроконтроллер AtMega2560. Программирование будет осуществляться из среды Arduino IDE на языке Wiring (язык, основанный на C, дополненный специальными конструкциями для работы с GPIO и внешними интерфейсами).

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

Структурное описание проекта

В этой главе следует произвести описание самой системы: схему подключения устройств и контроллеров, моторов и прочих периферийных устройств в виде диаграммы, созданной в среде Fritzing. Само изображение следует вставлять в отчет с учетом требований ГОСТ, ссылаясь на него в тексте отчета (Рисунок 1).

Рисунок 1 Пример подключения двух контроллеров

Компоненты на структурной схеме подключения должны быть подписаны, а в тексте – описание этих компонентов и зачем они нужны для конкретного проекта, какую функцию выполняют. Например, в приведенном примере LED-светодиоды используются для формирования мигающей ленты, а по цифровому соединению S_1, S_2 – выполняется синхронизация работы двух микроконтроллеров M_1 и M_2. По цифровому соединению происходит передача дуплексного сигнала для того, чтобы контроллеры «понимали», когда их работа может быть начата, а после этого, оповещать что они закончили работу.

Если в Вашем проекте отсутствуют внешние устройства и контроллеры, то этот шаг можно пропустить.

Далее в отчете должно находиться алгоритмическое описание проекта в виде укрупненной блок-схемы. Нет необходимости строить блок-схему с точностью до арифметических операций, достаточно описать как работает программа. Пример можно найти ниже (Рисунок 2).

Рисунок 2 Пример блок-схемы алгоритма управления роботом

На примере блок-схемы указывается, как именно может выглядеть укрупненный пример алгоритма. Не важно, выполнены ли его части согласно ГОСТ и какие типы соединений используются. Главное – описать как работает программа. На приведенном примере показана общая блок-схема робота, который двигается вперед, и в случае обнаружения препятствия объезжает его. Гранулярность операторов на схеме – одна функция на языке программирования либо один блок операторов (до 100), которые выполняют одну и ту же функцию: включение мотора, получение информации с датчиков, получение команды от оператора и так далее.

Также, в заданиях на летней практике встречаются и графические приложения, которые необходимо разработать. Например, для управления автомобилем либо для вывода графиков на экран. Для таких приложений также необходимо прикладывать описание пользовательского интерфейса программы с описанием функционала каждого компонента (Рисунок 3).

Рисунок 3 Пример GUI для проекта

При этом, описание функциональности компонентов GUI следует описывать в виде таблицы с указанием номера элемента на изображении, его названием и описанием того, что он делает. В случае необходимости, можно указать дополнительные параметры. Номер элемента/группы элементов должен быть «сквозным» для того, чтобы у него/неё был уникальный номер в рамках отчета. То есть, если в Вашей работе используется несколько страниц/вкладок с GUI, то на втором изображении необходимо продолжить нумерацию, начиная с последнего номера на предыдущем изображении.

Таблица 1

Номер Название Описание
1 Уровень «крутости» Показатель «крутости» участия пользователя в соревновании. Вычисляется по формуле (1)
2 Скорость в км/ч Спидометр, данные для которого получаются с GPS
3 График и показатели «тряски» Группа элементов для вывода графика «тряски» во время участия в соревнованиях, а также основных показателей: боковой уклон и угол наклона вперед/назад
4 Окно текстовых подсказок направления движения Указывает направление движения,  оповещает о предстоящих чекпоинтах и показывает другую сопутствующую информацию.

 

В таблице следует объяснить, как именно действуют компоненты системы, их реакцию на взаимодействия с ними или какой тип информации они выводят. При необходимости, после таблицы можно в текстовом или любом удобном формате указать подробности реализации того или иного GUI-объекта, либо блок-схему реакции Вашей программы на взаимодействие с ним.

Реализация проекта и примеры работы

В этой главе следует описать процесс реализации проекта и прокомментировать его: с какими сложностями Вы столкнулись и как их разрешили. Желательно указывать в удобном для Вас виде график выполнения задач, поставленных в главе 2. Приветствуются фото процесса разработки Вашего проекта в реальной жизни, принтскрины экранов, чтобы убедиться, что оно вообще работает и собрано. Также приветствуется при защите проекта иметь записать видео демонстрации проекта с комментариями (в отчет можно включить ссылку на видео если есть). Ссылка на GitHub обязательна.

Выводы

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

Приветствуются комментарии про летнюю практику в свободной форме: что понравилось / не понравилось, что хочется улучшить. Мы будем Вам благодарны.


Дата добавления: 2019-07-15; просмотров: 215; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!