How To Make A Model Of A Neuron

Similar documents
OPTIMISATION OF BUSINESS PROCESSES USING PETRI NETS AND DYNAMIC PROGRAMMING

WORLDWIDE COMPONENT BASED AUTOMATION SYSTEMS ON PROFINET CBA NETWORK EXAMPLE

THE CNC SYSTEM WITH STEPPER MOTOR DRIVES

Local Models and Types of Casting Process

How To Create A Third Generation Elearning System

LabView. Some pictures and slides from LabVIEW Introduction Course. 10 października 2014 Wojciech Kucewicz 1

ENTERPRISE ARCHITECT AND MAGIC DRAW UML COMPARING THE ABILITIES OF CASE TOOLS

Polish n-grams and their correction process


Development of an optimized array wheel probe for inspection of fibre glass composites

EFFICIENT METHOD FOR STORAGE OF LONG CONVEYOR BELTS PASSAGES INSIDE THE BULK CONTAINERS

Safety integrity level (SIL) versus full quantitative risk value Nienaruszalność bezpieczeństwa a wartość ryzyka

as Mandatory Procedures for Architects and Engineers

ship but at the midship the water level decreases. This phenomenon is the reason of the ship squat in shallow water as presented in Figure 1.

Programming the Microchip Pic 16f84a Microcontroller As a Signal Generator Frequencies in Railway Automation

OPTYMISATION OF THE DECISION-MAKING PROCESS RELEVANT TO THE CHOICE OF AGRICULTURAL MACHINES USING THE AHP METHOD

Transparent Integration of Distributed Resources within Object-Oriented Database Grid

OCENA KLASYFIKATORÓW

CONTEXT VISUALIZATION OF EDUCATIONAL COURSES

Application of factoring and time-space simulation methods for assessment of the reliability of water-pipe networks

GCSE Polish. Other Guidance. Exemplar Material: Writing Spring 2010

Table of Contents CHAPTER 3 - SYSTEM SET UP 7 TABLE OF CONTENTS

MANAGEMENT FOR SAFETY SYSTEMS DEVELOPMENT

Trends in the stock market and their price forecasting using artificial neural networks 1

VOLUME AND PRICE AS FACTORS OF POLAND S EXPORT IN THE LIGHT OF OTHER BSR COUNTRIES

STUDY OF THE INFLUENCE OF SURFACE FORM ERRORS ON THE FITTING UNCERTAINTY IN COORDINATE MEASUREMENTS

Projektowanie obiektowe oprogramowania Wzorce architektury aplikacji (2) Wykład 11 MVC/MVP Wiktor Zychla 2013

Bracia Lwie Serce - podsumowanie

Spis treści. ADPRO FastTrace ADPRO FastTrace 2E...5. ADPRO FastTrace 2E Hybrid ADPRO FastTrace 2(E) - Accessories...

XSLT Transformation... 1 Desired effect... 1 Files... 1 XML... 2 XSLT... 3 Result file... 4

A R C H I V E S O F M E T A L L U R G Y A N D M A T E R I A L S Volume Issue 4 DOI: /v

VERIFICATION OF TORSIONAL OSCILLATING MECHANICAL SYSTEM DYNAMIC CALCULATION RESULTS

The analyse of automation level of logistic process in small and medium enterprises

Problem A. Nanoassembly

Sound Recognition of Induction Motor

Mechatronic systems in mining roadheaders examples of solutions

Draw prediction for practical soccer betting strategies

CNG a New Way of Maritime Natural Gas Supplies

POWER EFFICIENCY MANAGEMENT OF PHOTOVOLTAIC ENERGY SOURCE BASED ON MPPT ALGORITHM

GEOMETRIC ACCURACY OF AIRCRAFT ENGINE BLADE MODELS CONSTRUCTED BY MEANS OF THE GENERATIVE RAPID PROTOTYPING METHODS FDM AND SLA

THE PROBLEM OF RISK PERCEPTION IN THE INNOVATIVE CORPORATE FINANCIAL STRATEGY

Stream data state of the art and new results

Dodatkowe informacje i programy kursów UG/NX5

ALGORITHM OF LAYER MODEL

How To Pass A Pplsh1

TQM TOOLS IN CRISIS MANAGEMENT

> Elektroniczne czasopismo naukowe z dziedziny logistyki <

A R C H I V E S O F M E T A L L U R G Y A N D M A T E R I A L S Volume Issue 1 DOI: /v

Syntax errors in the EPC diagrams of the integrated management system documents

THE SELECTION CRITERIA OF SCANNING METHOD IN PROCESS OF REPRODUCING AN AIRCRAFT ENGINE BLADE GEOMETRY

ADMINISTRATOR S TOOLS IN MICROSOFT SQL SERVER OPTIMIZATION FOR MICROSOFT DYNAMICS NAV

TECHNOLOGICAL ASPECTS OF AUTOMATED SELECTIVE SYSTEMS APPLICATION IN CONFORMAL COATING PROCESSING*

Study of porosity measurement using the computer tomograph

FREQUENCY ANALYSIS DECIMATION VIBRATION SIGNALS OF PASSENGER CAR S SUSPENSIONS

Forest higher education in Polish National Qualification Framework

USE OF INFORMATION TECHNOLOGY IN THE EVALUATION OF CONTAMINATION IN FLOUR ZASTOSOWANIE TECHNIK INFORMATYCZNYCH W OCENIE ZANIECZYSZCZE W M CE

PRACA MAGISTERSKA. Metamodel and Workflow Management System for Object - Oriented Business Processes

GEOMETRICAL PRESENTATION OF PREFERENCES BY USING PROFIT ANALYSIS AND R PROGRAM

Second-level Digital Divide (DD2): An investigation into online users skills 1

SELECTED PREMIUM ESTIMATION METHODS IN AUTOMOBILE LIABILITY INSURANCE

