Проектирование архитектуры и функционала робототехнического комплекса
Подходы к разработке роботов и программированию. Архитектура робототехнического комплекса, проектирование подсистем. Система управления движением. датчиками, исполнительными механизмами. Настройка функционала рабочей области и базы данных проекта.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 04.07.2018 |
Размер файла | 4,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ВВЕДЕНИЕ
Системы управления - это строго определенный набор средств сбора информации об объекте и средств взаимодействия с ним, предназначенный для реализации определенных задач.
Такие системы управления используются в различных сферах деятельности человека. Одна из таких сфер является робототехника.
Диссертационное исследование посвящено изучению и разработке современной системы управления робототехническим комплексам.
Данный проект - система управления робототехническим комплексом. Цель проекта создать продукт для управления различными робототехническими элементами. Пользователи данного продукта в дальнейшем смогут совершенствовать его и развивать, параллельно обучаясь. робот программирование датчик
Актуальность темы диссертационного исследования обусловлена важностью развития робототехнической сферы и систем управления.
На сегодняшний день робототехника начала активно внедряться во все сферы деятельности человека. Данную тенденцию можно объяснить стремительным скачком в развитии компьютерной и микропроцессорной техники, а также благодаря развитию рыночной модели экономических отношений в мире. Таким образом, можно смело утверждать то, что роботы входят в нашу повседневную жизнь, как в качестве бытовой техники, так и в качестве сложных производственных комплексов.
Существуют аналоги программного обеспечения- это Bubot и Cambot, но каждое из них очень сильно ограничено функциональностью и решают малое количество задач
Для дальнейшего развития науки робототехники необходимо упрощение процессов создания и управления робототехническими комплексами. Именно поэтому, разрабатываемый проект должен быть создан на недорогом и качественном оборудовании.
Цель диссертационного исследования - разработать систему управления. Данная система должна производить мониторинг параметров с датчиков и выводить показатели на экран пользователя. Так же пользователь должен управлять датчиками и подключёнными модулями. Пользователь должен иметь возможность управлять системой с помощью любого устройства, которое обладает функциями web просмотра.
Поставленная цель предполагает решение следующих задач:
1. Управление движением робота
2. Мониторинг показателей окружающей среды (например, температура и влажность)
3. Распознавание объектов и взаимодействие с ними
4. Выполнение сценариев автономной работы
5. Хранение данных за определенный промежуток времени
6. Выполнение сценариев автономной работы робота
Методы исследования
Методология ООП использует метод объектной декомпозиции, согласно которому структура системы (статическая составляющая) описывается в терминах объектов и связей между ними, а поведение системы (динамическая составляющая) - в терминах обмена сообщениями между объектами. Сообщения могут быть как реакцией на события, вызываемые как внешними факторами, так и порождаемые самими объектами.
Метод объектно-ориентированной декомпозиции - заключается в выделении объектов и связей между ними. Метод поддерживается концепциями инкапсуляции, наследования и полиморфизма.
Метод абстрактных типов данных - метод, лежащий в основе инкапсуляции. Поддерживается концепцией абстрактных типов данных.
Метод пересылки сообщений - заключается в описании поведения системы в терминах обмена сообщениями между объектами. Поддерживается концепцией сообщения.
Объектом диссертационного исследования является система управления робототехническим комплексом, разработанная автором.
Предметом исследования робот, с помощью которого будет функционировать данная система управления и сама система управления (программное обеспечение)
Научная новизна работы обусловлена обращением автора к изучению робототехнических технологий и применение их на практике. Применение таких технологий дают возможность развития робототехники, как в быту, так и в производстве. Создание робототехнической системы позволит упростить и обобщить применение различных робототехнических средств за счет созданного программного обеспечения, который будет в открытом доступе.
1) Была разработана структура робототехнического комплекса, которая не требует больших затрат. Разработана система управления робототехническим комплексом под названием «Orwell» Данный комплекс включает в себя программное обеспечение и самого робота.
В проекте применяются современные технологии, включающие в себя архитектуру робототехнического комплекса, базы данных, аппаратную и программную часть. Использовались современные подходы для визуализации интерфейса через веб технологии.
2) Программное обеспечение реализовано исходя из требований и критериев, заявленных в диссертационном исследовании. Данный проект отличим от аналога более широким спектром выполняемых задач и расширяемым функционалом. Система способна производить мониторинг окружающей среды, двигаться за счет подключенных моторов, визуально давать информацию. Система имеет автономный и ручной источник управления, с помощью которых может выполнять некоторые задачи. Например, за счет заданных правил давать оповещение о температуре и влажности через RGB светодиод.
Практическая значимость диссертации обусловлена тем, что результаты -- исследования - это готовый программный продукт, который можно позволяет:
1) Производить мониторинг окружающей среды;
2) Вести статистику собранных данных;
3) Управлять подключенными модулями к роботу через web-интерфейс;
4) Управлять роботом с помощью базы правил в автономном режиме.
Продукт будет распространяться по бесплатной лицензии для привлечения и развития робототехнического сообщества.
Результаты работы будет возможно использовать при соответствующем оборудовании каждому, как как проект будет в открытом доступе. В дальнейшем пользователи смогут дорабатывать данную систему и на ее базе строить собственные проекты.
Апробация полученных результатов
Материалы диссертационного исследования прошли апробацию и представлены в виде докладов на следующих конференциях:
-«Роль инноваций в трансформации современной науки -2016» (доклад на тему «Перспективы обучения робототехнике с помощью контроллеров arduino»)
-«Роль инноваций в трансформации современной науки -2016» (доклад на тему «Использование датчиков и контроллера arduino для мониторинга микроклимата офисного помещения»)
-«Роль инноваций в трансформации современной науки -2016» (доклад на тему «Управление объектами автоматики и робототехники с помощью нейро - гарнитуры»)
-«Влияние науки на инновационное развитие -2017» (доклад на тему «Проектирование анализатора атмосферы на основе датчиков и контроллеров arduino»)
-«Современные технологии в мировом научном пространстве -2017» (доклад на тему «Разработка систем управления для робототехнических комплексов»)
-«Научные исследования и разработки в эпоху глобализации -2017» (доклад на тему «Программирование робототехнических систем с использованием нечеткой логики»)
Диссертационное исследование имеет следующую структуру: работа состоит из введения, тр?х глав, заключения, списка терминов, списка использованной литературы, списка источников и двух приложений. Текст диссертации составляет __ страниц. Список литературы содержит ___ источника.
1. АНАЛИТИЧЕСКИЙ ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ
1.1 Аналитический обзор существующих подходов
Предметной областью диссертационного исследования является робототехника. Данная наука занимается разработкой автоматизированных технических систем и являющейся важнейшей основой современного информационного пространства человека.
Робототехника опирается на такие дисциплины, как электроника, механика, кибернетика, телемеханика, мехатроника, информатика, а также радиотехника и электротехника. Выделяют строительную, промышленную, бытовую, медицинскую, авиационную и экстремальную (военную, космическую, подводную) робототехнику.
1.1. Аналитический обзор методов управления роботами.
Роботов можно классифицировать по сфере применения.
По данному признаку можно выделить промышленных роботов, исследовательских роботов, роботов, используемых в обучении, специальных роботов.
Важнейшие классы роботов широкого назначения -- манипуляционные и мобильные роботы.
Манипуляционный робот -- автоматическая машина (стационарная или передвижная), состоящая из исполнительного устройства в виде манипулятора, имеющего несколько степеней подвижности, и устройства программного управления, которая служит для выполнения в производственном процессе двигательных и управляющих функций. Такие роботы производятся в напольном, подвесном и портальном исполнениях. Получили наибольшее распространение в машиностроительных и приборостроительных отраслях.
Мобильный робот -- автоматическая машина, в которой имеется движущееся шасси с автоматически управляемыми приводами. Такие роботы могут быть колёсными, шагающими и гусеничными.
Рисунок 1.1 Классификация систем управления.
Системы управления возможно рассматривать как два больших класса, которые в которых присутствует ряд категорий, как показано на рисунке 1.1.
Человеко-машинные, к которым относятся системы дистанционного и интерактивного управления, имеющие оператора непосредственно в контуре управления;
Человеко-машинные системы управления можно разделить на категории:
А) Системы дистанционного управления
· Командного управления, в которых оператор включает по отдельности приводы каждого звена робота дистанционно путем нажатия на соответствующие кнопки (тумблеры) пульта управления;
· Копирующего управления, в которых оператор дистанционно управляет роботом с помощью задающего устройства, движение каждого звена задающего устройства передается на соответствующее звено исполнительного устройства по принципу следящей системы;
· Полуавтоматического управления, в которых оператор, нажимая на многостепенную управляющую рукоятку, задает желаемое движение захватного устройства, а специализированный вычислитель (ЭВМ) по электрическим сигналам от датчиков рукоятки вычисляет и формирует соответствующие сигналы управления для приводов всех степеней подвижности;
Б) Системы интерактивного управления.
· Автоматизированные интерактивные системы, в которых только часть операций выполняется автоматически, а остальные предоставлены оператору;
· Интерактивные системы супервизорного управления, которых оператор, наблюдающий по экрану (дисплею) обстановку в месте действия робота, подает отдельные команды - целеуказания, по сигналам от них включаются те или иные программы автоматического действия робота;
· Интерактивные системы диалогового управления, отличающиеся от интерактивных систем супервизорного управления тем, что робот не только выполняет команды оператора, но и активно помогает ему в распознавании обстановки и принятии решений.
Автоматические, когда оператор остается вне контура управления и взаимодействует с роботом только на этапе обучения.
А) Системы программного управления. Основой является синтез движения робота по заранее рассчитанной преимущественно жесткой программе. Программа сохраняется в памяти вычислительного устройства и может быть изменена путем перепрограммирования в новом цикле обучения робота. В системах программного управления не предусматривается отработка информации, устраняющая неопределенность характеристик внешней среды, хотя информация о внутреннем фазовом состоянии робота используется в законе управления. В свою очередь, системы программного управления делятся на цикловые, позиционные и контурные;
Б) Системы адаптивного управления, движение робота в которых организуется по гибко изменяемым или корректируемым программам. При этом перестройка программ происходит в ответ на изменения условий внешней среды. Для получения внешней информации адаптивные системы управления обеспечиваются разнообразными средствами очувствления;
В)Системы интеллектуального управления, в которых программа движения робота вообще не задается, а синтезируется системой управления на основе описания внешней среды, совокупности правил возможного поведения в среде и имеющейся целевой установки задачи.
Главная особенность систем автоматического управления роботами -- отсутствие непосредственного участия человека в процессе управления. Функция оператора состоит лишь в обучении, запуске и последующем периодическом наблюдении за работой робота.
Методы взаимодействия оператора с робототехнической системой
Методы взаимодействия оператора с системой определяются, какие устройства для взаимодействия будет использовать сам оператор.
· Задающие устройства, которыми являются все устройства которые могут дать входную информацию системе. Таким устройством может быть пк или смартфон.
· Звуковое взаимодействие, которое реализуется за счет звуковых сигналов или речевых команд.
· Визуальное взаимодействие. К данному методу могут относиться жесты, визуальные сигналы и отображение действий системы через графический интерфейс.
Так же существуют другие методы взаимодействия такие как, церебральные интерфейсы и биометрические показатели. Данные методы в диссертационном исследовании не рассматриваются, так как робототехнический комплекс не рассчитан на данные взаимодействия.
В диссертационном исследовании робототехнический комплекс должен иметь визуальное взаимодействие с оператором и должно использоваться устройство ввода информации.
1.2 Подходы к разработке роботов и программированию
Создание и программирование роботов довольно сложная задача. Существуют несколько походов создания:
Интеграционный подход
А) Покупка запчастей. Решают, какие компоненты понадобятся, получают их и приступают к сборке.
Б) Интеграция. Объединение компонентов в единую сообщающуюся систему ради какой-то цели. Именно этот этап отнимает бульшую часть времени.
В) Строительство робота. Сборка и механическое соединение всех частей робота. Это может происходить параллельно следующему шагу.
Г) Программирование робота. На этом этапе необходимо заставить робота делать то, что нужно.
Д) Тестирование и адаптация. Роботы, как правило, программируются на определенные сценарии. Однако тестирование в реальных условиях имеет решающее значение. Как правило, тесты показывают необходимость доработки и адаптирования робота, что возвращает робототехников ко второму этапу, интеграции.
Е) Применение.
Понятно, что создание робота -- это технически сложная задача. Инженеры часто сталкиваются с неразрешимыми проблемами на этапе интегрирования деталей. Кроме того, каждая модификация и адаптация оборудования при программировании или строительстве робота требует дальнейшей интеграции.
Описанный интеграционный метод построения роботов дает результаты, которые устаревают в течение короткого периода времени. А модули роботов в большинстве случаев не используются повторно, так как повторное использование слишком дорого и трудоемко.
Модульный подход
Существующий интеграционный метод в робототехнике создает большое количество аппаратных устройств. Устройства обычно состоят из несовместимых электронных компонентов с различными программными интерфейсами.
А теперь представьте себе создание роботов посредством объединения совместимых модулей. Представьте, что привод, датчики, модули связи, устройства пользовательского интерфейса, все это легко собирается вместе и работает минуя сложный этап интеграции. Процесс создания роботов с такими модулями будет проще, а усилия и время, потраченные на разработку, будут значительно сокращены. Модульные компоненты могут быть повторно использованы.
Именно модульный подход будет использоваться в диссертационном исследовании для разработки проекта
Согласно ГОСТ P 60.0.7.1-2016 «Роботы и робототехнические устройства» подходы к программированию классифицируют на:
1) по парадигме программирования:
a) императивное программирование. Описывает действия над данными, выражаемыми в терминах последовательностью команд;
б) декларативное программирование. Описывает процессы вычислений в виде выражения операций;
2) по наличию встроенных средств параллелизации:
a) с параллельными процессами. Процессы обработки данных, у которых интервалы времени выполнения задач перекрываются за счет использования различных ресурсов системы;
б) без параллельных процессов;
3) по наличию поддержки технологии объектно-ориентированного программирования (ООП):
a) с поддержкой ООП. Метод построения программ как совакупностей объектов и классов. Они могут вызывать друг друга для выбора и выполнения задач;
б) без поддержки ООП.
В диссертационном исследовании при модульном подходе Принято решение разрабатывать проект на языке высокого уровня с ООП. Каждый скрипт(модуль), отвечает за определенный датчик. Это позволит дорабатывать модули независимо друг от друга.
1.3 Аналитический обзор аналогичного программного обеспечения
Существует множество систем управления которые создаются как коммерческими организациями, так и энтузиастами. Каждая система нацелена на выполнения для определенных круг задач и задевает определенную сферу деятельности человека. Например умный дом(автоматизация и мониторинг показателей помещений), интернет-вещей(автоматизация) и т.д.
Рассмотрим некоторые проекты, которые созданы с целью автоматизации.
1. Cambot -- робот-фотограф на Raspberry Pi. Интерфейс проекта представлен на рисунке 1.2.
Рисунок 1.2 Cambot
Задачи для робота:
· Управление по WiFi
· Движение вперед-назад, повороты вправо-влево
· Съемка видео в процессе движения и передача его на управляющий компьютер
· Съемка фото с большим разрешением по команде с управляющего компьютера и передача этого снимка в web- интерфейс.
Управлять можно и гораздо менее экзотическими устройствами - шторами, светом, нагревателями… Т.е. из Raspberry Pi можно, например, построить контроллер умного дома с web интерфейсом.
Для построения интерфейса использован webiopi, т.к. он позволяет запустить проект очень быстро с нулевым знанием php, apache и т.п. программ.
Что нужно знать для повторения проекта:
· python (Уровень знания зависит от сложности планируемого алгоритма)
· HTML
· javascript, jquery
· ну и нужно уметь паять, что бы собрать плату Raspirobot.
Данный проект возможно использовать для задач, которые в нем заявлены, но не более, поэтому он не подходит.
2. Bubot -- очень легкий фреймворк на Python 3 для программирования роботов и домашней автоматизации.
Концептуально фреймворк представляет собой набор поддерживаемых пользователем модулей реализующих различные функции робототехники. При работе Bubot строит сеть из процессов, которые могут асинхронно получать и отправлять сообщения между собой. Так же вы можете построить сеть из роботов, которые будут общаться между собой. Схема работы проекта представлена на рисунке 1.3
Рисунок 1.3 Схема работы Bubot
Каждый Bubot имеет встроенный веб-сервер веб-сервер Tornado, который позволяет контролировать состояние, управлять роботом, на ходу менять параметры (калибровать) робота, а также закладывается возможность обмена данными между роботами.
Bubot не является системой реального времени, хотя Bubot возможно интегрировать с кодом реального времени.
Данная система является тяжелой и не стабильной. Разработчики слабо поддерживают продукт, поэтому она не подходит для решения задач проекта.
В ходе анализа программных продуктов было принято решение создания собственного программного обеспечения с перспективой расширения продукта сообществом.
1.4 Анализ требований к проекту
Исходя из сделанных выводов анализа аналогичных проектов сформированы требования к проекту диссертационного исследования.
1. Функциональные требования
1.1. Вывод графического интерфейса приложения на экран
1.1.1 Вывод графиков температуры и влажности
1.1.2 Вывод кнопок управления движением
1.1.3 Загрузка сценария поведения
1.1.4 Вывод изображения камеры
1.1.5 Вывод настройки светодиода
1.2. Просмотр информации с ПК
1.2.1. Просмотр показателей температуры на графике
1.2.2. Просмотр показателей влажности на графике
1.3. Просмотр информации со смартфона
1.3.1. Просмотр показателей температуры в адаптиве
1.3.2. Просмотр показателей влажности в адаптиве
1.4. Движение робота
1.4.1 Движение вперед
1.4.2 Движение назад
1.4.3 Движение влево
1.4.4 Движение вправо
1.4.5 Остановка
1.5. Сценарии поведения
1.5.1. При приближении к объекту на 10 см, светодиод синий
1.5.2. При движении до объекта робот едет со скоростью n, при приближении тормозит и разворачивается.
1.6. Мониторинг показателей окружающей среды
1.6.1. Мониторинг влажности и запись в базу данных
1.6.2. Мониторинг температуры и запись в базу данных
2. Требования к надежности
2.1. Корректная работа на устройствах с поддержкой Web технологий
2.2. Работа на протяжении всего сеанса пользователя
2.3. Проверка команд в базе правил
3. Условия эксплуатации
3.1. Требования к датчикам
3.2. Требования к параметрам технических средств
3.3. Требования к информационной и программной совместимости
3.4. Требования к маркировке и упаковке
4. Требования технической поддержки
4.1. Консультация пользователей
4.2. Техническая поддержка продукта
5. Аппаратные требования
5.1. Датчик влажности и температуры
5.1.1. Питание от 3В
5.1.2. Диапазон измерений от 0 градусов до 50.
5.1.3. диапазон измерений от 20%
5.2. Светодиодное кольцо
5.2.1. Питание от 5В
5.2.2. Поддержка RGB для изменения цветовой палитры.
5.3. Датчик расстояния
5.3.1. Питание от 5В
5.3.2. Измеряемое расстояние от 2 см до 400см.
5.4. Моторы.
5.4.1. Питание от 5В.
5.4.2. Частота вращения от 2000 об/мин
5.5. Требования к плате
5.1. Возможность подключения датчиков
5.2. Многозадачность
5.3. Возможность программирования модулей.
Постановка задачи
Разработать систему управления. Данная система должна производить мониторинг параметров с датчиков и выводить показатели на экран пользователя. Также пользователь должен управлять датчиками и подключёнными модулями. Пользователь должен иметь возможность управлять системой с помощью любого устройства, которое обладает функциями web просмотра.
Анализ методов и средств решения поставленной задачи
Для робототехнического комплекса следует определиться контроллером, на котором будет держаться весь продукт.
Arduino Mega, которая показана на рисунке 1.4, построена на микроконтроллере ATmega2560. Плата имеет 54 цифровых входа/выходов (14 из которых могут использоваться как выходы ШИМ), 16 аналоговых входов,4 последовательных порта UART, кварцевый генератор 16 МГц, USB коннектор, разъем питания, разъем ICSP и кнопка перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB или подать питание при помощи адаптера AC/DC, или аккумуляторной батареей. Arduino Mega 2560 совместима со всеми платами расширения, разработанными для платформUno или Duemilanove.
Рисунок 1.4 Arduino Mega 2560
Raspberry Pi -- одноплатный компьютер размером с банковскую карту, изначально разработанный как бюджетная система для обучения информатике, впоследствии получивший намного более широкое применение и популярность, чем ожидали его авторы. Разрабатывается Raspberry Pi Foundation. Всего за три года было продано более 4,5 миллионов устройств Raspberry Pi. Используются для сборки кластерного суперкомпьютера.
Программное обеспечение:
Raspberry Pi который показан на рисунке 1.5 работает в основном на операционных системах, основанных на Linux ядре. Также возможна установка Windows 10 IOT Более того, можно приобрести Raspberry с лицензионной Windows 10 IOT за 50 долларов. ARM11 основан на 6 версии ARM, который поддерживает не все версии Linux. Для установки операционных систем существует инструмент NOOBS.
В июне 2016 года на традиционной для Raspberry ОС - Raspbian - запущен реляционный сервер баз данных СУБД ЛИНТЕР
Рисунок 1.5. Raspberry Pi 3 model B
В связи с поставленными задачами был сделан выбор в пользу Raspberry Pi3, так как робототехнический комплекс планируется создать на единой платформе, в которой должна быть включена база данных . Так как Raspberry pi 3 является микрокомпьютером, поддерживает язык Python 3 она подходила под поставленные задачи.
Были исследованы следующие Фреймворки:
Flask -- фреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблонизатор Jinja2. Относится к категории так называемых микрофреймворков -- минималистичных каркасов веб-приложений, сознательно предоставляющих лишь самые базовые возможности.
Поддерживается установка посредством пакетного менеджера PyPI, требует Python 2.6 и выше.
Django -- свободный фреймворк для веб-приложений на языке Python, использующий шаблон проектирования MVC. Проект поддерживается организацией Django Software Foundation.
Сайт на Django строится из одного или нескольких приложений, которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из существенных архитектурных отличий этого фреймворка от некоторых других (например, Ruby on Rails). Один из основных принципов фреймворка -- DRY
Также, в отличие от других фреймворков, обработчики URL в Django конфигурируются явно при помощи регулярных выражений, а не выводятся автоматически из структуры моделей контроллеров.
Python-- высокоуровневый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода. Синтаксис ядра Python минималистичен. В то же время стандартная библиотека включает большой объём полезных функций.
Python поддерживает несколько парадигм программирования, в том числе структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное. Основные архитектурные черты -- динамическая типизация, автоматическое управление памятью, полная интроспекция, механизм обработки исключений, поддержка многопоточных вычислений и удобные высокоуровневые структуры данных. Код в Python организовывается в функции и классы, которые могут объединяться в модули (они в свою очередь могут быть объединены в пакеты).
MySQL -- свободная реляционная система управления базами данных. Разработку и поддержку MySQL осуществляет корпорация Oracle, получившая права на торговую марку вместе с поглощённой Sun Microsystems, которая ранее приобрела шведскую компанию MySQL AB. Продукт распространяется как под GNU General Public License, так и под собственной коммерческой лицензией. Помимо этого, разработчики создают функциональность по заказу лицензионных пользователей. Именно благодаря такому заказу почти в самых ранних версиях появился механизм репликации.
Гибкость СУБД MySQL обеспечивается поддержкой большого количества типов таблиц: пользователи могут выбрать как таблицы типа MyISAM, поддерживающие полнотекстовый поиск, так и таблицы InnoDB, поддерживающие транзакции на уровне отдельных записей. Более того, СУБД MySQL поставляется со специальным типом таблиц EXAMPLE, демонстрирующим принципы создания новых типов таблиц. Благодаря открытой архитектуре и GPL-лицензированию, в СУБД MySQL постоянно появляются новые типы таблиц.
SQLite -- это встраиваемая кроссплатформенная БД, которая поддерживает достаточно полный набор команд SQL и доступна в исходных кодах. Исходные коды SQLite находятся в public domain, то есть вообще никаких ограничений на использование.
Для реализации системы управления было принято решение связать Raspberri pi с ОС Linux и flask. Flask предоставляет простоту, гибкость и аккуратность в работе, позволяя пользователю самому выбирать, как реализовать те или иные вещи. Это позволит держать проект прямо на плате и управление будет происходить за счет данного фреймворка. База данных, которой является SQLite будет храниться вместе с проектом одним файлом. Все скрипты будут написаны на Python так как фреймворк поддерживает его. Данная система будет реализована модульно (каждый функционал будет реализован независимо друг от друга). Пользователь может дорабатывать данный проект и поддерживать его самостоятельно.
Подведя итоги по данной главе выделено следующее:
1. Проведен обзор существующих подходов управления роботами и выделены методы взаимодействия с робототехнической системой. Принято решение, что робототехнический комплекс должен иметь визуальное взаимодействия с оператором, должно иметь устройства для ввода информации
2. Проект будет разрабатываться на языке высокого уровня с использованием ООП для обеспечения модульности.
3. Проведено исследование аналогичного программного обеспечения, в ходе которого было принято решение в создании собственного программного обеспечения. Были сформированы требования, постановка задачи, произведен анализ средств решения поставленной задачи.
4. ПРОЕКТИРОВАНИЕ АРХИТЕКТУРЫ И ФУНКЦИОНАЛА РОБОТОТЕХНИЧЕСКОГО КОМПЛЕКСА
4.1 Архитектура робототехнического комплекса
Согласно требованиям к проекту, нужно продумать архитектуру межмодульных интерфейсов. Перед этим требуется знать, что именно робототехнический комплекс будет делать. Отталкиваясь от требований и поставленной задачи можно схематично представить работу данного комплекса. На рисунке 2.1 показана обобщенная архитектура проекта.
Рисунок 2.1 Обобщенная архитектура робототехнического комплекса
Проект возможно поделить на подсистемы, которые будут отвечать за определенные функции. Это позволит разбить проект на модули, которые будут работать совместно друг с другом.
Подсистемами проектного робота являются:
А) Система управления поведением. Отвечает за выполнение действий робота, которые заявлены в базе правил.
Б) Система управления движением. Отвечает за управления моторами.
В) Система управления датчиками. Отвечает за снятие показаний и управление датчиками.
Г) Система управления исполнительными механизмами. Отвечает за связь между аппаратной частью робототехнического комплекса и программным обеспечением.
4.2 Проектирование подсистем робототехнического комплекса.
Система управления движением
Рисунок 2.2 Система управления движением моторами.
Для управления необходимо реализовать подсистему управления движением. Данная подсистема должна управляться через:
А) Интерфейс. Оператор задает направление движения. С помощью реализованной программы управления движением моторы должны получать сигнал и приходить в движение с заданными параметрами.
Б) Систему управления поведением. Моторы должны приходить в движение за счет правил в автономном режиме.
Как показано на рисунке 2.2, система управления моторами должна отдавать и принимать данные на интерфейс и в систему управления поведением.
Рисунок 2.3. Система управления датчиками
Система управления датчиками
Для управления датчиками необходимо реализовать подсистему управления датчиками. Данная подсистема должна управляться через:
А) Интерфейс. Оператор задает направление движения. С помощью реализованной программы управления датчиками будет происходить мониторинг температуры и влажности, а так же возможность настройки цветовой палитры RGB светодиода.
Б) Систему управления поведением. В автономном режиме при различных показателях направлять команду на изменение цветовой палитры RGB светодиода.
Система постоянно должна принимать сигналы с датчиков, чтобы мониторинг был на постоянной основе. Запись показаний в базу данных и их отображение на интерфейсе пользователя должно происходить параллельно.
Система управления исполнительными механизмами
Для связи аппаратной части робота и программным обеспечением требуется реализация системы управления исполнительными механизмами. Данная система будет осуществлять связь между элементами робота и программной частью в виде скриптов, в которой описаны подключения. Система дает команды на запуск элемента робота и передает параметры в системы управления данным датчиком. Это позволяет изолировать различные элементы робота друг от друга и дает возможность избежать конфликтных ситуаций в работе.
Рисунок 2.4 Система управления исполнительными механизмами
4.3 Интерфейс робототехнического комплекса
Для удобного управления робототехническим комплексом было принято решение разработать интуитивно понятный веб-интерфейс.
Интерфейс должен быть адаптивным и открываться на любом мобильном устройстве (помимо версии для персональных компьютеров).
На скриншотах ниже изображен основной интерфейс с примером адаптивного дизайна для устройств с разным размером экрана. Разработка веб интерфейса описана подробнее в работе «Разработка веб-интерфейса по управлению робототехническим комплексом»
На рисунке 2.5 изображен интерфейс для устройств с шириной экрана больше 800 пикселей.
Рисунок 2.5. Интерфейс для больших экранов.
На рисунке 2.6 изображен интерфейс для устройств с шириной экрана больше 600 пикселей.
На рисунке 2.7 изображен интерфейс для устройств с шириной экрана ниже 600 пикселей.
Рисунок 2.6. Интерфейс для средних экранов.
Рисунок 2.8. Интерфейс для маленьких экранов.
Проектирование базы данных и системы управления поведением
База данных играет огромную роль в системе, так как все данные хранятся непосредственно в ней. БД спроектирована таким образом, чтобы оптимально сохранять структуры данных получаемых в процессе работы с робототехнической системой и максимально быстро давать информацию по запросам клиента
Всю структуру БД условно можно разделить на три части которые и будут таблицами как показано на рисунке 2.9:
1. Правила (Rules) - хранятся правила и их значения, которые относятся к определенному типу.
Типы данных в таблице:
2. Температура (Temperature) - хранятся данные показателей температуры. Для ведения статистики так же кроме значений самого датчика иметься временные рамки и диапазон, чтобы можно было выводить данные с датчика за определенные временные промежутки.
3. Влажность (Himidity) - хранятся данные показателей влажности. Для ведения статистики так же кроме значений самого датчика иметься временные рамки и диапазон, чтобы можно было выводить данные с датчика за определенные временные промежутки.
Рисунок 2.9 Физическая модель базы данных
Типы данных в таблице:
А) datetime = DateTimeField(). Тип дата.
Б) range_type = CharField(). Строка
В) value = FloatField(default= 0). FloatField использует тип float в Python. Число с плавающей точкой представленное объектом float.
Г) type = CharField(). Строка.
Датчики передают определенные показатели в БД в таблицу статистики. С помощью внутреннего функционала Flask сравниваем статистику с базой правил. Если есть совпадения значений, то выполняем действие, которое будет заявлено так же в базе правил.
Проектирование системы управления поведением
База правил, как показано на рисунке 2.10 будет находиться в базе данных. Каждое правило имеет свой тип и выполняется при определенных условиях. Робототехнический комплекс производит сбор статистик и проверку на существующее правило в реальном времени.
Рисунок 2.10 Система управления поведением.
С помощью базы правил возможно реализовать поведение робота, согласно определённому правилу. В таблице 2.1 описаны правила поведения для робототехнического комплекса.
Таблица 2.1 Правила поведения робота
Правило |
Действие |
|
Если Температура с показателем 28 |
Моторы вперед с параметром 100 |
|
Если температура с показателем 15 |
Моторы назад с параметром 70 |
|
Если влажность с показателем 15 |
Светодиод желтый |
|
Если влажность 25 |
Светодиод голубой |
|
Если расстояние до объекта 10 см |
Светодиод синий |
|
Если расстояние меньше или равно 9 см |
Моторы с параметром 0, левый мотор с параметром вперед 50, правый с параметром назад 50 |
Обобщенный алгоритм работы опроса датчиков
На рисунке 2.11 показан алгоритм работы программы опроса датчика. Датчик должен опрашиваться постоянно и если значение совпадает с параметром из базы правил, то необходимо выполнить действие, которое описано в базе правил.
Рисунок 2.11 Блок-схема алгоритма опроса датчиков.
Настройка функционала рабочей области.
Так как выбор пал на Raspberri pi с ОС Linux и Flask, необходимо запустить сервер. На Raspberry pi с операционной системой Rasp os, которая базируется на дистрибутиве Debian семейства Linux уже установлен Python. Значит, следует установить только сам фреймворк и сопутствующие к нему библиотеки.
a) Загрузим Flask командой sudo apt-get install python3-flask.
б) после установки фреймворка можно создавать проект. Был создан файл server.py, который запускает приложение.
В данном файле пропишем на языку Python:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello world'
if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0')
Для проверки корректной работы приложения необходимо запустить скрипт server.py командой python3 server.py. При корректном запуске в командной строке появится запись которая показана на рисунке 2.12
Рисунок 2.12 Корректный запуск приложения
Так же в браузере при переходе на адрес 127.0.0.1:5000 появится сообщения которое показано на рисунке 2.13
Реализация подключения элементов проекта
Подключение всех датчиков происходит через интерфейс GPIO на микроконтроллере.
Рисунок 2.13 Успешный запуск приложения в браузере.
GPIO -- интерфейс для связи между компонентами компьютерной системы, к примеру, микропроцессором и различными периферийными устройствами. Контакты GPIO могут выступать как в роли входа, так и в роли выхода -- это, как правило, конфигурируется. GPIO контакты часто группируются в порты. На рисунке 2.14 показано как выглядит GPIO на Raspberry PI.
Рисунок 2.14 GPIO на Raspberry PI 3.
Каждый контакт (пин) имеет свое назначение и характеристику. В проекте будут задействованы данные контакты для подключения датчиков и моторов, которые заявлены в проекте.
Подключение и настройка датчиков влажности и температуры.
Согласно схеме системы управления датчиками, нужно реализовать подключение датчиков влажности и температуры. На рисунке 2.15 показана схема подключения датчика DHT11
Рисунок 2.15 Схема подключения датчика влажности и температуры к GPIO.
Основные технические характеристики:
* Напряжение питания: 3 - 5В
* Определяемая влажность: 20 - 80% ± 5%
* Определяемая температура: 0 - 50є ± 2%
* Частота опроса: ? 1Гц
* Размеры: 30 x 14 x 6мм
Как мы видим, данные датчики не рассчитаны на работу в экстремальных условиях, однако их возможностей c головой хватит для осуществления большинства домашних и более серьезных поделок. Внутри датчика находится емкостной датчик влажности, термистор, и простенький аналогово-цифровой преобразователь значений температуры и влажности.
После подключения датчика к GPIO необходимо установить библиотеку wirningPi и скомпелировать скрипт, который будет использоваться в проекте.
Подключение и настройка моторов
Для осуществления движения робота будет использован драйвер управления моторами L298N. Данная плата показана на рисунке 2.16
Рисунок 2.16 Драйвер управления моторами L298N
Модуль L298N можно использовать для двигателей, напряжение питания которых находится в диапазоне от 5 до 35 вольт. Кроме того, на многих подобных платах есть встроенный 5В регулятор, который дает возможность запитывать устройства.
Согласно нумерации на рисунке 2.16 драйвер имеет подключения:
1. Для двигателя постоянного тока 1 “+”
2. Для двигателя постоянного тока 1 “-”
3. Коннектор на 12 вольт. В случае с проектом будет использоваться батарея с напряжением выше заявленных 12 вольт. Поэтому коннектор снимается для разблокировки ограничения.
4. Контакт для питания двигателей. Максимальное напряжение питания постоянным током 35 вольт.
5. GND - земля.
6. Питание 5 вольт, если коннектор на 12 вольт замкнут. Идеально для питания Raspberry Pi3.
7. Коннектор для двигателя постоянного тока 1. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
8. IN1 подключается к интерфейсу GPIO.
9. IN2 подключается к интерфейсу GPIO.
10. IN3 подключается к интерфейсу GPIO.
11. IN4 подключается к интерфейсу GPIO.
12. Коннектор для двигателя постоянного тока 2. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
13. Двигатель постоянного тока 2 “+”
14. Двигатель постоянного тока 2 “-”.
Подключение драйвера к питанию, двигателям и Raspberry pi 3 осуществляется согласно схеме показанной на рисунке 2.17
Рисунок 2.17 подключение L298N.
Для подключения драйвера к GPIO необходимо использовать выводы в соответствии с таблицей 2.2.
Таблица 2.2 Подключение L298N к GPIO
Raspberry Pi GPIO |
Модуль L298 |
|
Вывод 7 (GPIO4) |
IN1 |
|
Вывод 9 (GND) |
GND (разъем питания) |
|
Вывод 11 (GPIO17) |
IN2 |
|
Вывод 13 (GPIO27) |
IN3 |
|
Вывод 15 (GPIO22) |
IN4 |
Реализация программы работы моторов реализована в приложении в листинге файла программы motors.py
Подключение и настройка ультразвукового датчика
Для работы с ультразвуковым датчиком был выбран модуль HC-SR04. Работа модуля основана на принципе эхолокации. Модуль посылает ультразвуковой сигнал и принимает его отражение от объекта. Измерив время между отправкой и получением импульса, не сложно вычислить расстояние до препятствия. Модуль подключается четырьмя проводами. Контакты VCC и GND служат для подключения питания, а Trig и Echo-- для отправки и приема сигналов дальномера. Подключение к GPIO производится согласно таблице 2.3.
Таблица 2.3. Подключение HC-SR04 к GPIO
Вывод GPIO |
HC-SR04 |
|
gpio23 |
TRIG |
|
gpio24 |
ECHO |
|
GND |
GND |
|
5V |
VCC |
Для подключения ультразвукового датчика необходимы 2 резистора на 10 кОм. Подключение производится, как показано на рисунке 2.18
Рисунок 2.18 Подключение Ультразвукового датчика HC-SR04
· Напряжение питания: 5 В
· Потребление в режиме тишины: 2 мА
· Потребление при работе: 15 мА
· Диапазон расстояний: 2-400 см
· Эффективный угол наблюдения: 15°
· Рабочий угол наблюдения: 30°
Реализация программы работы моторов реализована в приложении в листинге файла программы hc.py
Подключение и настройка светодиодного кольца
Светодиоды WS2812 используются для отображения различных показателей датчиков в виде RGB света.
Каждый пиксель содержит в себе красный, зелёный и синий светодиоды и контроллер ШИМ, с помощью которого можно управлять яркостью каждого светодиода и получать множество различных цветов из трёх основных.
Так как каждый WS2812 состоит из трёх светодиодов и контроллера ШИМ, будет лучше называть их пикселями, а не светодиодами. На рисунке 2.19 можно увидеть устройство такого светодиода, а на рисунке 2.20 его подключение к Raspberry Pi.
Рисунок 2.19 Светодиод WS2812
Немного о характеристиках адресных светодиодов WS2812:
· Напряжение питания: 5 ± 0.5 В;
· Потребление тока: ~20 мА один светодиод, т.е. ~60 мА весь пиксель.
Для подключения светодиодного кольца необходимо установить библиотеку с GitHub rpi_ws281x.
Подключение к GPIO производится согласно таблице 2.3.
Рисунок 2.20 Схема светодиодного кольца к GPIO.
Таблица 2.3. Подключение HC-SR04 к GPIO
Вывод GPIO |
WS2812 |
|
Gpio18 |
IN |
|
GND |
GND |
|
5V |
VCC |
Подключение и настройка базы данных проекта
Взаимодействие с СУБД происходит за счет внутренних средств Flask
Подключение и передача данных происходит за счет запросов, которые были описаны в моделях Flask на языке Python 3.
В файле config.py создан класс модели и подключения базы данных.
В нем прописаны создание таблиц. Flask должен скомпилировать эти таблицы в бд.
В таблице Temperature и Humidity существуют поля:
А) datetime (DateTimeField()) - поле дата, необходим для записи даты записи показателя.
Б) range_type (CharField()) - поле типа данных, необходим для записи промежутка типа.
В) value = (FloatField) -поля значения , необходим для записи занчения показателя.
В таблице Rules существуют поля:
Б) type (CharField()) - поле типа данных, необходим для записи типа правила.
В) value = (FloatField) -поля значения, необходим для записи значения показателя правила.
Реализация на языке Python.
Так как был сделан выбор в пользу языка Python, программная часть будет написана на этом языке. Листинг всей программной части системы управления описан в приложении.
5. ХАРАКТЕРИСТИКА РОБОТОТЕХНИЧЕСКОГО КОМПЛЕКСА
5.1 Общее описание робототехнического комплекса
Робототехнический Комплекс состоит из программного обеспечения и смой программы.
Программное обеспечение имеет следующую структуру:
1) Главный файл приложения server.py. В нем происходит интеграция всех файлов модулей и настроек. Так же для отображения контента происходит интеграция визуального контента.
2) Файл конфигурации config.py. В данном файле происходит настройка базы данных и обращение к ней. Так же в нем расположены переменные, отвечающие за значения подключения модулей (указания GPIO портов)
3) Файл main.py. В данном файле производится обработка запросов и обработка информации полученной из базы данных.
4) Файл main.db. Является базой данных, которая хранит в себе информацию робототехнического комплекса. В данной базе имеются база правил и таблицы с данными показателей датчиков.
5) Файлы модулей. Являются исполнительными программами для датчиков. Данные файлы являются реализацией систем управления датчиками. Подключение осуществляется через файл конфигурации и гавный файл приложения.
6) Файлы верстки. Это файлы HTML, css, js. С помощью данных файлов построен интерфейс робототехнического комплекса, который разрабатывается в другой работе.
Робототехнический комплекс после подключения всех элементов имеет вид как показано на рисунке 3.1. Все подключенные элементы помещены в корпус.
Рисунок 3.1 Аппаратная часть робототехнического комплекса.
5.2 Тестирование
Методика тестирования
Тестирование состоит из нескольких этапов. В случае с данным проектом методика тестирования включает в себя:
А) Модульное тестирование
Начальный этап тестирования. Данный вид тестирования подразумевает под собой проверку отдельных модулей. После модульного тестирования можно утверждать, что каждый модуль работает правильно.
Б) Функциональное тестирование
Используется для проверки работоспособности всего приложения. В нём тестируются отдельные функции всего приложения, при этом неважно, какие модули их реализуют.
В) Тестирование инсталляции
Крайне важная часть тестирования ПО. Инсталляция является первым шагом пользовательского взаимодействия с приложением. Тестирование в проекте направлено на успешное открытие приложения.
Результаты тестирования
Результаты модульного тестирования
Каждый модуль (скрипт) тестировался отдельно. Работоспособность модулей корректна.
Результаты функционального тестирования
Каждая функция тестировалась согласно функциональным требованиям приложения.
Функциональное тестирование приведено в таблице 3.1
Таблица 3.1- Функциональное тестирование
Вывод графического интерфейса приложения на экран |
Интерфейс отображается, как предусматривалось изначально |
|
Движение робота вперед |
При нажатии на кнопку, робот движется в корректном направлении с одной скоростью. |
|
Движение робота назад |
При нажатии на кнопку, робот движется в корректном направлении с одной скоростью. |
|
Движение вправо |
При нажатии на кнопку, робот движется в корректном направлении с одной скоростью. |
|
Движение влево |
При нажатии на кнопку, робот движется в корректном направлении с одной скоростью. |
|
Остановка |
При нажатии на кнопку, робот останавливается. |
|
При приближении к объекту на 10 см, светодиод синий |
Робот выполняет правило корректно |
|
При движении до объекта робот едет со скоростью 10, при приближении тормозит и разворачивается. |
Робот выполняет правило корректно |
|
Если Температура с показателем 28, Моторы вперед с параметром 100 |
Робот выполняет правило корректно |
|
Если температура с показателем 15, Моторы назад с параметром 70 |
Робот выполняет правило корректно |
|
Если влажность с показателем 15, Светодиод желтый |
Робот выполняет правило корректно |
|
Если влажность 25, Светодиод голубой |
Робот выполняет правило корректно |
|
Просмотр показателей температуры на графике |
График отображается корректно в реальном времени |
|
Просмотр показателей влажности на графике |
График отображается корректно в реальном времени |
Результаты тестирования инсталляции приложения
Тестирование было проведено на нескольких мобильных устройствах, которые имеют соответствующие технические характеристики:
1) Xiaomi Note4
2) Maizu M3 Note
3) Samsung galaxy s4
На каждом из устройств приложение работало корректно. Запуск приложения из браузеров не вызвало проблем.
Результаты работы робототехнического комплекса.
Робототехнический комплекс выполняет все функции, которые были заявлены в требованиях к проекту.
Робот производит мониторинг окружающей среды и строит графики, что позволяет собирать статистики показателей помещений. Так же реализовано движение и визуальное отображение состояния окружающей среды в виде сигнала светодиода.
Комплекс корректно выполняет правила, которые реализованы в проекте. При доработке проекта, возможно, добиться полной автономной работы и создать большую базу правил поведения робототехнического комплекса.
Этапы внедрения разрабатываемой системы
В настоящий момент система находится в активной стадии разработки прототипа полноценного работающего web-приложения.
Программная разработка является полностью бесплатной и распространяется на правах разработчика.
Средства для внедрения системы такого рода будут минимальными, так как все что нужно для запуска данного программного обеспечения - это плата микрокомпьютера и элементы управления, которым пользователь он уже вероятнее всего располагает, доступ к сети интернет и установленный web-browser.
На первом этапе запуска системы в эксплуатацию необходимо получить установить библиотеки для корректной работы приложения.
...Подобные документы
Методы и этапы проведения расчета и анализа робототехнического комплекса при бесприоритетном обслуживании, при оптимальных относительных, абсолютных и смешанных приоритетах в заданной последовательности. Расчет при оптимальных относительных приоритетах.
курсовая работа [1,6 M], добавлен 03.12.2010Исследование технологии проектирования базы данных. Локальные и удаленные базы данных. Архитектуры и типы сетей. Программная разработка информационной структуры предметной области. Обоснование выбора архитектуры "клиент-сервер" и операционной системы.
дипломная работа [1,1 M], добавлен 15.02.2017Классификация и назначение промышленных роботов. Применение робототехнических комплексов в промышленности. Описание основных узлов пневматического робота, его структурная схема и процессорный модуль. Промышленное программное обеспечение фирмы Siemens.
дипломная работа [3,6 M], добавлен 17.09.2012Классификация и назначение промышленных роботов. Применение робототехнических комплексов в промышленности. Назначение робототехнического комплекса "Ритм – 01". Описание инструментальных средств программирования и языки программирования контроллеров.
дипломная работа [2,4 M], добавлен 17.07.2012Понятие базы данных, модели данных. Классификация баз данных. Системы управления базами данных. Этапы, подходы к проектированию базы данных. Разработка базы данных, которая позволит автоматизировать ведение документации, необходимой для деятельности ДЮСШ.
курсовая работа [1,7 M], добавлен 04.06.2015Концептуальное и инфологическое проектирование базы данных в системе управления базами данных Microsoft Access. Физическое проектирование базы данных "Магазин спорттоваров". Тестирование и отладка базы данных, составление руководства пользователя.
курсовая работа [6,7 M], добавлен 22.11.2022Классификация мобильных роботов по сферам применения. Структура мобильного робототехнического комплекса. Беспилотный военный автомобиль Guardium. Датчики робототехнических систем. Интерфейс для датчика оптокоммутатора. Открытый интерфейс iRobot Create.
дипломная работа [4,2 M], добавлен 05.08.2010База данных как поименованная совокупность структурированных данных, относящихся к определенной предметной области. Ее типы и структура, особенности архитектуры. Функциональные особенности языка структурированных запросов (SQL). Разработка базы данных.
курсовая работа [639,8 K], добавлен 14.12.2022Изучение особенностей заданной предметной области. Основные подходы к разработке соответствующей базы данных, ее структура и компоненты, а также предъявляемые требования и функциональные особенности. Создание форм для ввода данных, отчетов, запросов.
курсовая работа [4,3 M], добавлен 02.11.2015Определение назначения, описание функций и изучение классификации складов. Анализ предметной области и проектирование системы базы данных управления складом. Разработка руководства пользователя для оператора базы данных, расчет сметной стоимости проекта.
дипломная работа [2,2 M], добавлен 24.07.2014Перечень документов для комплекса автоматизированных подсистем информационных технологий управления кампуса. Отслеживание результативности провайдера на этапе реализации контракта. Необходимость пересмотра архитектуры управления информационными системами.
контрольная работа [422,4 K], добавлен 05.05.2015Реализация приложения "Книжный магазин" средствами систем управления базами данных. Проектирование структуры базы данных, определение сущности и атрибутов. Логическое проектирование базы данных и реализация базы данных в СУБД Microsoft Office Access.
курсовая работа [7,8 M], добавлен 13.02.2023Выбор методологии проектирования и системы управления базами данных. Описание предметной области и проектирование физической структуры базы данных. Реализация проекта в MS SQL Server 2008. Построение инфологической модели. Ограничения целостности связи.
курсовая работа [679,2 K], добавлен 22.01.2013Системный анализ предметной области проектируемой базы данных. Экономическая сущность комплекса экономических информационных задач. Проектные решения по программному обеспечению комплекса задач. Структура базы данных и технологическое обеспечение.
курсовая работа [303,7 K], добавлен 27.02.2009Построение инфологической (концептуальной) модели предметной области. Проектирование логической и физической структуры базы данных. Реализация проекта в среде конкретной СУБД. Организация корректировки и ввода данных в БД. Разработка интерфейса.
курсовая работа [1,4 M], добавлен 14.01.2018Архитектура предприятия как инструмент управления изменениями. Проектирование архитектуры данных по TOGAF. Описание потоков и источников данных. Синхронизация данных по времени. Описание этапов и рекомендации по использованию инструментов проектирования.
дипломная работа [2,8 M], добавлен 09.09.2017Проектирование и создание информационной базы данных для управления предприятием "Завод металлоизделий". Данные для базы, предметная область, атрибуты объектов базы данных. Объектные отношения, их ключи, связи объектов и отношений базы данных предприятия.
реферат [26,9 K], добавлен 04.12.2009Интегрируемые системы и подходы к их интеграции. Методы передачи данных между информационными системами: обмен плоскими файлами, общая база данных, интеграционная шина. Особенности использования SAP.NET Connector. Проектирование функционала модуля.
дипломная работа [2,4 M], добавлен 26.08.2017Проектирование базы данных Access. Система управления базами данных. Создание и обслуживание базы данных, обеспечение доступа к данным и их обработка. Постановка задач и целей, основных функций, выполняемых базой данных. Основные виды баз данных.
лабораторная работа [14,4 K], добавлен 16.11.2008Проектирование базы данных для магазина продовольственных товаров. Предложения по модернизации информационных технологий. Выбор методов и средств решения задач, подлежащих автоматизации. Определение состава подсистем проектируемой информационной системы.
курсовая работа [3,9 M], добавлен 29.05.2013