Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PZ.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
762.72 Кб
Скачать

3.2 Блок-схеми алгоритмічної частини програмного забезпечення

Блок-схема - поширений тип схем (графічних моделей), що описують алгоритми або процеси, в яких окремі кроки зображуються у вигляді блоків різної форми, з'єднаних між собою лініями, що вказують напрямок послідовності [13].

Порядок виконання дій задається шляхом з'єднання вершин дугами, що дозволяє розглядати блок-схеми не тільки як наочну інтерпретацію алгоритму, зручну для сприйняття людиною, але і як зважений орієнтований граф (т. зв. граф-схема алгоритму). Подібне уявлення алгоритмів використовується при побудові систем логічного керування, що реалізують задані керуючі алгоритми, в задачах розпаралелювання обчислень і т. д.

Для проектування програмного забезпечення велику роль відіграє правильність розробки алгоритму прокладання маршруту, тому на ряду з UML-діаграмами, які вказують на логіку роботи усього ПЗ, в проекті розроблено блок-схеми самого алгоритму пошуку оптимальної траєкторії руху.

Алгоритм пошуку траєкторії складається із головної та допоміжних функцій. Для кожної допоміжної функції наведена окрема блок-схема. Функції, які необхідні для роботи алгоритму:

  1. ініціалізація;

  2. розрахунок пріоритету вершини;

  3. оновлення вершини;

  4. розрахунок оптимального маршруту.

Рисунок 3.5 - Блок-схема функції ініціалізації

Рисунок 3.6 - Блок-схема функції обрахунку пріоритету для вершини

Рисунок 3.7 - Блок-схема функції оновлення вершини

Рисунок 3.8 - Блок-схема розрахунку найкоротшого шляху між вершинами

Рисунок 3.9 - Блок-схема алгоритму пошуку оптимального шляху

4 Кодування і тестування пз

4.1 Особливості реалізації програмного забезпечення

Для реалізації програмного забезпечення побудови траєкторії руху мобільного робота з урахуванням переміщення інших рухомих об'єктів було обрано мову програмування C++ (стандарт C++11). Враховуючи властивості даної мови, програмне забезпечення реалізовано за допомогою об'єктно-орієнтованої парадигми програмування.

Реалізація проекту проведена в кілька етапів:

  1. етап формування класів та інтерфейсів обміну даними між класами;

  2. етап написання алгоритмічної частини програмного забезпечення;

  3. етап написання симулятора для візуального тестування розробленого програмного забезпечення.

Після проходження цих трьох етапів отриманий готовий програмний продукт складається з наступних класів:

  1. math - клас для роботи з арифметичними діями на площині: обрахування/конвертація кутів та відстаней, реалізація математичних констант, функції порівняння;

  2. map - клас, що зберігає інформацію про карту місцевості: зайнятість комірок об'єктами, розміри карти;

  3. cell - клас, що зберігає інформацію про комірку на карті: координати, список сусідів, вартість;

  4. planner - клас обрахунку оптимальної траєкторії, який проводить завантаження карти, оновлення карти/вершини, обрахунок/перерахунок оптимального шляху;

  5. simulator - клас для роботи із візуальним симулятором: ініціалізує графічне відображення карти, вимальовує карту та рух робота по ній;

  6. config - клас, що зберігає конфігураційні дані для симулятора: дані про загальну карту та карту, яку "бачить" робот, стартову та кінцеву вершини, радіус сканування роботом карти.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]