THE EFFECTIVENESS OF ONLINE ADVERTISING OF COMPANIES IN POLAND

CUSTOMER RELATIONSHIP MANAGEMENT IN A FITNESS CLUB CASE STUDY OF IT SOLUTIONS APPLIED IN A SELECTED ORGANIZATION

A Modern Approach to the Asynchronous Sequential Circuit Synthesis

GCSE Polish. Other Guidance Exemplar Student Marked Work: Writing Spring Copyright 2012 AQA and its licensors. All rights reserved.

CHEMICAL, THERMAL AND LASER PROCESSES IN RECYCLING OF PHOTOVOLTAIC SILICON SOLAR CELLS AND MODULES

INVESTIGATION OF MECHANICAL PROPERTIES OF FABA BEAN FOR GRINDING BEHAVIOR PREDICTION Grzegorz Łysiak, Janusz Laskowski

PMP Certification Preparatory Course

1 11g RAC installation general steps

DETERMINATION OF SYSTEMATIC ERRORS OF 3D PRINTER IN ORDER TO ENSURE MANUFACTURING CORRECTNESS OF THE PROTOTYPE

UTILIZATION DATABASE SYSTEM USING THE PROTOCOL STEP

PROCEEDINGS OF THE INSTITUTE OF VEHICLES 2(102)/2015

LEARNING METHODS OF COGNITIVE AGENTS RELATED TO DECISION AREAS IN DSS

Transferring large amount of data over the Internet network

IBM Systems Director 6.2 instalacja, przegląd możliwości, zarządzanie

Transcription:

92 IAPGOŚ 4/2015 p-issn 2083-0157, e-issn 2391-6761 - - - - - DOI: 10.5604/20830157.1176582 Współfinansowane ze środów Unii Europesie MODEL PROCESU SORTOWANIA OBIEKTÓW PRZY WYKORZYSTANIU PODEJŚCIA NEURONOWEGO Jaroslav Lotysh Łuci Narodowy Uniwersytet Techniczny, Wydział Automatycznego Sterowania Procesami Producynymi Streszczenie. W artyule zaproponowane zostały imitacyne omputerowe modele sortowania za pomocą normalnego trybu pracy oraz trybu neuronowego. Na podstawie modelu opracowano algorytm oraz otrzymane oprogramowanie, tóre implementue system ontroli sortowania obietów za pomocą wyorzystania podeścia neuronowego. Słowa luczowe: automatyczna ontrola, sieci neuronowe, modelowanie omputerowe МОДЕЛЬ ПРОЦЕСУ СОРТУВАННЯ ОБ`ЄКТІВ З ВИКОРИСТАННЯМ НЕЙРОПІДХОДУ Анотація. В роботі пропонуютьcя імітаційні комп ютерні моделі сортування зі звичайним режимом роботи та з режимом нейроуправління. На базі моделі розроблено алгоритм та отримано програмне забезпечення, яке реалізує систему управління сортуванням об`єктів з використанням нейропідходів. Ключові слова: автоматичне управління, нейронні мережі, комп'ютерне моделювання THE MODEL OF OBJECTS SORTING PROCESS BY USING NEURO APPROACH Abstract. Imitational sorting computer models with ordinary operating regime and with neurooperating regime are proposed in the article. On the basis of the model the algorithm is developed and the software is received, which realizes the system of sorting operating of the obects by using neuro approaches. Keywords: automatic control, neural networs, computer simulation Wstęp Rozwó teorii sterowania przeszedł ila etapów, a mianowicie, od rozwiązania równań różniczowych (liniowych, nieliniowych) poprzez włączenie omputera w obwodzie sterowania do użytu informatyi neuronowe w nasze czasy. W obecnych czasach, sztuczne systemy neuronowe są powszechnie wyorzystywane do rozwiązywania różnych zadań inteligentnego sterowania, prognozowania w warunach niepewności, nieliniowości oraz stochastyczności, ze względu na ich możliwości procesu pozysiwania wiedzy z danych charateryzuących funconowanie obietu badań. Systemy te stanowią nowy interdyscyplinarny obszar badań, przybliżony do systemów inteligentnych, ponieważ w przeciwieństwie do systemów ontrolowanych rozwiaących się na srzyżowaniu cybernetyi, matematyi, eletronii i innych nau, systemy neuronowe są syntetyzowane przez informatyę neuronową, szczególnie przez sterowanie neuronowe. Algorytmy sieci neuronowe różnią się od tradycynych wszechstronnością (w ramach oreślone lasy problemów) i łatwością realizaci programu. Podczas procesu uczenia, sieć neuronowa automatycznie bierze pod uwagę właściwości onretnego systemu sterowania bez onieczności ego matematycznego opisu. Ponadto sieci neuronowe mogą pozysiwać wiedzę podczas esploataci, wyorzystuąc swoe doświadczenie sterowania. 1. Kluczowe wynii badania Przy opracowaniu modelu symulacynego brane est pod uwagę sortowanie obietów odbywaące się w dwóch trybach: elastyczne ramie odbiornia reague na poawienie się obietu z ednego z trzech ierunów i wraca do pozyci neutralne po zaończeniu operaci (normalne sortowanie); napierw elastyczne ramię odbiornia znadue się w położeniu neutralnym, a po pierwsze operaci sortowania stae w położeniu, w tórym est nawięsze prawdopodobieństwo poawienia się obietu sortowania (sortowanie neuronowe). Вступ Розвиток теорії управління пройшов ряд етапів від рішення диференційних рівнянь (лінійних, нелінійних) через включення комп'ютера в контур управління до використання нейроінформатики на сучасному етапі. На сьогодні штучні нейронні системи отримали широке поширення для вирішення різноманітних задач інтелектуального управління, прогнозування в умовах невизначеності, нелінійності, стохастичності завдяки своїм можливостям навчання за даними, що характеризують функціонування досліджуваного об єкта. Такі системи представляють собою новий міждисциплінарний науковий напрям, близький до інтелектуальних систем, тому, що, на відміну від керованих систем, які розвиваються на стику кібернетики, математики, електроніки та інших наук, нейронні системи синтезуються з нейроінформатикою, зокрема з нейрокеруванням. Нейромережеві алгоритми відрізняються від традиційних універсальністю (в межах певного класу задач) і простотою програмної реалізації. При навчанні нейромережа автоматично враховує особливості конкретної системи управління, не вимагаючи її математичного опису. Окрім того, нейронні мережі можуть доучуватися в процесі експлуатації, використовуючи свій досвід управління. 1. Основні результати дослідження При розробці імітаційної моделі враховувалось, що сортування об єктів відбувається в двох режимах: гнучкий приймач реагує на появу об єкта з одного з трьох напрямків та повертається в нейтральне положення після завершення операції (звичайне сортування); спочатку гнучкий приймач знаходиться в нейтральному положенні та після першої операції сортування стає в положення, де найбільша ймовірність появи об єкта сортування (сортування з нейроуправлінням). artyuł recenzowany/revised paper IAPGOS, 4/2015, 92-98

