This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| ru:projects:wheeled_robot [2013/08/17 09:58] – eduardtlmk | ru:projects:wheeled_robot [2020/07/20 09:00] (current) – external edit 127.0.0.1 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Платформа мобильного робота ====== | ====== Платформа мобильного робота ====== | ||
| - | Подвижный робот (мобильный робот) является одним из популярных роботов, | + | Подвижный робот (мобильный робот) является одним из популярных роботов, |
| Далее рассмотрим документацию одной типичной мобильной платформы проекта робота и его различных этапов. | Далее рассмотрим документацию одной типичной мобильной платформы проекта робота и его различных этапов. | ||
| Line 25: | Line 25: | ||
| * Должна быть построена в основном из компонентов Домашней Лаборатории | * Должна быть построена в основном из компонентов Домашней Лаборатории | ||
| - | * Стоймость компонентов не должна превышать 600 € | + | * Стоимость компонентов не должна превышать 600 € |
| - | ~~PB~~ | + | < |
| ===== Общая модель системы ===== | ===== Общая модель системы ===== | ||
| Line 33: | Line 33: | ||
| Общая модель системы представлена в виде блок-схемы. Она описывает структуру, | Общая модель системы представлена в виде блок-схемы. Она описывает структуру, | ||
| - | [{{ : | + | [{{ : |
| ===== Проектные решения ===== | ===== Проектные решения ===== | ||
| Line 39: | Line 39: | ||
| Для решения этой задачи команда использовала метод мозгового штурма и сгенерировала 3 концептуально разных решения. Была составлена оценочная матрица, | Для решения этой задачи команда использовала метод мозгового штурма и сгенерировала 3 концептуально разных решения. Была составлена оценочная матрица, | ||
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| Упрощённая оценочная матрица выглядит следующим образом: | Упрощённая оценочная матрица выглядит следующим образом: | ||
| ^ Функция/ | ^ Функция/ | ||
| - | |Стоймость| 3 | 4 | 6 | 0,8 | | + | |Стоимость| 3 | 4 | 6 | 0,8 | |
| |Сложность изгатовления | 2 | 4 | 7 | 0,7 | | |Сложность изгатовления | 2 | 4 | 7 | 0,7 | | ||
| |Манёвренность | 4 | 8 | 8 | 0,5 | | |Манёвренность | 4 | 8 | 8 | 0,5 | | ||
| Line 54: | Line 54: | ||
| ^Итого (вместе с вес.коэффициентом) ^ 15,8^20,8^ 24,4^ ^ | ^Итого (вместе с вес.коэффициентом) ^ 15,8^20,8^ 24,4^ ^ | ||
| - | Hindamisskaala oli 1-10 punkti ja kaalutegur | + | Оценочная шкала была |
| - | Hindamise tulemusena osutus antud ülesande optimaalseimaks lahenduseks variant I - ratastel liikuv kahe eraldi mootoriga platvorm. Kuna lähteülesandes oli lubatud kasutada ka olemasolevaid veermikke teostati kiire uuring ja valiti kolm olemasolevat platvormi, mida võrreldi ideelahenduse võitnud kontseptsiooniga. Võrdlus viidi läbi samadel tingimustel, | + | Судя по оценке, оптимальным решением для данной задачи оказалась спутниковая платформа на двух колесах с двумя отдельными двигателями. Дальнейшая работа продолжала развивать выбранное решение в реальной системе. |
| - | ^ Funktsioon/Lahendus ^ Ideelahendus | + | ^ Функция/Решение ^ Проектное решение |
| - | |Maksumus | 3 | 8 | 6 | 0,8 | | + | |Стоимость | 3 | 8 | 6 | 0,8 | |
| - | |Valmistamise keerukus | 2 | 8 | 9 | 0,7 | | + | |Сложность изготовления | 2 | 8 | 9 | 0,7 | |
| - | |Manööverdamisvõime | 4 | 6 | 8 | 0,5 | | + | |Манёвренность | 4 | 6 | 8 | 0,5 | |
| - | |Läbivus | 5 | 3 | 10 | 0,3 | | + | |Проходимость |
| - | |Kodulabori rakendatavus | 5 | 6 | 8 | 0,9 | | + | |Приминяемость Домашней Лаборатории | 5 | 6 | 8 | 0,9 | |
| - | |Kaal | 5 | 7 | 6 | 0,8 | | + | |Вес |
| - | |Lisaseadme paigalduse ruum | 10 | 2 | 7 | 0,8 | | + | |Место для установки доп.оборудования |
| - | ^Kokku (koos kaaluteguriga) ^ 23,8^23,5^ 35,7^ ^ | + | ^Итого(вместе с вес.коэффициентом) ^ 23,8^23,5^ 35,7^ ^ |
| - | Kuna üheks olulisemaks prioriteediks oli peale kodulabori komponentide kasutamise hind, siis otsustati valmislahenduse | + | Так как один из наиважнейших приоритетов была цена, то было выбрано готовое решение |
| - | Edasine töö jätkus valitud lahenduse edasiarendusega reaalseks süsteemiks. | + | Дальнейшая работа продолжала развивать выбранное решение в реальной системе. |
| - | ~~PB~~ | + | < |
| - | ===== Mehaanika | + | ===== Механика |
| - | Mehaanika püüti valmistada võimalikult lihtne, järgides samal ajal modulaarsuse põhimõtet. Esimene ja tagumine põrkeraud on identsed moodulid. Elektroonika osas on kasutatud kolme moodulit, mis on paigutatud üksteise peale, võimaldades nii lihtsaid ribakaabelühendusi ja tagades samal ajal moodulite suhteliselt lihtsa vahetatavuse. Mootoriteks on valitud Kodulabori komplektis olevad integreeritud reduktori ja koodriga mootorid, mis on ühendatud otse mootorite ajurplaadiga. Ratasteks on kasutatud mudellennuki rattaid, mis on väga kerged ja piisavalt tugevad antud roboti jaoks. Valmistamise lihtsuse huvides on roboti alusplaat ja pealmine plaat identsed. Plaadid on varustatud avadega, võimaldades nii pealmisele plaadile kinnitada erinevaid seadmeid. Kahe plaadi vahele mahub lisaks elektroonikamoodulitele ka aku. | + | Механику постарались сделать как можно более простой, но в то же время в соответствии с принципом модульности. Передний и задний бампер - это идентичные модули. Электроника – это три модуля, которые размещены друг над другом, позволяя простые соединения ленточного кабеля, |
| - | [{{ : | + | [{{ : |
| - | Eraldi on projekteeritud roboti põrkeraud, mis on integreeritud puute- ja joonejälgimise anduritega. Põrkerauad on valmistatud trükiplaatidest, | + | Бампер робота проектируется отдельно и интегрирован с сенсорными датчиками и датчиками отслеживания линий. Бампер сделан из ПХБ и имеет электричество в дополнение к конструкции. Датчики отслеживания линий припаяны непосредственно к бамперу нижней пластины. Сенсорные датчики |
| - | [{{ : | + | [{{ : |
| - | ===== Elektroonika | + | ===== Электроника |
| - | Süsteemi elektroonika on kirjeldatud põhimõttelahendusena ja klassikalise elektriskeemina koos trükiplaadi montaažiskeemina. | + | Электроника системы описана принципиальным решением и классической электронной схемой со схемой монтажа печатной платы. |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| - | Näitena on toodud roboti põrkeraua joonejälgimise andurite elektriskeem ja vastava trükiplaadi | + | В качестве примера приведена схема электроники датчиков отслеживания линий и монтажная схема печатной платы |
| - | [{{ : | + | [{{ : |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| - | ===== Juhtimine | + | ===== Система управления |
| - | Roboti juhtimine tuleneb süsteemi käitumismudelist ja on määratud lähteülesande funktsionaalsusega ning nõuete ja piirangutega. Süsteemi käitumismudelist luuakse täpsustatud juhtprogrammi algoritm, millest omakorda lähtutakse tarkvara programmikoodi koostamisel. Kõik kolm taset (käitumismudel-algoritm-lähtekood) peavad olema omavahel kooskõlas. | + | Система управления роботом происходит из поведенческой модели и определяется функциональностью, |
| - | ==== Algoritm | + | ==== Алгоритм |
| - | Algoritm kirjeldab süsteemi juhtloogikat ja on esitatud plokkdiagrammina. Lihtsama algoritmi koostamiseks piisab paarist elemendist ja nendevaheliste seoste kirjeldamisest. Kui roboti algoritm on koostatud korrektselt, siis on sellest roboti juhtprogrammi juba suhteliselt lihtne koostada. | + | Алгоритм описывает логику управления системой и изображен в виде блок-схемы. Нескольких элементов и описания их соотношений достаточно, |
| - | Algoritmis on kasutatud põhiliselt kahte erinevat objekti: ümardatud nurkadega ristkülik, mis tähistab mingit tegevust ja väike romb mingi tingimuse kontrollimiseks, millele järgneb vastavalt kontrolli tulemusena edasiste tegevuste käivitamine. | + | В алгоритме обычно используется два различных объекта: прямоугольник с закругленными углами, |
| - | Algoritmis kasutatud tähiste tähendused: | + | Значения символов, |
| - | ^Tähis^Tähendus^0^1^-1^ | + | ^Символ^Значение^0^1^-1^ |
| - | |M1|vasak mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| | + | |M1|левый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| |
| - | |M2|parem mootor|seisab|pöörleb päripäeva|pöörleb vastupäeva| | + | |M2|правый двигатель|стоит|крутится по часовой стрелке|крутится против часовой стрелки| |
| - | |F|esimene keskmine puuteandur|signaal puudub|signaal olemas| | | + | |F|первый средний сенсор касания|нет сигнала|есть сигнал| | |
| - | |FR|esimene parem puuteandur|signaal puudub|signaal olemas | + | |FR|первый правый сенсор касания|нет сигнала|есть сигнал |
| - | |FL|esimene vasak puuteandur|signaal puudub|signaal olemas | + | |FL|первый левый сенсор касания|нет сигнала|есть сигнал |
| - | |d|viide| | | | | + | |d|ссылка| | | | |
| - | [{{ : | + | [{{ : |
| - | ==== Lähtekood | + | ==== Исходный код |
| - | Lihtne navigeerimine | + | Простая навигация |
| <code c> | <code c> | ||
| #include < | #include < | ||
| Line 129: | Line 129: | ||
| #include < | #include < | ||
| - | // Põrkeandurite viikude defineerimine | + | // Определение выводов бампера |
| pin front = PIN(C, 0); | pin front = PIN(C, 0); | ||
| pin frontleft | pin frontleft | ||
| Line 135: | Line 135: | ||
| // | // | ||
| - | // Põhiprogramm | + | // Основная программа |
| // | // | ||
| int main(void) | int main(void) | ||
| { | { | ||
| - | // Mootorite | + | // Инициализация двигателей |
| dcmotor_init(0); | dcmotor_init(0); | ||
| dcmotor_init(1); | dcmotor_init(1); | ||
| - | // Andurite viigud sisendiks | + | // Выводы сенсоров входами |
| pin_setup_input_with_pullup(front); | pin_setup_input_with_pullup(front); | ||
| pin_setup_input_with_pullup(frontleft); | pin_setup_input_with_pullup(frontleft); | ||
| pin_setup_input_with_pullup(frontright); | pin_setup_input_with_pullup(frontright); | ||
| - | // Lõputu tsükkel | + | // Бесконечный цикл |
| while (true) | while (true) | ||
| { | { | ||
| - | // Mootorite päripäeva käivitamine | + | // Запуск двигателей по часовой стрелке |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| | | ||
| - | // Keskmise anduri signaali kontroll | + | // Контроль сигнала среднего сенсора |
| if (pin_get_value(front)) | if (pin_get_value(front)) | ||
| { | { | ||
| - | // Mootorite reverseerimine | + | // Реверсирование двигателей |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| - | // Paus 1 sekund | + | // Пауза в 1 секунду |
| sw_delay_ms(1000); | sw_delay_ms(1000); | ||
| - | // Vasaku mootori päripäeva käivitamine | + | // Запуск левого мотора по часовой стрелке |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| - | // Paus 2 sekundit | + | // Пауза в 2 секунды |
| sw_delay_ms(2000); | sw_delay_ms(2000); | ||
| } | } | ||
| - | // Vasaku anduri signaali kontroll | + | // Контроль сигнала левого сенсора |
| else if (pin_get_value(frontleft)) | else if (pin_get_value(frontleft)) | ||
| { | { | ||
| - | // Parema mootori reverseerimine | + | // Реверсирование правого двигателя |
| dcmotor_drive(1, | dcmotor_drive(1, | ||
| - | // Paus 2 sekundit | + | // Пауза в 2 секунды |
| sw_delay_ms(2000); | sw_delay_ms(2000); | ||
| } | } | ||
| - | // Parema anduri signaali kontroll | + | // Контроль сигнала правого сенсора |
| else if (pin_get_value(frontright)) | else if (pin_get_value(frontright)) | ||
| { | { | ||
| - | // Vasaku mootori reverseerimine | + | // Реверсирование левого двигателя |
| dcmotor_drive(0, | dcmotor_drive(0, | ||
| - | // Paus 2 sekundit | + | // Пауза в 2 секунды |
| sw_delay_ms(2000); | sw_delay_ms(2000); | ||
| } | } | ||
| Line 195: | Line 195: | ||
| </ | </ | ||
| - | ~~PB~~ | + | < |
| - | ===== Valmislahendus | + | ===== Готовое решение |
| - | Projekti raames valminud robotplatvorm on valmistatud üldjoontes plastikust, välja arvatud mootori kinnitused, mis on valmistatud alumiiniumprofiilist. Elektroonikamoodulid on paigutatud üksteise peale, aku on lahtiselt kahe plaadi vahel. Põrkerauad on valmistatud trükkplaadist ja värvitud mustaks. Roboti pealmine plaat on täiesti sile, võimaldades sinna kinnitada erinevaid soovitud seadmeid. Projekti raames paigaldati robotplatvormile lihtne radar, mis koosnes väikesest | + | Созданная в рамках этого проекта платформа робота в значительной степени состоит из пластика, за исключением креплений двигателя, которые сделаны из алюминия. Электронные модули размещены поверх друг друга, и аккумулятор свободно помещается между пластинами. Бамперы сделаны из печатных плат и окрашены в черный цвет. Верхняя плата робота является абсолютно плоской, позволяя прикреплять различные выбранные устройства. На робота был установлен несложный радар, который состоит из небольшого серводвигателя |
| - | [{{ : | + | [{{ : |
| - | [{{ : | + | [{{ : |
| - | ~~PB~~ | + | < |
| - | ===== Majanduskalkulatsioon | + | ===== Финансовый расчёт |
| - | Majanduslik kalkulatsioon hõlmab endas komponentide maksumust ja roboti detailide valmistamise ning koostamise kulusid. | + | Финансовый расчёт включает в себя стоимость компонентов и затраты на изготовление роботов. |
| - | Komponentide maksumuse tabel | + | Таблица стоймости компонентов |
| - | ^Komponent^Mark^Kogus^Hind^Maksumus^ | + | ^Компонент^Марка^Кол-во^Цена^Стоимость^ |
| - | |Mootor|M LE149.6.43|2|500.-|1000.-| | + | |Двигатель|M LE149.6.43|2|500.-|1000.-| |
| - | |Mikrokontroller|uC ATmega128|1|900.-|900.-| | + | |Микроконтроллер|uC ATmega128|1|900.-|900.-| |
| - | |Mootorite juhtplaat|Actuator Board v1.2|1|700.-|700.-| | + | |Актуатор двигателя|Actuator Board v1.2|1|700.-|700.-| |
| - | |Toiteplaat|TP|1|500.-|500.-| | + | |Плата питания|TP|1|500.-|500.-| |
| - | |Joonejälgimise andurid|LFS QRD1114|8|30.-|240.-| | + | |Датчики линейного отслеживания|LFS QRD1114|8|30.-|240.-| |
| - | |Puuteandurid|TS Microswitch|8|25.-|200.-| | + | |Сенсоры касания|TS Microswitch|8|25.-|200.-| |
| - | |Kere plaat|ABS |4|50.-|200.-| | + | |Плата корпуса|ABS |4|50.-|200.-| |
| - | |Trükiplaadi toorik| |2|50.-|100.-| | + | |Заготовка печатной платы| |2|50.-|100.-| |
| - | |Mootorikinnituse profiil|Al-L |2|10.-|20.-| | + | |Профиль крепления двигателя|Al-L |2|10.-|20.-| |
| - | |Ratas|60/10 mm |2|30.-|60.-| | + | |Колесо|60/10 mm |2|30.-|60.-| |
| - | |Aku|NI-MH 9,6 V|1|350.-|350.-| | + | |Аккумулятор|NI-MH 9,6 V|1|350.-|350.-| |
| - | |Erinevad kaablid| |10|20.-|200.-| | + | |Различные кабели| |10|20.-|200.-| |
| - | |Mutrid-poldid| |1|50.-|50.-| | + | |Гайки-болты| |1|50.-|50.-| |
| - | |Muud tarvikud| |1|100.-|100.-| | + | |Другие принадлежности| |1|100.-|100.-| |
| - | ^ Kokku | + | ^ Итого^ ^ ^ ^ 4620.- ^ |
| - | Hinnanguline tööjõu- ja tootmiskulu üksikeksemplari korral. | + | Оценка труда и себестоимости производства в одном экземпляре робота. |
| - | ^Töö^Aeg (h)^Hind^Maksumus^ | + | ^Работа^Время |
| - | |Konstruktsioonidetailide freesimine|1|300.-|300.-| | + | |Фрезеровка деталей конструкции|1|300.-|300.-| |
| - | |Trükiplaatide | + | |Фрезеровка печатных плат |
| - | |Roboti konstruktsiooni koostamine|0, | + | |Составление конструкции робота|0, |
| - | |Põrkeraudade koostamine | + | |Составление бампера |
| - | |Programmeerimine|5|300.-|1500.-| | + | |Программирование|5|300.-|1500.-| |
| - | |Dokumentatsiooni koostamine|3|250.-|750.-| | + | |Составление документации|3|250.-|750.-| |
| - | ^Kokku^ 11 ^ ^ 3225.- ^ | + | ^Итого^ 11 ^ ^ 3225.- ^ |
| - | Roboti hinnanguline maksumus kokku **7845.-** | + | Оценочная стоимость робота всего |
| - | Arvutatud roboti maksumus on siiski hinnanguline, kuna tegemist on õppeotstarbelise projektiga, kus enamik tööd ja koostamist on tehtud oluliselt suuremas mahus, kuid otsese rahalise tasuta. Seetõttu on töö- ja ajakulu ligikaudne ja ei kajasta tegelikku olukorda. | + | Высчитанная стоимость робота всё же приблизительная, так как это учебный проект, где большинство работ и составлений выполнено в значительно большем объёме, но без прямой денежной оплаты. Таким образом, |
| - | ===== Projektijuhtimine | + | ===== Управление проектом |
| - | Mehhatroonikasüsteem | + | Мехатронная система |
| - | [{{ : | + | [{{ : |
| - | ===== Kokkuvõte ja järeldused | + | ===== Резюме и выводы |
| - | Majanduslik kalkulatsioon näitas meile, et roboti tootmishind on üsna kõrge, eriti kui tegemist on ainueksemplariga, kuid jäi siiski lähteülesandes etteantud piiridesse. Tootmise hinda saaks kindlasti oluliselt alandada, optimeerides komponentide ja materjalikulu ning tootes korraga suurema koguse roboteid. Projekti käigus tutvusime mehhatroonikasüsteemi projekteerimise, valmistamise ja testimisega, mis andis meile esmakordse sellelaadse kogemuse. | + | Финансовые расчеты показали, что себестоимость производства робота довольно высока, особенно при работе с одним роботом, но всё же остается в пределах первоначальной задачи. Затраты на производство, безусловно, |
| - | Töö lõpus selgus tõsiasi, et roboti korralikuks töötamiseks on vaja oluliselt rohkem aega planeerida testimisele, seda eriti tarkvara osas. Erinevad moodulid ei pruugi alati koos korrektselt töötada, kuigi eraldi katsetades oli kõik korras. See näitab, et süsteemi moodulite integreerimine on tõsine väljakutse ja selleks tuleb planeerida oluliselt rohkem aega ja ressurssi. | + | В конце работы выяснилось, что для исправной работы робота требуется значительно больше времени затратить на планирование и тестирование, особенно по части программы. Разные модули не всегда работают вместе корректно, хоть и были в порядке при их отдельном тестировании. Это показывает, что интегрирование модулей системы - это настоящий вызов и на него требуется запланировать значительно больше времени и ресурсов. |
| - | Kokkuvõteks arvame, et projekt oli väga huvitav ja hariv ning andis aimu integreeritud süsteemide projekteerimisest ja valmistamisest. | + | В заключении считаем, что данный проект был очень интересным и познавательным и дал представление о проектировании и изготовлении интегрированной системы. |
| - | ===== Viited ja kasutatud materjalid | + | ===== Ссылки и использованные материалы |
| - | - Kodulabori juhendmaterjal | + | - Инструкция Домашней Лаборатории |
| - | - ATmega128 | + | - Спецификация |
| - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 | - Dudziak, R., Köhn, C., Sell, R., Integrated Systems & Design, TUT Press, 2008 | ||
| - Friendenthal, | - Friendenthal, | ||
| - Perens, A. Projektijuhtimine, | - Perens, A. Projektijuhtimine, | ||
| - Bräunl, T. Embedded Robotics, Springer-Verlag, | - Bräunl, T. Embedded Robotics, Springer-Verlag, | ||