
- •1 Розробка плану проекту
- •1.1 Аналіз та постановка задачі
- •1.2 Обґрунтування вибору моделі життєвого циклу для реалізації проекту
- •1.2.1 Каскадна модель.
- •1.2.2 Ітераційна модель.
- •1.2.3 Спіральна модель.
- •1.3 Обґрунтування вибору мови програмування та case-засобів
- •1.4 Розробка графіка виконання робіт по проекту у контексті обраної моделі життєвого циклу
- •1.5 Аналіз ризиків проекту та управління ними
- •1.6 Системна специфікація вимог до розроблюваного проекту
- •1.6.1 Розробка користувальницьких (функційних) вимог
- •1.6.2 Нефункційні вимоги до програмного забезпечення
- •2 Вибір та аналіз існуючих алгоритмів побудови шляху на карті
- •2.1 Точні алгоритми
- •2.1.1 Пошук в ширину на незваженому графі.
- •2.1.2 Алгоритм Флойда-Уоршелла
- •2.1.3 Алгоритм Дейкстри
- •2.2 Евристичні алгоритми
- •2.2.1 Алгоритм a*
- •2.2.2 Алгоритм d* Lite
- •3 Розробка архітектури програмного забезпечення
- •3.1.1 Діаграма варіантів використання
- •3.1.2 Діаграма класів
- •3.1.3 Діаграма станів
- •3.1.4 Діаграма діяльності
- •3.2 Блок-схеми алгоритмічної частини програмного забезпечення
- •4 Кодування і тестування пз
- •4.1 Особливості реалізації програмного забезпечення
- •4.2 Допоміжні засоби для реалізації програмного забезпечення
- •4.3 Тестування пз
- •4.4 Представлення результатів тестування пз (у хронологічному порядку, які помилки були виявлені і виправлені)
- •4.5 Представлення результатів, що демонструють функціональність розробленого пз
- •4.6 Основні функції розробленого програмного забезпечення
- •5 Надійність програмного забезпечення
- •5.1 Поняття надійності програмного забезпечення
- •5.2 Класифікація моделей надійності програмного забезпечення
- •5.3 Розрахункова частина
- •6 Економічний розділ
- •6.1 Обґрунтування доцільності створення локальної мережі
- •6.2 Кошторис на розробку програмного продукту
- •6.2.1 Основна заробітна плата розробників (дослідників):
- •6.2.2 Амортизація обладнання, комп'ютерів та приміщень, які використовувались для розробки нового технічного рішення.
- •6.2.3 Оренда обладнання, устаткування, приміщень, які були використані в ході здійснення розробки нового технічного рішення.
- •6.2.4 Витрати на комплектуючі к, що були використані на розробку нового технічного рішення, розраховуються за формулою:
- •7.2 Забезпечення електробезпеки при експлуатації комп’ютерної техніки
- •7.3 Розрахунок загального штучного рівномірного освітлення приміщення люмінесцентними лампами методом коефіцієнта використання світлового потоку
- •Висновки
- •Перелік посилань
Зміст
Вступ
Важливим сучасним питанням є розробка автономних машин, здатних виконувати свої функції без прямого втручання людини. Багато ідей щодо реалізації таких систем можливо знайти у природі. Одним з найпоширеніших методів орієнтації в природі, яку використовують живі істоти від комах до людини – візуальний. Рівень техніки у наш час дає можливість робити спроби відтворення механізмів цього процесу.
В даний час проведено величезне число досліджень, пов'язаних з розробкою алгоритмів керування, які забезпечують вирішення за допомогою мобільних роботів таких нетривіальних операцій, як: уточнення карти місцевості, планування траєкторій для обходу перешкод, проникнення у важкодоступні зони, прецизійний рух по складних криволінійних траєкторіях із забезпеченням заданої орієнтації елементів робота в просторі і т. д. Подальші дослідження нових типів мобільних роботів стимулюється численними додатками в різних сферах людської діяльності (автоматизація управління рухом транспортних засобів, боротьба з тероризмом і розмінування підозрілих предметів, пожежогасіння, телехірургія та ін.).
Мета даного проекту – розглянути один з можливих алгоритмів автономної орієнтації i керування мобільною платформою на основі спостерігаємого навколишнього середовища. При цьому введемо декілька спрощень. По-перше у якості середовища руху системи прийнято обмежений простір, а у якості орієнтирів – прості, пласкі геометричні фігури. Апарат рухається по ідеально рiвнiй поверхні, без проковзування коліс. Ці спрощення, однак, дозволяють виявити основні можливості системи керування. Дослідження інтегрує у собі рiзнi напрямки сучасної науки: отримання зображень, їх обробка, розпізнавання; орієнтація та керування рухомими об’єктами; мікропроцесорна техніка, вбудовані системи, оптимізація програмного коду, архітектури програмного забезпечення та ін.
1 Розробка плану проекту
1.1 Аналіз та постановка задачі
Основною задачею проекту є створення автономної мобільної платформи, яка зможе орієнтуватися на полі з рухомими об'єктами.
Для вирішення цієї задачі система розбивається на три незалежних рівні:
рівень розпізнавання об'єктів з камери;
рівень розробки ПЗ для вирахування траєкторії руху мобільної платформи, уникнення зіткнень з іншими об'єктами, та прогнозування траєкторій руху інших динамічних об'єктів на ландшафті;
рівень розробки ПЗ для взаємодії з іншими мобільними платформами.
Реалізація кожного рівня відбувається незалежно і включає в себе програмний модуль для вирішення задач для кожного рівня.
Метою даного проекту є реалізація рівня №2, який передбачає розробку програмного забезпечення побудови траєкторії руху автономної мобільної платформи для уникнення зіткнень з рухомими об'єктами.
Програмна архітектура проекту для ІІ рівня включає окремий підмодуль, в якому реалізовано алгоритми для знаходження траєкторії рухомої платформи та основний клас, де реалізована логіка роботи даного модуля. Головний клас зберігає в собі мапу місцевості, де позначено саму платформу, вільні місця, та місця, зайняті іншими об'єктами.
1.2 Обґрунтування вибору моделі життєвого циклу для реалізації проекту
Для реалізації обраної архітектури розглянемо кілька варіантів життєвих циклів розробки програмного забезпечення та оберемо найбільш підходящий для нашого проекту.
Життєвий цикл програмного забезпечення - це період часу, який починається з моменту прийняття рішення про необхідність створення програмного продукту і закінчується в момент його повного вилучення з експлуатації [1].
Серед великої кількості моделей життєвого циклу можна виділити три основні цикли розробки програмного забезпечення: каскадну, ітеративну та спіральну.
1.2.1 Каскадна модель.
Каскадна модель життєвого циклу була запропонована в 1970 р. Уїнстоном Ройсом. Ця модель передбачає послідовне виконання всіх етапів проекту в строго фіксованому порядку. Перехід між етапами означає повне завершення робіт на попередньому етапі. Вимоги, визначені на стадії формування вимог, суворо документуються у вигляді технічного завдання і фіксуються на весь час розробки проекту. Кожна стадія завершується випуском повного комплекту документації, достатньої для того, щоб розробка могла бути продовжена іншою командою розробників.
Етапи проекту відповідно до каскадної моделі:
формування вимог;
проектування;
реалізація;
тестування;
впровадження;
експлуатація та супровід.
Рисунок 1.1 - Каскадна модель життєвого циклу програмних систем
Переваги:
повна і узгоджена документація на кожному етапі;
легко визначити терміни і витрати на проект.
Недоліки: в каскадній моделі перехід від однієї фази проекту до іншої передбачає повну коректність результату (виходу) попередньої фази. Однак неточність якоїсь вимоги або некоректна її інтерпретація в результаті призводить до того, що доводиться повертатися до більш ранньої фази проекту, що не просто вибиває проектну команду з графіка, але призводить часто до зростання витрат і, не виключено, до припинення проекту в тій формі, в якій він спочатку замислювався. Отже, каскадна модель для великих проектів мало реалістична і може бути ефективно використана тільки для створення невеликих систем [2].