p-issn 2083-0157, e-issn 2391-6761 IAPGOŚ 4/2015 93 - - - - - Rys. 1. Wizualna reprezentaca pracy elastycznego ramienia odbiornia (wido z góry): 1, 2, 3 pozyca możliwego złożenia obietów (modelowane za pomocą przycisów), 4 neutralne położenie odbiornia Мал. 1. Візуальне представлення роботи гнучкого приймача (вид зверху): 1, 2, 3 позиції можливої подачі об єктів (моделюються кнопками), 4 нейтральне положення приймача Danymi weściowymi est początowe położenie elastycznego ramienia odbiornia, stan przycisów na eranie, tóre imituą uawnienie się obietu sortowania, a taże tryb pracy modelu (bez neuro, neuro). Jeśli model symulacyny znadue się w trybie "bez neuro" reacą na dane weściowe est pochylenie elastycznego ramienia odbiornia w edną z trzech stron, po czym powraca ono do swoe pierwotne pozyci. Kierune pochylenia będzie zależał od tego, tóry z przycisów został naciśnięty. Jeśli model est w trybie "neuro", odbywa się proces pozysiwania wiedzy z baz danych. Po naciśnięciu przycisu odbywa się pochylenie. Następne est przetwarzanie danych na podstawie tórych oreśla się położenie elastycznego ramienia odbiornia. Przetwarzanie danych odbywa się przy użyciu wyuczone sieci neuronowe, za pomocą tóre est zdeterminowana reaca modelu, co będzie miało wygląd wyszuiwania prawdopodobieństwa nacisania ednego z przycisów oraz pochylenia elastycznego ramienia odbiornia w oreśloną stronę. Podczas tworzenia trybu pracy modelu przy użyciu podeścia neuronowego zostały zastosowane ednoierunowe sieci neuronowe. Jednoierunowe sieci neuronowe otrzymały swoą nazwę ze względu na zasadę pracy algorytmu wyorzystywaną przez sieć neuronową. W podanym algorytmie błąd przemieszcza się w ierunu przeciwnym od sygnału, to znaczy od warstwy wyściowe do weściowe. Sieć neuronowa słada się z ilu warstw, tóre są ze sobą połączone, to znaczy że ednoierunowa sieć neuronowa est całowicie połączona. Uczenie sieci neuronowych polega na tym, że trzeba znaleźć funconalny związe Y = F (X), gdzie X wetor wyściowy, a Y weściowy. Taie zadanie ma wiele rozwiązań przy ograniczone liczbie danych weściowych. Aby ograniczyć przestrzeń poszuiwania podczas uczenia, należy zminimalizować funcę celu błędu sieci neuronowe, tóra uzysue się za pomocą metody namnieszych wadratów: gdzie y wartość -tego wyścia sieci neuronowe, d wartość celu -tego wyścia, p liczba neuronów w warstwie wyściowe. Uczenie odbywa się poprzez metodę gradientu. W ażde iteraci wagi zmieniaą się według formuły: gdzie parametr, tóry oreśla szybość uczenia Rys. 2. Podstawowa forma modelu symulacynego Мал. 2. Основна форма імітаційної моделі Вхідними даними є початкове положення гнучкого приймача, стан кнопок на екранній формі, які імітують появу об єкта сортування, а також режим роботи моделі (без нейро, нейро). Якщо імітаційна модель знаходиться в режимі «без нейро», то реакцією на вхідні дані буде нахил гнучкого приймача в одну із трьох сторін, після чого він повертається в початкове положення. Напрям нахилу буде залежати від того, яка саме з кнопок була натиснута. Якщо модель перебуває в режимі «нейро», то вона здійснює навчання завдяки використанню навчальної вибірки. При натисканні на кнопку здійснюється нахил. Далі проходить обробка даних, на основі якої визначається положення гнучкого приймача. Обробка даних проходить з використанням навченої нейронної мережі, завдяки якій визначається реакція моделі, що матиме вигляд пошуку найбільшої ймовірності натискання однієї з кнопок та нахилу гнучкого приймача в певне положення. При розробці режиму роботи моделі з нейронним підходом були використані нейронні мережі зворотнього поширення. Мережі зворотнього поширення отримали свою назву завдяки принципу роботи алгоритму, за яким працює нейронна мережа. В даному алгоритмі помилка поширюється в протилежному напрямку від сигналу, тобто від вихідного шару до вхідного. Дана нейронна мережа складається з декількох шарів, які є зв язаними між собою, тобто нейронна мережа зворотнього поширення є повнозв язною. Навчання нейронної мережі полягає в тому, що потрібно знайти функціональну залежність Y = F (X), де X вхідний, а Y вихідний вектори. В основному при обмеженій кількості вхідних даних така задача має безліч рішень. Для обмеження простору пошуку при навчанні ставиться завдання мінімізації цільової функції помилки нейронної мережі, яка знаходиться за методом найменших квадратів: 1 p 2 E( w) ( y d ) (1) 2 1 де y значення -го виходу нейромережі, d цільове значення -го виходу, p кількість нейронів у вихідному шарі. Навчання проходить методом градієнтного спуску. При кожній ітерації ваги змінюються за формулою: E wi (2) w i де параметр, що визначає швидкість навчання.

94 IAPGOŚ 4/2015 p-issn 2083-0157, e-issn 2391-6761 - - - - - gdzie y wartość wyścia -tego neuronu, sygnałów weściowych. W tym mnożni E w i S ważona suma gdzie x i wartość weścia i-tego neuronu. Następnie przeanalizuemy definicę pierwszego mnożnia formuły (3) E y E dy y gdzie liczba neuronów w warstwie n + 1. Po wprowadzeniu zmienne dodatowe E dy S y w S w i S y Dale zdefiniowana est formuła reurencyna w celu oreślenia wartość warstwy n, w tym, wartość następne warstwy (n + 1) est wiadoma. Ostatnia warstwa sieci neuronowych oblicza się za pomocą docelowego wetora, czyli wetora tych wartości, tóre sieć powinna podawać przy oreślonym zbiorze wartości weściowych. Formuła (2) w postaci rozwinięte: де x i y значення виходу -го нейрона, вхідних сигналів. При цьому множник i (3) S зважена сума де x i значення i-го входу нейрона. Далі розглянемо визначення першого множника формули (3) E dy y w ( n1) де кількість нейронів у шарі n + 1. Після введення допоміжної змінної dy E (6) y Далі визначається рекурсивна формула для визначення n-го шару, при тому, що є відомим наступний (n +1) ий шар. dy n n w ( 1) ( 1) (7) Останній шар нейронної мережі знаходиться завдяки наявності цільового вектора, тобто вектора тих значень, які повинна видавати мережа при даному наборі вхідних значень. ( N ) ( N ) dyi ( yi di ) (8) w Kompletny algorytm uczenia sieci neuronowe: 1. Podać na weście neuronowe sieci eden z potrzebnych obrazów i oreślić wartość wyść sieci neuronowych. 2. Obliczyć wartość wyściowe warstwy sieci neuronowe za pomocą formuły (8) oraz obliczyć zmianę wagi wyściowe warstwy N według formuły (9). Również na tym etapie est przedstawienie wetorów w oleności losowe z bazy danych. 3. Obliczyć według formuł (7) i (9) odpowiednio innych warstw sieci neuronowe, n = N-1... 1. 4. Sorygować wszystie wagi sieci neuronowe w (N ) w i i dla i ( t) w 5. Jeżeli błąd est znaczący prześć do rou 1 [12]. Programowa realizaca otrzymanego algorytmu wyonana est za pomocą oprogramowania Delphi z wyorzystaniem bibliotei danych NeuralBase [11]. Bibliotea danych NeuralBase est przeznaczona do programowe realizaci sieci neuronowych. Bibliotea ta tworzy następuące dwa główne typy sieci neuronowych: wielowarstwową sieć neuronową i sieć Hopfilda (reurencyna sieć neuronowa), tóre uczą się z algorytmu zwrotnego rozprzestrzeniania się błędów. Wymieniona bibliotea danych może być łatwo wbudowana do innych programów. Jest to realizowane poprzez dostępność otwartego odu i zasadę tworzenia sieci neuronowe w postaci omponentów. Podczas realizaci programowe po naciśnięciu na "Naucz", liczba oresów ształcenia est przypisywana do zmienne prbepoch.max. i Формула (2) в розкритому вигляді: n i x (9) i Повний алгоритм навчання нейромережі: 1. Подати на вхід нейронної мережі один із потрібних образів і визначити значення виходів нейронів мережі. 2. Розрахувати значення вихідного шару нейронної мережі за формулою (8) і розрахувати зміни ваг вихідного шару N за формулою (9). Також на даному етапі проводиться представлення векторів у випадковому порядку з навчальної вибірки. (N ) 3. Розрахувати за формулами (7) і (9) відповідно w i для інших шарів нейронної мережі, n = N-1... 1. 4. Скорегувати всі ваги нейронної мережі. ( t 1) w i ( t) 5. Якщо помилка істотна, то перейти на крок 1 [12]. Програмна реалізація отриманого алгоритму здійснена на мові програмування Delphi з використанням бібліотеки NeuralBase [11]. Бібліотека NeuralBase призначена для програмної реалізації нейронних мереж. Дана бібліотека створює такі два основні типи нейронних мереж, як багатошарова нейронна мережа та мережа Хопфілда (рекурентна нейронна мережа), які навчаються за алгоритмом звотнього поширення помилки. Дана бібліотека легко вбудовується в інші програми. Це реалізовано завдяки наявності відкритого коду та принципу побудови нейронної мережі у вигляді компонентів. При програмній реалізації, після натиску на кнопку «Навчити», змінній prbepoch.max присвоюється кількість епох навчання. (4) (5)

p-issn 2083-0157, e-issn 2391-6761 IAPGOŚ 4/2015 95 - - - - - Rys. 3. Uczenie sieci neuronowe Мал. 3. Навчання нейронної мережі Po uruchomieniu te procedury atywue się procedurę NeuralNetBPEpochPassed dla wizualizaci procesu uczenia. Proces uczenia odbywa się z wyorzystaniem funci Neural- NetBP.TeachOffLine bibliotei NeuralBase. Po linięciu na eden z trzech przycisów model symulacyny realizue nachylenie elastycznego ramienia odbiornia w odpowiednie położenie i przywraca go do położenia początowego. Następnie oprogramowanie przypisue dostępne zmienne wartość przycisu, tóry został naciśnięty oraz wysyła ą do główne procedury przetwarzania danych. W zależności od wysłane wartości zmienne odbywa się onfiguraca wetora weściowego. Następnie sonfigurowany wetor weściowy est podawany na weście sieci neuronowe. Uzysane wartości z wetora wyściowego są reestrowane w wyściowe tablicy Mas_imov. Położenie elastycznego ramienia odbiornia est oreślone przez funce pozition(), do tóre są wysyłane dane z tablicy Mas_imov. Uzysane wynii są zapisywane w zmienne R1. Zmienne R1 oraz R0 zawieraą wartości: nawięsze prawdopodobieństwo występowania obietu sortowania (R1) oraz poprzednie położenie mechanizmu elastycznego ramienia (R0). Procedura Mexanism odzwierciedla pozycę, w tóre będzie znadowało się elastyczne ramię odbiornia, czeaąc na następny obiet. Aby przetestować otrzymany model, został stworzony zestaw do fizycznego modelowania procesu sortowania. Zestaw ten słada się z trzech części: sprzętu oraz systemów sterowania niższego i wyższego poziomu. Sprzęt obemue platformę programistyczną Arduino, czunii sortowania i urządzenie wyonawcze (trzy serwomechanizmy oraz odbiorni elastyczny). Arduino to wygodne narzędzie do szybiego rozwou urządzeń eletronicznych, z tórego mogą orzystać zarówno amatorzy, a i profesonaliści. Platforma ta est popularna na całym świecie ze względu na e użyteczność i łatwość oprogramowania. Równie ważnym czynniiem est to, że architetura i od programowania ma charater otwarty. Urządzenie est programowane przez USB bez wyorzystania programatorów. Urządzenia zaproetowane w oparciu o Arduino, mogą pozysiwać informace z różnych czuniów oraz mogą być podłączone do różnych urządzeń poprzez port USB i inne anały omuniaci (Bluetooth, Wi-Fi). Za pomocą te platformy możliwe est zarządzanie rożnymi mechanizmami wyonawczymi. Miroontroler est zaprogramowany w ęzyu Arduino (oparty o Writing) oraz przez środowiso opracowania Arduino (oparte o środowiso Processing). Proety urządzeń, opracowane w oparciu o Arduino, mogą pracować samodzielnie lub współpracować z oprogramowaniem omputerowym. Wszystie dane na temat platformy programistyczne Arduino i wszysto, co est z nią związane, est otwarte dla użytowniów. Elementy sładowe oraz dodatowe platformy rozszerzeń są szeroo rozpowszechnione w świecie. Schematy platform programistycznych oraz od oprogramowania typowych modeli można znaleźć zarówno na oficalne stronie firmy Arduino, a i analogicznych stronach raowych. Praca z taą informacą est łatwa i wygodna. Rys. 4. Możliwe pozyce elastycznego ramienia odbiornia w oczeiwaniu obietu Мал. 4. Можливі позиції гнучкого приймача при очікуванні об єкта Під час запуску цієї процедури активізується процедура NeuralNetBPEpochPassed для відображення процесу навчання. Процес навчання проходить завдяки використанню функції NeuralNetBP.TeachOffLine бібліотеки NeuralBase. При натисканні на одну з трьох кнопок імітаційна модель здійснить нахил гнучкого приймача у відповідне положення і поверне його в початкове. Потім програма присвоїть біжучій змінній значення кнопки, яка була натиснута, та відправить його в процедуру основної обробка даних. Залежно від того, яке саме значення біжучої змінної було відправлене, налаштовується вхідний вектор. Далі сформований вхідний вектор подається на вхід нейронної мережі. Отримані значення з вихідного вектора записуються у вихідний масив Mas_imov. Позиція гнучкого приймача визначається завдяки функції pozition(), в яку відправляються дані з масиву Mas_imov. Отримані результати записуються у змінну R1. Змінні R1 та R0 відображають значення, де найбільша ймовірість появи об єкта сортування (R1) та попереднє положення гнучкого привода (R0). Процедура Mexanism відображає положення, в якому буде перебувати гнучкий приймач, очікуючи наступний. Для перевірки отриманої моделі створено програмноапаратний комплекс фізичного моделювання процесу сортування. Програмно-апаратний комплекс сортування об єктів складається з трьох частин: апаратної частини, систем управління нижнього та високого рівня. В склад апаратної частини системи сортування входять плата Arduino, давачі та виконавчий механізм (три сервоприводи та гнучкий приймач). Arduino це зручний інструмент для швидкої розробки електронних пристроїв, який можуть використовувати як новачки, так і професіонали. Платформа популярна в усьому світі завдяки своїй зручності у користуванні і простоті мови програмування. Також вагомим фактором є те, що вся архітектура та програмний код знаходяться у відкритому доступі. Пристрій програмується через USB без використання програматорів. Пристрої, розроблені на базі Arduino, можуть отримувати інформацію від різноманітних давачів, можуть з єднуватись з різноманітними пристроями як через USB, так і іншими способами (Bluetooth, WiFi). За допомогою даної платформи ми маємо змогу управляти різними виконавчими механізмами. Мікроконтролер програмується завдяки мові Arduino (заснованій на мові Wiring) і середовищу розробки Arduino (заснованому на базі середовища Processing). Проекти пристроїв, розроблених на базі Arduino, можуть працювати самостійно, або ж взаємодіяти з програмним забезпеченням комп'ютера. Всі дані по Arduino і все, що з ним повязано, є відкритим для загального доступу. Складові частини платформи та додаткові плати розширення широко розповсюджені у світі. Схеми плат та програмний код типових програм можна знайти як на офіційних сайтах фірми Arduino, так і на вітчизняних аналогах. Працювати з даною інформацією дуже просто та зручно.

96 IAPGOŚ 4/2015 p-issn 2083-0157, e-issn 2391-6761 - - - - - Platforma Arduino słada się z: miroontrolera Atmel AVR (ATmega328, ATmega168 oraz ATmega8 w nowych i starych wersach) oraz elementów omuniaci do programowania i połączenia z innymi systemami. Wiele platform zawiera liniowy stabilizator napięcia +5 V lub +3,3 V. Tatowanie odbywa się przez rezonator warcowy o częstotliwości 16 lub 8 MHz. Wewnętrzny programator nie est potrzebny, ponieważ w miroontrolerze est preinstalowane oprogramowanie BootLoader. Na poziomie oncepcynym, wszystie platformy są programowane poprzez złącze RS-232, ale realizaca te metody est różna. Platforma Serial Arduino zapewnia prosty obwód do onwersi poziomów sygnału RS-232 na poziom TTL. Potoi sygnałów wysyłane są do platform, na przyład do Diecimila, programowane przez port USB, co est realizowane przez uład onwertera USB-to-FTDI FT232R. W wersi platformy Arduino Uno ao onwerter występue miroontroler ATmega8U2. Jao czuni informuący o obecności obietów sortowania w uładzie używany est czuni podczerwieni Sharp GP2Y0A21, ponieważ ma on czas reaci wynoszący 38 ± 10 ms, co odpowiada postawionym wymaganiom oraz ma napięcie 4,5 5,5 V i est oferowany w nisie cenie. Jedną z głównych funci w zestawie oprogramowania pełni mechanizm wyonawczy, tóry wyorzystue serwomechanizm. Serwomechanizm to uład, w tórym sterowanie odbywa się poprzez uemne sprzężenie zwrotne, co z olei pozwala doładnie ontrolować parametry ruchu. Serwomechanizm słada się z: 1. Dowolnego rodzau mechanizmu mechanicznego. 2. Czunia do śledzenia położenia, prędości czy przyspieszenia itp. 3. Blou sterowania mechanizmem est to system mechanicznych cięgien lub obwód eletroniczny, tóry automatycznie utrzymue wymagane parametry na czuniu zgodnie z góry oreśloną wartością (znane wartości zwrotne). Dla danego zadania wyorzystano serwomechanizmu Micro 9g Serwo ze względu na ego ompatowe wymiary 221229 mm, zasilanie 3 7,2 V oraz moment wału 1,5 g/cm. Dla realizaci systemu sterowania nisiego poziomu został opracowany algorytm pracy urządzenia sortowania w oparciu o miroontroler Arduino. Danymi weściowymi est informaca o obecności obietu sortowania. Uzysanie tych danych odbywa się poprzez trzy czunii. Jeśli w otoczeniu czunia poawi się obiet, z miroontrolera przesyłane est polecenie, tóre obraca mechanizm wyonawczy (serwomechanizm) i ustawia elastyczne ramię odbiornia w odpowiednie pozyci do przyęcia obietu. Miroontroler wysyła również informace o poawieniu się obietu do systemu wysoiego poziomu. Dla wdrożenia programowego wyorzystywane est oprogramowanie Wiring, tóre est przystosowane do pracy z serwomechanizmem i wybranymi czuniami. Wraz z opracowaniem systemu sterowania nisiego poziomu został opracowany system sterowania o poziomie wysoim. Jego dane weściowe to początowe położenie mechanizmu elastycznego oraz dane dotyczące poawienia się obietu otrzymane z Comporta. Aby zacząć pracę niezbędne są przyłady dla zbioru danych trenuących. Przy następne operaci, za pomocą zbioru danych trenuących odbywa się uczenie sieci neuronowe. Po wielorotnym przetwarzaniu duże ilość przyładów, system zrównoważy współczynni wagi, tóry est gotowy do użycia. Reacą na dane o zadziałaniu ednego z czuniów, tóre nadchodzą z ComPort, est tworzenie się wetora weściowego w sieci neuronowe oraz uzysanie wetora wyściowego, tóry wsazue na prawdopodobieństwo występowania obietu. Proces zapisu do wetora weściowego i uzysania wyściowego dla ażdego czunia odbywa się oddzielnie. В склад плати Arduino входить: мікроконтролер Atmel AVR (ATmega328 і ATmega168 в нових версіях і ATmega8 в старих), а також елементи зв язку для програмування та з єднань з іншими схемами. На багатьох платах присутній лінійний стабілізатор напруги +5 В або +3,3 В. Тактування здійснюється на частоті 16 або 8 МГц кварцовим резонатором. Зовнішній програматор не потрібен, тому, що у мікроконтролери попередньо прошивається завантажувач BootLoader. На концептуальному рівні всі плати програмуються через RS-232, але реалізація даного способу різниться. Плата Serial Arduino містить просту інвертуючу схему для конвертації рівнів сигналів RS-232 в рівні ТТЛ. Поточні сигнали розсилаються в плати, наприклад, Diecimila, програмуються через USB, що здійснюється завдяки мікросхемі конвертера USB-to-Serial FTDI FT232R. У версії платформи Arduino Uno як конвертер використовують мікроконтролер ATmega8U2. В якості давачів інформації про наявність об єктів сортування в програмно-апаратному комплексі використано ІЧ-давач Sharp GP2Y0A21, оскільки він має час реагування 38 ± 10 мс, що відповідає поставленим вимогам, напругу 4,5 5,5 В, а також низьку ціну. Одна з основних функцій в програмно-апаратному комплексі належить виконавчому механізму, який базується на сервоприводах. Сервопривід це привід, управління якого здійснюється через негативний зворотній зв'язок, що в свою чергу дозволяє точно керувати параметрами руху. В склад сервоприводу входить: 1. Будь-який механічний привід. 2. Давач для відслідковування положення, швидкості, зусилля і т.д. 3. Блок керування приводом це механічна система тяг чи електронна схема, яка автоматично підтримує необхідні параметри на давачі згідно наперед заданому значенню (заданому значенню повороту). Для даної розробки використано сервопривід Micro 9g Servo, оскільки його малогабаритні розміри 221229 мм, напруга 3 7.2 V, момент на валу 1.5 кг/см. Для реалізації системи управління низького рівня розроблений алгоритм роботи сортувального пристрою на базі мікроконтролера Arduino. Вхідними данними є інформація про наявність об`єкта сортування. Отримання цих даних здійснюється завдяки трьом давачам. Якщо в зоні давача з`являється об`єкт, тоді з мікроконтролера відправляється команда, яка повертає виконавчий механізм (сервопривід) та встановлює гнучкий приймач у відповідне положення для прийняття об єкта. Мікроконтролер також відправляє інформацію про появу об єкта на систему високого рівня. Для програмної реалізації застосовується мова програмування Wiring, яка пристосована для роботи з сервоприводами та обраними давачами. Після розробки системи управління низького рівня була розроблена система управління високого рівня. Вхідними даними є початкове положення гнучкого механізму та дані про появу об`єкта, отримані з ComPorta. Для початку роботи необхідні приклади для навчальної вибірки. В подальшому за допомогою навчальної вибірки проводиться навчання нейронної мережі. Після того, як система вказану n-ну кількість разів здійснить перебір прикладів, вона урівноважує вагові коефіцієнти та стає готовою до роботи. Реакцією на дані про спрацювання одного з давачів, що надходять через ComPort, є формування вхідного вектора нейронної мережі та отримання вихідного вектора про ймовірність появи об`єкта. Процес запису у вхідний вектор та отримання вихідного проходить для кожного давача окремо.

p-issn 2083-0157, e-issn 2391-6761 IAPGOŚ 4/2015 97 - - - - - Dane tablicy są wysyłane do funci, tóra oreśla położenie obrotów mechanizmów wyonawczych. Funca ta est oparta na wyborze nawięszego prawdopodobieństwa występowania obietu w obszarze ednego z czuniów. System nisiego poziomu, po przetworzeniu przez system sterowania wysoiego poziomu, otrzymue odpowiednią reacę w postaci liczby, tóra onfigurue mechanizmy wyonawcze do nowe pozyci lub pozostawia go w poprzednie. Rys. 5. Model fizyczny zestawu do sortowania obietów: 1, 2, 3 serwomechanizmy (wido z góry) Мал. 5. Фізична модель програмно-апартного комплексу сортування об єктів: 1, 2, 3 сервоприводи (вигляд зверху) W celu przetestowania wpływu elementu sterowania neuronowego na szybość sortowania przeprowadzono szereg esperymentalnych prac uładu zarówno w reżymie sterowania neuronowego, a i bez niego. Rys. 7. Zależność czasu reaci od liczby obietów sortowania z wyorzystaniem zestawu oprogramowania: 1 zwyłe sortowanie, 2 sortowanie z podeściem neuronowym Мал. 7. Залежність часу реакції від кількості об єктів сортування з використанням програмно-апаратний комплексу: 1 звичайне сортування, 2 сортування з нейроуправлінням Wyres z rys. 7 poazue, że przy małe liczbie obietów sortowania, użycie sterowania neuronowego nie est suteczne, ale przy liczbie obietów więsze niż 75 stosowanie neuronowe est uzasadnione. Wyres na rys. 8 wsazue, że omputerowy model symulacyny odpowiednio opisue proces sortowania i może być stosowany do badania systemu neuronowego. Масив даних відправляється у функцію, яка визначає позицію повороту виконавчих механізмів. Дана функція основана на виборі найбільшої ймовірності появи об єкта в зоні одного з давачів. Система низького рівня, після обробки програмою системи управління високого рівня, отримує реакцію у вигляді числа, яке переналаштовує виконавчі механізми в нове положення чи залишає його у попередньому. Rys. 6. Model fizyczny zestawu do sortowania obietów (wido z bou) Мал. 6. Фізична модель програмно-апартного комплексу сортування об єктів (вигляд збоку) Для перевірки впливу елемента нейроуправління на швидкість сортування проведено ряд експериментів роботи комплексу як в режимі нейроуправління, так і без нього. Rys. 8. Zależność czasu reaci od liczby obietów sortowania za pomocą omputerowego modelu symulacynego: 1 zwyłe sortowanie, 2 sortowanie sieci neuronowe Мал. 8. Залежність часу реакції від кількості об єктів сортування з використанням комп ютерно-імітаційної моделі: 1 звичайне сортування, 2 сортування з нейроуправлінням З представлених графіків (мал. 7) видно, що при малій кількості об єктів сортування застосування нейроуправління не оправдане, але при кількості об єктів більше 75 використання нейроуправління є оправданим. З графіків на рис. 8. видно, що комп ютерно-імітаційна модель адекватно описує процес сортування і може застосовуватись для вивчення системи нейроуправління.

98 IAPGOŚ 4/2015 p-issn 2083-0157, e-issn 2391-6761 - - - - - 2. Wniosi Otrzymany omputerowy model symulacyny odpowiednio opisue proces sortowania, zarówno w trybie normalnym i neuronowym. Opracowane oprogramowanie nisiego poziomu pracue z elementem neuronowym (element sterowania wysoiego poziomu). Zastosowanie podeścia neuronowego est uzasadnione przy więsze liczbie elementów sortowania niż 75. Podzięowania Praca powstała w ramach proetu PL-NTU Transgraniczna wymiana doświadczeń PBU.03.01.00-06-386/11-00 współfinansowanego w ramach Programu Współpracy Transgraniczne Polsa Białoruś Uraina 2007 2013 finansowanego ze środów Unii Europesie w ramach Europesiego Instrumentu Sąsiedztwa i Partnerstwa. Niniesza publiaca została stworzona przy pomocy Unii Europesie. Wyłączną odpowiedzialność za zawartość niniesze publiaci ponosi Jaroslav Lotysz oraz w żaden sposób nie może być ona postrzegana ao odzwierciedlenie poglądów Unii Europesie. Literatura Література [1] Basanova T. F., Lanyn Yu. P.: Neyrosetevye alhorytmy samostoyatelʹnoy adaptatsyy. Sborny nauchnyh trudov: Vserossyysaya nauchnotehnychesaya onferentsyya "Neyroynformatya-99". CH. 1, 1999, 17 24. [2] Dorohov A. Yu., Aleseev A. A.: Matematychesye modely bystryh neyronnyh setey. V sb. nauchn. tr. "Systemy upravlenyya y obraboty ynformatsyy". Vyp. 490, 1996. [3] Gill P. E., Murray W., Wright M. H.: Practical Optimization, Academic Press, New Yor 1981. [4] Hopfield J.: Neural networs and physical systems with emergent collective computational abilities, Proceedings of National Academy of Sciences, vol. 79 no. 8, 2554 2558. [5] Losutov A. YU., Myhaylov A. S.: Vvedenye v synerhetyu, Naua, Mosva 1990. [6] Mrtchyan C. O.: Neyrony y neyronnye sety (Vvedenye v teoryyu formalʹnyh neyronov), Énerhyya, Mosva 1971. [7] Muller В., Reinhardt J.: Neural Networs. An introduction, Springer-Verlag, Berlin 1991. [8] Surovtsev Y. S., Klyuyn V. Y., Pyvovarova R. P.: Neyronnye sety, VHU, Voronezh 1994. Mgr Jaroslav Lotysz e-mail: aropost@gmail.com 2. Висновок Отримана комп ютерно-імітаційна модель адекватно описує процес сортування як у звичайному режимі, так і в режимі нейроуправління. Розроблене програмне забезпечення низкого рівня узгоджено працює з нейроелементом (елемент управління високого рівня). Застосування нейроуправління є оправданим при кількості елементів сортування більше 75. Завдяки Робота створена в рамках проекту PL-NTU Прикордонного обміну досвідом PBU.03.01.00-06-386/11-00, фінансованих в рамках Програми Транскордонного Співробітництва Польща Білорусь Україна 2007 2013 фінансується Європейським Союзом в рамках Європейського Iнструменту Cусідства та Партнерства. Ця публікація була створена за допомогою Європейського Союзу. Відповідальність за зміст цієї публікації лежить на Ярославові Лотишові, і жодним чином не може розглядатися як відображення поглядив Європейського Союзу. [9] Volʹenshteyn M. B.: Byofyzya: Ucheb. ruovodstvo, Naua, Mosva 1988. [10] Wasseman P. D.: Neural computing: theory and practice, Van Nostrand Reinhold Co., New Yor 1989. [11] Analysis of cryptographic algorithms on neural networs: http://scsp.org.ua/files/spring/2010/olga_provotar- Analysis_of_cryptographic_algorithms_on_neural_networs.pdf [12] BaseGroup Labs: http://www.basegroup.ru/ [13] Vyypedyya. Neyronnaya setʹ Khopfylda: https://ru.wiipedia.org/wii/%d0%9d%d0%b5%d0%b9%d1%80%d0%be %D0%BD%D0%BD%D0%B0%D1%8F_%D1%81%D0%B5%D1%82%D1%8 C_%D0%A5%D0%BE%D0%BF%D1%84%D0%B8%D0%BB%D0%B4%D0 %B0 [14] Yspolʹzovanye alhorytma obratnoho rasprostranenyya oshyby: http://sernam.ru/boo_gen.php?id=69 [15] Neyronnaya setʹ Khopfylda y ee prymenenye: http://iasa.org.ua/lections/tpr/neuro/hopfield.htm Магістр Ярослав Лотиш e-mail: aropost@gmail.com Jaroslav Lotysh urodził się w 1992 rou w Łucu. W 2009 rou dostał się na studia do Narodowego Uniwersytetu Technicznego w Łucu, Лотиш Ярослав Володимирович народився в 1992 році в місті Луцьку. В 2009 році поступив до Луцького національного specalność "Automatyczne Sterowanie Procesami Technicznymi". технічного університету, на спеціальність «Автоматизоване Magistrant Wydziału Automatycznego Sterowania Procesami Producynymi управління технологічними процесами». na Narodowym Uniwersytecie Technicznym w Łucu. Магістр кафедри автоматизованого управління виробничими Otrzymał stypendium Prezydenta Urainy oraz stypendium Funduszy Charytatywnych "Igora Pałyci". Posiada doświadczenie w zaresie zintegrowane omputerowe technologii, zwłaszcza w opracowaniach sprzętu i oprogramowania opartych na apliaci miroontrolera Arduino i platformy Android. Zainteresowania badawcze obemuą omputerowe i symulacyne процесами Луцького національного технічного університету. Степендіат академічної стипендії Президента України та степендій благодійного фонду «Фонд Ігоря Палиці». Має досвід роботи в галузі комп'ютерно-інтегрованих технологій, зокрема в розробці програмно-апаратних комплексів на базі мікроконтролера ARDUINO та додатків на платформі Android. modelowanie, oprogramowanie. Наукові інтереси: комп ютерне та имитаціне моделювання, програмування. otrzymano/отримано/received: 11.03.2015 przyęto do druu/прийнято до друку/accepted: 27.08.2015