[{"content":"Поняття робота та кобота Промисловий робот — це керована автоматизована машина, здатна виконувати рухи з високою точністю та повторюваністю відповідно до заданої програми. У міжнародних стандартах, зокрема ISO 8373, робот визначається як «маніпулятор з трьома або більше ступенями рухливості, запрограмований для виконання різноманітних задач, що не обмежуються одним конкретним застосуванням». Типовий промисловий робот працює в ізольованій зоні, оснащеній огородженнями та системами безпеки, оскільки його рухи характеризуються великою силою, масою та швидкістю (див. рисунок 1.1.1).\nРисунок 1.1.1 Приклад промислових роботів, що працюють в ізольованій зоні виробництва\nПоява колаборативних роботів стала наступним етапом розвитку робототехніки. Колаборативний робот (англ. collaborative robot або cobot) — це роботизований маніпулятор, розроблений для безпечної взаємодії з людиною у спільному робочому просторі. На противагу традиційним роботам, коботи відповідають вимогам стандарту ISO/TS 15066, який регламентує допустимі сили, тиски й умови контакту людини з роботом. Завдяки цьому кобот може працювати поруч з оператором без необхідності встановлення класичних металевих огорож.\nОднією з ключових особливостей колаборативних роботів є їхня сенсорна насиченість. У більшості конструкцій застосовуються датчики сили/моменту, моделі динамічного контролю, моніторинг струмів у приводах та алгоритми оцінки зовнішніх впливів. Завдяки цьому кобот здатний обмежувати швидкість або зупинятися негайно при виявленні контакту. Це робить такий тип роботів особливо придатним для навчальних лабораторій, дрібносерійного виробництва, операцій складання та взаємодій, де важлива участь людини.\nНа рисунку 1.1.2 наведено приклад колаборативного маніпулятора Estun S-серії, до якої належить робот Estun S5-90 PRO, встановлений у навчальній комірці.\nРисунок 1.1.2. Колаборативний робот Estun S-серії\nФункціональне призначення кобота відрізняється від традиційного робота не лише підходами до безпеки, а й філософією застосування. Кобот є інструментом, який доповнює людину, а не замінює її, виконуючи задачі з високою повторюваністю, точністю або монотонністю. Він легко перепрограмовується, має ергономічну конструкцію, низьку масу та інтерактивні методи навчання, що дозволяє швидко адаптувати його під нові задачі. Такі властивості роблять колаборативні системи універсальним елементом сучасної гнучкої автоматизації.\nПромислові роботи залишаються незамінними у важких технологічних процесах: зварюванні, фарбуванні, литті, високошвидкісному пакуванні чи палетизації. Натомість коботи найчастіше застосовуються у сфері складання, обслуговування обладнання, контролю якості, Pick \u0026amp; Place, сервісної робототехніки та навчання. Узагальнене технічне порівняння характеристик наведено у таблиці 1.1.1 (див. таблицю 1.1.1).\nТаблиця 1.1.1. Порівняння промислового робота та кобота\nХарактеристика Промисловий робот Колаборативний робот Рівень безпеки Потребує огорож, зовнішніх замків та бар’єрів Побудовані на принципах безпечної взаємодії людини і робота Жорсткість конструкції Висока, орієнтована на навантаження і точність Знижена для пом’якшення контакту та обмеження сил Швидкість та прискорення Значно вищі Обмежені стандартами безпеки Масово-габаритні показники Важчі, потужніші приводи Легші, мобільніші, простіші в інсталяції Необхідний рівень підготовки Високий, потребує глибоких знань Знижений, інтуїтивні методи навчання Типи задач Важкі промислові процеси Гнучкі, навчальні та інтерактивні операції Середовище роботи Ізольоване Спільний простір із людиною 1.2. Конструктивні особливості коботів та сфери застосування Корпус колаборативних роботів виконується з легких матеріалів та має згладжену форму без гострих кромок. Усі елементи механічних з’єднань ізольовані, а приводи закриті герметичними кожухами. Вузли робота мають знижені інерційні характеристики, що дозволяє швидко реагувати на зовнішні впливи та забезпечує безпеку рухів.\nВажливою особливістю колаборативних роботів Estun S-серії є застосування роботизованих приводів із підвищеною чутливістю: система моніторить струм у кожному двигуні, оцінює зовнішні сили та динамічні зміни у реальному часі. Завдяки цьому кобот здатен моментально знижувати швидкість або зупиняти рух у випадку контакту з оператором. Алгоритми динамічного контролю враховують масу маніпулятора, положення кожної осі та швидкість руху, що дозволяє забезпечити точне виконання завдань із мінімальним ризиком.\nКоботи також оснащені розвиненою системою інтерфейсів для підключення інструментів та периферії.\nУ моделях Estun використовується поєднання цифрових I/O, польових шин та мережевих протоколів, що забезпечує сумісність з широким спектром гриперів та датчиків. Наявність 6 чи більше ступенів вільності дозволяє виконувати складні багатовекторні рухи, що є особливо важливим у задачах складання та маніпулювання дрібними об’єктами.\nЗ точки зору керування, коботи орієнтовані на просте навчання. Середовище Codroid App дозволяє вручну переміщати маніпулятор у потрібні положення, зберігати точки та формувати програму за принципом блокової логіки. Завдяки цьому студент може швидко освоїти базові принципи програмування роботів без необхідності вивчення складних мов.\nКолаборативні роботи застосовуються в тих процесах, де необхідна взаємодія між людиною та автоматизованою системою, або де потрібна гнучкість і швидка зміна виробничих задач. Коботи не розраховані на великі швидкості чи великі навантаження, однак ідеально підходять для точних, акуратних та повторюваних дій. Найчастіше їх використовують у таких операціях, як складання компонентів, пакування, сортування, контроль якості, обслуговування машин, а також у навчальних процесах.\nНижче наведено узагальнену характеристику поширених сфер застосування коботів (див. таблицю 1.2.1).\nТаблиця 1.2.1. Основні сфери застосування колаборативних роботів\nСфера застосування Типові операції Особливості використання Виробництво та складання Монтаж дрібних деталей, гвинтові операції, прецизійне позиціонування, робота з хрупкими компонентами Підвищена точність і можливість ручного навчання шляхом переміщення руки робота Логістика та пакування Pick\u0026amp;Place, сортування, укладання у контейнери, етикетування Швидка зміна партій продукції, адаптація без перепрограмування станків Контроль якості та візуальний інспекційний контроль Оптичний контроль, контроль геометрії, 3D-сканування, вимірювання Плавні рухи, стабільність підходу до контрольованого об’єкта, інтеграція з камерами Обслуговування обладнання (Machine Tending) Завантаження/розвантаження ЧПК-верстатів, пресів, інспекційних станцій Робота на відкритих верстатах поруч із оператором, відсутність необхідності в огорожах Пайка та дрібні технологічні операції Пайка електронних компонентів, нанесення клею, герметиків, дозування Малі сили контактної взаємодії, повторювані траєкторії з високою точністю Полірування та шліфування легких деталей Фінішна обробка, полірування, матування поверхонь Використання контролю сили, адаптивне ведення інструмента по поверхні Навчальні та демонстраційні лабораторії Навчальне програмування, демонстрація промислових процесів Інтуїтивне керування, навчання через мобільний інтерфейс Codroid App Медичні та біотехнологічні процеси Дозування, маніпуляції з лабораторними контейнерами, допоміжні функції Робота у стерильному середовищі, висока повторюваність при малих навантаженнях Фармацевтика та мікровиробництво Пакування ампул, флаконів, облік партій, сортування Надійність і делікатність дотику, можливість безпечної співпраці з персоналом Прототипування та R\u0026amp;D Лабораторна автоматизація, тестування прототипів, маніпуляції з датчиками Мобільність, мінімальна вимога до інфраструктури, швидка перенастройка Сервісна робототехніка Маніпуляції в демонстраційних зонах, робот-гіди, робот-бариста Безпечність взаємодії у відкритих просторах, округлений дизайн корпусу Харчова промисловість Пакування продуктів, сортування, робота з готовими виробами Санітарні вимоги, низькі сили контакту, відсутність іскроутворення Мікроелектроніка Укладання мікросхем, тестування плат, delicate-handling Висока точність рухів і дбайливе маніпулювання малими компонентами ","permalink":"https://knuba-manual.profirobotics.com/intro/into_robotics/","summary":"\u003ch2 id=\"поняття-робота-та-кобота\"\u003e\u003cstrong\u003eПоняття робота та кобота\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eПромисловий робот — це керована автоматизована машина, здатна виконувати рухи з високою точністю та повторюваністю відповідно до заданої програми. У міжнародних стандартах, зокрема ISO 8373, робот визначається як «маніпулятор з трьома або більше ступенями рухливості, запрограмований для виконання різноманітних задач, що не обмежуються одним конкретним застосуванням». Типовий промисловий робот працює в ізольованій зоні, оснащеній огородженнями та системами безпеки, оскільки його рухи характеризуються великою силою, масою та швидкістю (див. рисунок 1.1.1).\u003c/p\u003e","title":"Основи робототехніки та колаборативних роботів"},{"content":"Роботизована комірка KUKA ready2educate vision — це навчальний комплекс для вивчення промислової робототехніки, програмування та інтеграції систем комп’ютерного зору. Комірка побудована на базі сучасного обладнання KUKA та відображає підходи, що використовуються у реальних виробничих середовищах.\nОсновні компоненти 1. Промисловий робот KUKA Маніпулятор серії KUKA KR AGILUS 6 ступенів свободи Висока швидкість та точність позиціонування Використовується для задач переміщення, сортування та обробки деталей 2. Контролер робота Контролер KUKA KR C5 Сучасна платформа керування нового покоління Забезпечує: виконання програм керування рухом робота інтеграцію з периферійними системами Підтримує мову програмування KRL (KUKA Robot Language) Має покращену продуктивність, безпеку та можливості підключення порівняно з попередніми поколіннями 3. Панель керування (SmartPAD) Ручний пульт оператора KUKA Використовується для: навчання точок (teaching) редагування програм запуску та діагностики системи 4. Система комп’ютерного зору (Vision system) Камера (2D або 3D залежно від конфігурації) Освітлення для стабільного розпізнавання об’єктів Програмне забезпечення для: виявлення об’єктів визначення координат та орієнтації Інтеграція з роботом для виконання задач типу vision-guided pick 5. Захват (End-of-Arm Tool) Пневматичний захват Призначений для захоплення та переміщення об’єктів 6. Робоча зона Робочий стіл або платформа Зона розміщення об’єктів Може включати позиційні шаблони або навчальні елементи 7. Система безпеки Кнопка аварійної зупинки (E-STOP) Захисні елементи (огорожа або обмеження доступу — залежно від конфігурації) Вбудовані функції безпеки контролера KR C5 8. Додаткове обладнання Мережеве підключення (Ethernet) Комп’ютер для налаштування vision-системи Джерело стисненого повітря (за наявності пневматики) Функціональні можливості Комірка дозволяє:\nпрограмувати промисловий робот KUKA (KRL) виконувати навчання точок та побудову траєкторій інтегрувати систему комп’ютерного зору реалізовувати задачі Pick-and-Place з vision-наведенням виконувати сортування та базові автоматизовані операції ","permalink":"https://knuba-manual.profirobotics.com/intro/intro_kuka_ready2educate/","summary":"\u003cp\u003eРоботизована комірка \u003cstrong\u003eKUKA ready2educate vision\u003c/strong\u003e — це навчальний комплекс для вивчення промислової робототехніки, програмування та інтеграції систем комп’ютерного зору. Комірка побудована на базі сучасного обладнання KUKA та відображає підходи, що використовуються у реальних виробничих середовищах.\u003c/p\u003e\n\u003ch3 id=\"основні-компоненти\"\u003eОсновні компоненти\u003c/h3\u003e\n\u003ch4 id=\"1-промисловий-робот-kuka\"\u003e1. Промисловий робот KUKA\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eМаніпулятор серії \u003cstrong\u003eKUKA KR AGILUS\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003e6 ступенів свободи\u003c/li\u003e\n\u003cli\u003eВисока швидкість та точність позиціонування\u003c/li\u003e\n\u003cli\u003eВикористовується для задач переміщення, сортування та обробки деталей\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"2-контролер-робота\"\u003e2. Контролер робота\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eКонтролер \u003cstrong\u003eKUKA KR C5\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eСучасна платформа керування нового покоління\u003c/li\u003e\n\u003cli\u003eЗабезпечує:\n\u003cul\u003e\n\u003cli\u003eвиконання програм\u003c/li\u003e\n\u003cli\u003eкерування рухом робота\u003c/li\u003e\n\u003cli\u003eінтеграцію з периферійними системами\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eПідтримує мову програмування \u003cstrong\u003eKRL (KUKA Robot Language)\u003c/strong\u003e\u003c/li\u003e\n\u003cli\u003eМає покращену продуктивність, безпеку та можливості підключення порівняно з попередніми поколіннями\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"3-панель-керування-smartpad\"\u003e3. Панель керування (SmartPAD)\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eРучний пульт оператора KUKA\u003c/li\u003e\n\u003cli\u003eВикористовується для:\n\u003cul\u003e\n\u003cli\u003eнавчання точок (teaching)\u003c/li\u003e\n\u003cli\u003eредагування програм\u003c/li\u003e\n\u003cli\u003eзапуску та діагностики системи\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"4-система-компютерного-зору-vision-system\"\u003e4. Система комп’ютерного зору (Vision system)\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eКамера (2D або 3D залежно від конфігурації)\u003c/li\u003e\n\u003cli\u003eОсвітлення для стабільного розпізнавання об’єктів\u003c/li\u003e\n\u003cli\u003eПрограмне забезпечення для:\n\u003cul\u003e\n\u003cli\u003eвиявлення об’єктів\u003c/li\u003e\n\u003cli\u003eвизначення координат та орієнтації\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eІнтеграція з роботом для виконання задач типу \u003cstrong\u003evision-guided pick\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"5-захват-end-of-arm-tool\"\u003e5. Захват (End-of-Arm Tool)\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eПневматичний захват\u003c/li\u003e\n\u003cli\u003eПризначений для захоплення та переміщення об’єктів\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"6-робоча-зона\"\u003e6. Робоча зона\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eРобочий стіл або платформа\u003c/li\u003e\n\u003cli\u003eЗона розміщення об’єктів\u003c/li\u003e\n\u003cli\u003eМоже включати позиційні шаблони або навчальні елементи\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"7-система-безпеки\"\u003e7. Система безпеки\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eКнопка аварійної зупинки (\u003cstrong\u003eE-STOP\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003eЗахисні елементи (огорожа або обмеження доступу — залежно від конфігурації)\u003c/li\u003e\n\u003cli\u003eВбудовані функції безпеки контролера \u003cstrong\u003eKR C5\u003c/strong\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"8-додаткове-обладнання\"\u003e8. Додаткове обладнання\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003eМережеве підключення (\u003cstrong\u003eEthernet\u003c/strong\u003e)\u003c/li\u003e\n\u003cli\u003eКомп’ютер для налаштування vision-системи\u003c/li\u003e\n\u003cli\u003eДжерело стисненого повітря (за наявності пневматики)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"функціональні-можливості\"\u003eФункціональні можливості\u003c/h3\u003e\n\u003cp\u003eКомірка дозволяє:\u003c/p\u003e","title":"Вступ до роботизованої комірки KUKA ready2educate vision"},{"content":"Склад роботизованої комірки Estun Роботизована комірка Estun, що використовується в навчальній лабораторії, складається з набору обладнання, яке дозволяє виконувати повний комплекс навчальних операцій: від базових рухів маніпулятора до роботи із захватами, комп’ютерним зором та зовнішніми обчислювальними модулями. Кожен елемент комплексу виконує окрему функцію і забезпечує студентам можливість відпрацювати практичні навички на реальному промисловому обладнанні.\nОсновним елементом комплексу є колаборативний робот Estun S5-90 PRO, призначений для відпрацювання базових та прикладних маніпуляційних задач. Для роботи з об’єктами різної форми та маси використовуються кілька типів захватних пристроїв OnRobot, які дозволяють моделювати різні виробничі сценарії. Додатково в комірці застосовується камера OAK-D Pro для лабораторних робіт, пов’язаних із комп’ютерним зором, а також обчислювальний модуль Jetson Orin Nano, що забезпечує можливість запуску алгоритмів аналізу зображень та інтеграції зовнішніх програмних компонентів.\nРисунок 0.2.1. Робот Estun S5-90 PRO\nГрипери OnRobot забезпечують можливість роботи з об’єктами різної геометрії та жорсткості, що дозволяє моделювати широкий спектр виробничих сценаріїв у рамках навчальних занять. Використання декількох типів захватних пристроїв демонструє студентам різні принципи взаємодії маніпулятора з предметами: від механічного двопальцевого захвату до вакуумного піднімання виробів та захвату м’яких або делікатних об’єктів.\nНаявність механізму швидкої зміни захватних пристроїв OnRobot Quick Changer дає змогу оперативно переключатися між різними типами гриперів без тривалих переналаштувань. Це суттєво спрощує організацію лабораторних робіт, скорочує час підготовки до виконання завдань і дозволяє за одне заняття продемонструвати декілька різних типів захвату та їх застосування у практичних ситуаціях.\nРисунок 0.2.2. Захватний пристрій OnRobot 2FG7\nРисунок 0.2.3. Захватний пристрій OnRobot SG Рисунок 0.2.4. Вакуумний захватний пристрій OnRobot VGC10\nРисунок 0.2.5. Механізм швидкої зміни OnRobot Quick Change Рисунок 0.2.6. Камера OAK-D Pro Рисунок 0.2.7. Обчислювальний модуль Jetson Orin Nano Рисунок 0.2.8. Raspberry Pi Рисунок 0.2.9. Дисплей для інтерактивного використання\nКамера забезпечує одночасне отримання RGB-зображення та карти глибини, що дозволяє реалізовувати задачі виявлення, сегментації та 3D-позиціонування об’єктів.\nУсі ці елементи інтегруються в єдину навчальну платформу та дозволяють студенту поступово переходити від базових маніпуляцій маніпулятора до задач комп’ютерного зору, автоматизованого аналізу та створення складніших інтеграційних рішень. Комірка забезпечує повний цикл практичного навчання, аналогічний до процесів, що використовуються в сучасних виробничих системах.\nДля базового огляду промислових роботів і коботів див. розділ Основи робототехніки та колаборативних роботів.\n","permalink":"https://knuba-manual.profirobotics.com/intro/intro_estun/","summary":"\u003ch2 id=\"склад-роботизованої-комірки-estun\"\u003e\u003cstrong\u003eСклад роботизованої комірки Estun\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eРоботизована комірка Estun, що використовується в навчальній лабораторії, складається з набору обладнання, яке дозволяє виконувати повний комплекс навчальних операцій: від базових рухів маніпулятора до роботи із захватами, комп’ютерним зором та зовнішніми обчислювальними модулями. Кожен елемент комплексу виконує окрему функцію і забезпечує студентам можливість відпрацювати практичні навички на реальному промисловому обладнанні.\u003c/p\u003e\n\u003cp\u003eОсновним елементом комплексу є колаборативний робот Estun S5-90 PRO, призначений для відпрацювання базових та прикладних маніпуляційних задач. Для роботи з об’єктами різної форми та маси використовуються кілька типів захватних пристроїв OnRobot, які дозволяють моделювати різні виробничі сценарії. Додатково в комірці застосовується камера OAK-D Pro для лабораторних робіт, пов’язаних із комп’ютерним зором, а також обчислювальний модуль Jetson Orin Nano, що забезпечує можливість запуску алгоритмів аналізу зображень та інтеграції зовнішніх програмних компонентів.\u003c/p\u003e","title":"Вступ до роботизованої комірки Estun"},{"content":"Правила роботи в лабораторії Під час виконання лабораторних робіт із роботизованою коміркою студенти зобов’язані дотримуватися встановлених правил безпеки та організації робочого місця. Комірка містить обладнання з рухомими механізмами, електронними модулями та захватними пристроями, що можуть становити небезпеку у разі неправильної експлуатації. Дотримання правил даного розділу є обов’язковою умовою допуску до роботи з роботом Estun S5-90 PRO.\nПеред початком роботи студент повинен ознайомитися з будовою комірки, розташуванням аварійних вимикачів, зоною досяжності робота та порядком безпечного увімкнення обладнання. Забороняється вмикати робот чи перемикати режими без дозволу викладача. Усі налаштування, підключення та ввімкнення живлення виконуються виключно під контролем викладача або технічного фахівця.\nПід час роботи з маніпулятором необхідно слідкувати, щоб у зоні його досяжності не знаходилися сторонні предмети та інші студенти. Переміщення робота вручну допускається тільки в режимі навчання та на мінімальній швидкості. Виконання програмних рухів необхідно контролювати, попередньо переконавшись, що траєкторія не перетинається з перешкодами.\nОсобливу увагу слід приділяти взаємодії із захватними пристроями OnRobot. Торкатися пальців механічних гриперів, силіконових елементів чи вакуумних присосок у момент їх активної роботи заборонено. Заміна гриперів за допомогою механізму швидкої зміни OnRobot Quick Changer виконується лише після повної зупинки робота та вимкнення живлення на захватному пристрої.\nПід час роботи з камерою OAK-D Pro не можна перекривати область огляду або торкатися оптичних поверхонь. Камера повинна залишатися нерухомою під час виконання програм, які використовують дані глибини чи обробку зображень.\nПісля завершення роботи студент повинен привести маніпулятор у безпечне положення, завершити програму, очистити зону від зайвих предметів та повідомити викладача про завершення роботи. Заборонено залишати лабораторію, не переконавшись, що обладнання переведене у безпечний стан.\nОбов’язково\nПеред початком роботи ознайомитися з аварійними вимикачами та основними елементами керування. Виконувати будь-які дії з роботом лише після дозволу викладача. Працювати з маніпулятором у режимі навчання тільки на мінімальній швидкості. Перевіряти, що в зоні досяжності робота немає сторонніх осіб чи предметів. Переконатися, що захватний пристрій вимкнений перед його зняттям або встановленням. Повідомляти викладача про будь-які підозрілі звуки, вібрації або збої. Після завершення роботи перевести систему в безпечний стан та вимкнути програму. Заборонено\nЗнаходитися в зоні руху маніпулятора під час виконання програми. Торкатися робота або гриперів під час їх активної роботи. Натискати кнопки керування чи змінювати режими без дозволу викладача. Самостійно втручатися у кабельні підключення, роз’єми або пневматичні лінії. Закривати або торкатися оптики камери під час виконання алгоритмів зору. Знімати або встановлювати грипери під час активного живлення. Залишати робота працювати без нагляду. Робота з електрообладнанням\nМаніпулятор, контролер, камера та обчислювальні модулі працюють під напругою, тому всі дії з електричними з’єднаннями виконуються виключно викладачем або технічним фахівцем. Студентам забороняється під’єднувати або від’єднувати кабелі, відкривати корпуси пристроїв, торкатися силових роз’ємів та елементів електроніки.\nУ разі появи запаху гару, перегріву або інших ознак несправності необхідно негайно припинити роботу, відійти від обладнання та повідомити викладача. Роботу дозволено продовжувати лише після усунення проблеми та дозволу викладача.\nДії під час аварійної ситуації\nУ разі виникнення небезпечної ситуації (неконтрольований рух, застрягання захвату, падіння об’єкта, збої програми тощо) студент повинен діяти наступним чином:\nНегайно натиснути кнопку аварійної зупинки (E-STOP). Переконатися, що маніпулятор повністю зупинений. Не торкатися робота до прибуття викладача. Повідомити викладача про причини, що призвели до зупинки. Дочекатися огляду обладнання та дозволу на продовження роботи. Не здійснювати самостійного скидання аварійної зупинки. У разі небезпеки для здоров’я необхідно негайно відійти від робочої зони та повідомити викладача.\n","permalink":"https://knuba-manual.profirobotics.com/safety/chapter-01-general-safety/","summary":"\u003ch2 id=\"правила-роботи-в-лабораторії\"\u003e\u003cstrong\u003eПравила роботи в лабораторії\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eПід час виконання лабораторних робіт із роботизованою коміркою студенти зобов’язані дотримуватися встановлених правил безпеки та організації робочого місця. Комірка містить обладнання з рухомими механізмами, електронними модулями та захватними пристроями, що можуть становити небезпеку у разі неправильної експлуатації. Дотримання правил даного розділу є обов’язковою умовою допуску до роботи з роботом Estun S5-90 PRO.\u003cbr\u003e\nПеред початком роботи студент повинен ознайомитися з будовою комірки, розташуванням аварійних вимикачів, зоною досяжності робота та порядком безпечного увімкнення обладнання. Забороняється вмикати робот чи перемикати режими без дозволу викладача. Усі налаштування, підключення та ввімкнення живлення виконуються виключно під контролем викладача або технічного фахівця.\u003cbr\u003e\nПід час роботи з маніпулятором необхідно слідкувати, щоб у зоні його досяжності не знаходилися сторонні предмети та інші студенти. Переміщення робота вручну допускається тільки в режимі навчання та на мінімальній швидкості. Виконання програмних рухів необхідно контролювати, попередньо переконавшись, що траєкторія не перетинається з перешкодами.\u003cbr\u003e\nОсобливу увагу слід приділяти взаємодії із захватними пристроями OnRobot. Торкатися пальців механічних гриперів, силіконових елементів чи вакуумних присосок у момент їх активної роботи заборонено. Заміна гриперів за допомогою механізму швидкої зміни OnRobot Quick Changer виконується лише після повної зупинки робота та вимкнення живлення на захватному пристрої.\u003cbr\u003e\nПід час роботи з камерою OAK-D Pro не можна перекривати область огляду або торкатися оптичних поверхонь. Камера повинна залишатися нерухомою під час виконання програм, які використовують дані глибини чи обробку зображень.\u003cbr\u003e\nПісля завершення роботи студент повинен привести маніпулятор у безпечне положення, завершити програму, очистити зону від зайвих предметів та повідомити викладача про завершення роботи. Заборонено залишати лабораторію, не переконавшись, що обладнання переведене у безпечний стан.\u003c/p\u003e","title":"Безпека"},{"content":"Короткий опис: KUKA ready2educate — навчальна роботизована комірка для базового програмування, безпечної експлуатації та лабораторних сценаріїв.\nЛокальні мануали (KUKA) Через політику конфіденціїйності компанії KUKA, локальні PDF-мануали KUKA доступні за запитом у співробітників/викладачів Robolab.\nОфіційні ресурси KUKA KUKA ready2_educate (official) KUKA downloads portal ","permalink":"https://knuba-manual.profirobotics.com/guides/kuka-ready2educate-cell/","summary":"\u003cp\u003eКороткий опис: KUKA ready2educate — навчальна роботизована комірка для базового програмування, безпечної експлуатації та лабораторних сценаріїв.\u003c/p\u003e\n\u003ch2 id=\"локальні-мануали-kuka\"\u003eЛокальні мануали (KUKA)\u003c/h2\u003e\n\u003cp\u003eЧерез політику конфіденціїйності компанії KUKA, локальні PDF-мануали KUKA доступні за запитом у співробітників/викладачів Robolab.\u003c/p\u003e\n\u003ch2 id=\"офіційні-ресурси-kuka\"\u003eОфіційні ресурси KUKA\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://www.kuka.com/en-ch/products/robotics-systems/kuka-education-robot-training-cell\"\u003eKUKA ready2_educate (official)\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://www.kuka.com/en-de/services/downloads\"\u003eKUKA downloads portal\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"KUKA ready2educate cell vision"},{"content":"Опис Ця сторінка містить офіційну документацію для роботизованої комірки Estun Codroid на базі робота Estun S5-90 PRO.\nОфіційний мануал Повний оригінальний мануал виробника доступний у форматі PDF:\nEstun Codroid Manual (PDF) ","permalink":"https://knuba-manual.profirobotics.com/guides/estun-s5-90-pro/","summary":"\u003ch2 id=\"опис\"\u003eОпис\u003c/h2\u003e\n\u003cp\u003eЦя сторінка містить офіційну документацію для роботизованої комірки \u003cstrong\u003eEstun Codroid\u003c/strong\u003e на базі робота \u003cstrong\u003eEstun S5-90 PRO\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2 id=\"офіційний-мануал\"\u003eОфіційний мануал\u003c/h2\u003e\n\u003cp\u003eПовний оригінальний мануал виробника доступний у форматі PDF:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"/manuals/estun_codroid_manual.pdf\"\u003eEstun Codroid Manual (PDF)\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"Estun S5-90 PRO"},{"content":"У лабораторії Robolab є доступними OnRobot 2FG7, SG, VGC10 які є змонтовані на робота через адаптер Quick Changer.\nНижче ви можете завантажити документацію від виробника.\nДокументація OnRobot User_Manual_For_Using_WebLogic_Quick_Changer_2FG7_v1.25.0_EN.pdf User_Manual_For_Using_WebLogic_Quick_Changer_SG_v1.25.0_EN.pdf User_Manual_For_Using_WebLogic_Quick_Changer_VGC10_v1_25_0_EN.pdf Офіційні ресурси OnRobot OnRobot products OnRobot 2FG7 product page OnRobot VGC10 product page OnRobot SG product page OnRobot support/documentation ","permalink":"https://knuba-manual.profirobotics.com/guides/onrobot-grippers/","summary":"\u003cp\u003eУ лабораторії Robolab є доступними OnRobot 2FG7, SG, VGC10 які є змонтовані на робота через адаптер Quick Changer.\u003c/p\u003e\n\u003cp\u003eНижче ви можете завантажити документацію від виробника.\u003c/p\u003e\n\u003ch2 id=\"документація-onrobot\"\u003e\u003cstrong\u003eДокументація OnRobot\u003c/strong\u003e\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003ca href=\"/manuals/User_Manual_For_Using_WebLogic_Quick_Changer_2FG7_v1.25.0_EN.pdf\"\u003eUser_Manual_For_Using_WebLogic_Quick_Changer_2FG7_v1.25.0_EN.pdf\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/manuals/User_Manual_For_Using_WebLogic_Quick_Changer_SG_v1.25.0_EN.pdf\"\u003eUser_Manual_For_Using_WebLogic_Quick_Changer_SG_v1.25.0_EN.pdf\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"/manuals/User_Manual_For_Using_WebLogic_Quick_Changer_VGC10_v1_25_0_EN.pdf\"\u003eUser_Manual_For_Using_WebLogic_Quick_Changer_VGC10_v1_25_0_EN.pdf\u003c/a\u003e\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"офіційні-ресурси-onrobot\"\u003e\u003cstrong\u003eОфіційні ресурси OnRobot\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://onrobot.com/en/products\"\u003eOnRobot products\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://onrobot.com/en/products/2fg7-finger-gripper\"\u003eOnRobot 2FG7 product page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://onrobot.com/en/products/vg10-vacuum-gripper\"\u003eOnRobot VGC10 product page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://onrobot.com/en/products/soft-gripper\"\u003eOnRobot SG product page\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://onrobot.com/en/support\"\u003eOnRobot support/documentation\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e","title":"Захвати OnRobot"},{"content":"Заходи безпеки Переконайтеся, що робот та інструмент правильно та надійно закріплені болтами. Забезпечте достатній простір для вільного переміщення робота.\nПереконайтеся, що заходи безпеки та/або параметри конфігурації безпеки робота, визначені та правильно налаштовані.Під час роботи з роботом не носіть вільний одяг або прикраси. Довге волосся має бути зібране.\nЯкщо робот пошкоджений, не використовуйте його (наприклад, якщо кришка осі ослаблена, пошкоджена або знята).\nНіколи не вставляйте пальці в блок керування.\nНе підключайте жодні пристрої безпеки до стандартного інтерфейсу вводу/виводу (Standard I/O). Для цього слід використовувати лише інтерфейс безпечного вводу/виводу (Safety I/O).\nПереконайтеся у правильності параметрів встановлення (зокрема: кут монтажу робота, маса в точці TCP, зміщення TCP, конфігурація безпеки).\nФункцію навчання методом «drag-and-drop» (ручне ведення) дозволяється використовувати лише за попереднім виконанням всіх пунктів безпеки.\nІнструменти робота та предмети, які захоплює робот не повинні мати гострих кутів.\nПотрібно тримати голову та обличчя поза зоною досяжності робота, який працює або готується до запуску.\nПід час використання навчального пульта (планшета) слід постійно контролювати рух робота.\nПідключення додаткового обладнання або машин може збільшити рівень ризику чи створити нові небезпеки. Необхідно завжди проводити комплексну оцінку ризиків усієї установки.\nЗабороняється модифікувати робот. Будь-які зміни можуть призвести до непередбачуваних небезпек. Дозволена реконфігурація має виконуватися відповідно до останньої версії відповідних сервісних інструкцій.\nПереконайтеся, що користувачі робота знають місцезнаходження кнопки аварійної зупинки (Emergency Stop) та проінструктовані щодо її використання у разі аварійної або нештатної ситуації.\nПід час роботи робот і блок керування нагріваються. Не торкайтеся робота під час роботи або відразу після зупинки. Для охолодження вимкніть його та зачекайте приблизно одну годину.\nЯкщо робот підключений або працює разом з обладнанням, яке може спричинити його пошкодження, рекомендується окремо протестувати всі функції робота та програму робота.\nНе піддавайте робот тривалому впливу магнітних полів, відкритого вогню, вибухонебезпечного середовища, радіоперешкод, рідин тощо, оскільки це може призвести до його пошкодження.\nЗаборонено використовувати роботизовану систему у вибухонебезпечному або потенційно вибухонебезпечному середовищі.\nНавіть якщо механічна рука виглядає нерухомою та очікує сигналу запуску, її слід вважати такою, що перебуває в русі. Не наближайтеся до механічної руки.\nПід час транспортування, встановлення, експлуатації та технічного обслуговування робота персонал повинен використовувати засоби індивідуального захисту: захисні рукавички, окуляри, взуття з металевим носком (антиздавлювальне) та інші відповідні засоби безпеки для запобігання травмам.\nВимоги безпеки для встановлення стороннього обладнання Функції безпеки робота загалом відповідають вимогам стандарту ISO 10218-1.\nЯкщо в системі використовуються елементи керування, пов’язані з безпекою (наприклад, аварійна зупинка, захисні зони, контроль швидкості тощо), їхня конструкція повинна забезпечувати таке:\nВихід з ладу одного компонента не повинен призводити до втрати функції безпеки. Тобто система повинна залишатися безпечною навіть при одиничній несправності. Якщо виникає несправність, вона повинна бути виявлена до або під час наступного використання функції безпеки. У разі виникнення несправності система повинна залишатися в безпечному стані доти, доки проблему не буде усунено. Усі можливі та передбачувані несправності повинні бути виявлені системою. Такі вимоги відповідають структурі Категорії 3 згідно зі стандартом ISO 13849-1. Категорія 3 зазвичай означає, що система має резервування (дублювання) — наприклад, два незалежні канали безпеки, які контролюють один одного. Якщо один канал відмовляє, другий забезпечує збереження безпечного стану.\nФункції безпеки та контролер робота відповідають рівню ефективності Performance Level (PL) d, що також визначено стандартом ISO 13849-1.\nКатегорії зупинки Тип 0 (Stop Category 0) — Некерована зупинка.\nРобот зупиняється шляхом негайного відключення живлення приводів (актуаторів). Тип 1 (Stop Category 1) — Керована зупинка з відключенням живлення після зупинки.\nПриводи активно гальмують робот, але не гарантують точну зупинку по запланованій траєкторії. Після повної зупинки живлення вимикається. Тип 2 (Stop Category 2) — Керована зупинка без відключення живлення.\nПриводи активно гальмують робот і забезпечують його зупинку по траєкторії. Після зупинки живлення не відключається. Відповідно до стандарту IEC 60204-1, роботи Codroid підтримують три категорії зупинки:\nStop Category 0 (Cat.0) Stop Category 1 (Cat.1) Stop Category 2 (Cat.2) Cat.0 є некерованою зупинкою, тоді як Cat.1 і Cat.2 — керованими.\nАварійна зупинка (Emergency Stop) Згідно зі стандартами IEC 60204-1 та ISO 13850, пристрій аварійної зупинки **не є захисним огородженням**.\nВін є додатковим засобом захисту і не призначений для запобігання травмам у штатному режимі.\nУ разі аварійної ситуації натисніть кнопку аварійної зупинки — це негайно припинить усі рухи робота та зафіксує його.\n⚠ Аварійна зупинка не повинна використовуватися як основний засіб зниження ризику. Це допоміжний (вторинний) захисний засіб, який застосовується лише в критичних ситуаціях.\nУ нормальних умовах для зупинки руху робота слід використовувати інші передбачені методи.\nОсобливості роботи аварійної зупинки При натисканні кнопки аварійної зупинки:\nживлення приводів відключається; гальма в осях робота автоматично блокують вісі. Через дію сили тяжіння можливий незначний рух маніпулятора після спрацювання гальм — це нормальне явище. Проте воно може створювати ризик защемлення або зіткнення.\nТехнічні примітки Реалізація категорії зупинки здійснюється через приводи осей. Детальніше — у стандарті IEC 61800-5-2. Функції аварійної зупинки (Emergency Stop) та захисної зупинки (Protective Stop) реалізуються через інтерфейс безпеки.\nФункції безпеки Таблиця 2.4.1. Функції безпеки кобота CoDroid\nФункція безпеки Опис Аварійна зупинка (Emergency Stop) При натисканні кнопки аварійної зупинки активується зупинка категорії 1 (Stop Category 1). Захисна зупинка (Protective Stop) При надходженні відповідного сигналу (логічний рівень Low) активується зупинка категорії 2 (Stop Category 2). Функція потребує ручного скидання (reset). Безпечне керування уповільненням (Safety-rated deceleration control) При відповідному сигналі швидкість TCP зменшується до встановленого граничного значення. Обмеження положення осей Встановлює допустимий діапазон положень осей. Обмеження швидкості осей Встановлює допустимий діапазон швидкості осей. Обмеження моменту осей Встановлює допустимий діапазон крутного моменту осей. Обмеження зони TCP Встановлює допустимий робочий простір TCP. Обмеження швидкості TCP Встановлює максимальну швидкість TCP. Обмеження моменту TCP Встановлює максимальний крутний момент TCP. Обмеження потужності робота Обмежує максимальну потужність робота. Обмеження напрямку TCP Визначає допустимі напрямки руху інструменту. Контрольована зупинка з моніторингом (Safety-rated monitored stop) При відповідному сигналі активується зупинка категорії 2. Функція може бути скинута після відновлення сигналу. Контроль швидкості та відстані Підтримує мінімальну безпечну дистанцію між оператором і роботом. Робот зупиняється при зменшенні відстані нижче допустимої та автоматично відновлює рух після виходу оператора із зони контролю. Обмеження потужності та моменту Обмежує максимальну потужність і крутний момент робота. Відновлення після аварійної зупинки Після натискання кнопки аварійної зупинки вона фіксується в натягнутому положенні.\nДля її розблокування необхідно повернути кнопку у напрямку, зазначеному на її корпусі.Після розблокування кнопки скидання аварійного стану виконується через програмне забезпечення керування. Після цього необхідно подати живлення та виконати ввімкнення (Enable), щоб вивести робот із аварійного режиму та відновити його роботу.\nПримусовий рух без подачі живлення У разі аварійної ситуації, якщо необхідно перемістити осі робота, але неможливо або недоцільно подавати живлення, допускається використання ручного примусового переміщення без увімкнення приводу. Для виконання примусового переміщення без живлення необхідно прикласти значне зусилля до маніпулятора (штовхати або тягнути), щоб змістити осі робота.\nКожна вісь оснащена гальмом, яке допускає її переміщення при прикладенні достатнього крутного моменту. Ручне переміщення без подачі живлення дозволяється лише в аварійних ситуаціях, оскільки воно впливає на ресурс гальмівного механізму та може скорочувати строк його служби.\nУмови зберігання, експлуатації та транспортування Температура навколишнього середовища під час зберігання та експлуатації повинна бути в межах від 0 до 40°C. Приміщення повинно бути сухим, з низькою вологістю. Допустима відносна вологість — 10–90% без утворення конденсату. Місце встановлення повинно мати мінімальний рівень пилу, дрібнодисперсних частинок, масляного туману та вологи. У робочій зоні не допускається наявність легкозаймистих матеріалів, корозійно-активних рідин або газів. Рівень вібрації або ударного навантаження на шафу керування повинен бути незначним (вібрація менше 0,5G). Поблизу не повинно бути потужних джерел електромагнітних завад (наприклад, TIG-зварювання із захисним газом). Повинен бути відсутній ризик зіткнення з мобільними пристроями (наприклад, AGV). Шафа керування повинна встановлюватися поза робочою зоною робота (за межами захисної огорожі). Відстань від шафи керування до стіни повинна становити не менше 200 мм для забезпечення належного відведення тепла та вентиляції. Позначки шафи керування та корпусу робота На місцях, де можливе виникнення специфічних небезпек, встановлені попереджувальні знаки та таблички. З метою запобігання нещасним випадкам необхідно суворо дотримуватися інструкцій та вимог, зазначених на цих знаках під час експлуатації.\nЗабороняється самовільно знімати, пошкоджувати або видаляти попереджувальні знаки. Під час роботи з компонентами або вузлами, на яких розміщені знаки та таблички, а також у прилеглих зонах, слід бути особливо уважними.\nТаблиця 2.8.1 Позначення та попереджувальні знаки\nA Обладнання повинно експлуатуватися та обслуговуватися кваліфікованим персоналом із використанням засобів індивідуального захисту. Необхідно дотримуватися інструкцій з монтажу та налаштування обладнання. Неправильна експлуатація може призвести до пошкодження машини або іншого обладнання, а також до травмування персоналу. B Забороняється відкривати шафу керування або корпус робота та торкатися внутрішніх електронних компонентів і електричних кіл, щоб уникнути ураження електричним струмом. Існує ризик займання або електричного удару. Необхідно використовувати відповідні засоби індивідуального захисту для запобігання ризику електричної дуги (arc flash). Недотримання цих вимог може призвести до травм або смерті. C Гарячі поверхні. Можливе отримання опіків або інших травм у разі контакту. D Корпус робота створює магнітне поле, яке може бути шкідливим для людини та електронного обладнання. E Заводська табличка виробу для підтвердження основної інформації про продукт. Рисунок 2.8.1. Місця встановлення попереджувальних знаків та ідентифікаційної таблички на шафі керування.)\nРисунок 2.8.2. Схема розміщення попереджувальних знаків на корпусі робота\nОпераційні режими і межі У типовій лабораторній експлуатації застосовуються три режими:\nРежим Призначення Дозволені дії Заборонені дії Manual Налаштування, навчання точок, сервісні переміщення Локальні перевірки, калібрування, контрольний verification move Запуск автоматичного циклу без підтвердження безпеки Auto Виконання підготовленого виробничого сценарію Контрольований запуск pick -\u0026gt; drop за валідних передумов Старт без калібрувань, при неактивному safety-контурі або невідомому стані інструмента Rescue Безпечне виведення системи зі стану помилки Відновлювальні дії за затвердженою процедурою Прямий перехід до Auto без повторної перевірки Умови переходу між режимами:\nManual -\u0026gt; Auto: після операторського чекліста, підтвердження безпечної зони та тесту зв’язності. Auto -\u0026gt; Manual: під час паузи, зупинки програми, корекції позицій або сервісної діагностики. Any -\u0026gt; Rescue: у разі Emergency stop, overspeed або помилок інструмента/контролера. Rescue -\u0026gt; Auto: лише після успішного відновлення, повторної перевірки камери, робота та грипера, а також тестового dry-run. Безпечне відновлення після збоїв Після Emergency stop:\nНегайно зафіксувати причину зупинки та перевірити фізичну безпеку зони. Заборонити будь-який автоматичний рух до зняття причини аварії. Виконати стандартну процедуру acknowledge/clear в UI. Підтвердити, що робот, грипер і камера повернулися в штатний стан. Виконати короткий тестовий цикл у контрольованому режимі. Після Overspeed / Joint protection / Tool error:\nПеревести програму у pause або reset. Перевірити останню команду, активну систему координат і межі швидкості/траєкторії. Для tool error перевірити зв’язок з Compute Box, механіку грипера та тайм-аути захвату. Виконати clear відповідного стану і повторити діагностичний запуск. Відновлення без інженера заборонено, якщо:\nПомилка повторюється після двох коректних спроб відновлення. Є невідповідність між очікуваною і фактичною траєкторією робота. Виявлено нестабільність кріплення камери, інструмента або кабельної траси. Є підозра на firmware/мережеву деградацію контролера або Compute Box. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-02-estun-bezpeka/","summary":"\u003ch2 id=\"заходи-безпеки\"\u003e\u003cstrong\u003eЗаходи безпеки\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eПереконайтеся, що робот та інструмент правильно та надійно закріплені болтами. Забезпечте достатній простір для вільного переміщення робота.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eПереконайтеся, що заходи безпеки та/або параметри конфігурації безпеки робота, визначені та правильно налаштовані.Під час роботи з роботом не носіть вільний одяг або прикраси. Довге волосся має бути зібране.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eЯкщо робот пошкоджений, не використовуйте його (наприклад, якщо кришка осі ослаблена, пошкоджена або знята).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eНіколи не вставляйте пальці в блок керування.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eНе підключайте жодні пристрої безпеки до стандартного інтерфейсу вводу/виводу (Standard I/O). Для цього слід використовувати лише інтерфейс безпечного вводу/виводу (Safety I/O).\u003c/p\u003e","title":"Правила використання та безпека"},{"content":"Розміщення, схема розташування позицій Рис. 3.1.1 Схематична діаграма підключення компонентів робота\nРекомендація: Під час роботи робота оператор повинен перебувати поза зоною досяжності маніпулятора для забезпечення особистої безпеки.\nДаний робот оснащений функцією виявлення зіткнення та відповідає вимогам стандарту ISO/TS 15066:2016.\nПідготовка та запуск Після правильного підключення кабелів робота подайте живлення на систему та увімкніть контролера. При цьому буде чути запуск вентилятора в шафі керування. Далі натисніть кнопку живлення на передній панелі шафи керування. Кнопка засвітиться зеленим світлом і залишатиметься увімкненою — це означає, що шафа керування перебуває під живленням.\nПорядок запуску та входу в систему:\nДочекайтеся, поки світлова індикація на кінцевій вісі маніпулятора стане білою без миготіння, а на малому дисплеї з’являться повідомлення: Communication [Real-time] Operation [Normal]\nЦе означає, що контролер успішно запущений і кобот встановив зв’язок із контролером. Після цього можна виконати вхід до веб-інтерфейсу для керування роботом. Увімкніть планшет та в налаштуваннях змініть його статичну IP-адресу на:\n192.168.101.XXX\nВідкрийте браузер і введіть IP-адресу робота в адресному рядку:\n192.168.101.100:9098\nНатисніть Enter, щоб перейти на сторінку входу.\nЯкщо сторінка входу не відкривається, перевірте IP-адресу планшета. Якщо доступ усе одно неможливий, зверніться до служби післяпродажного обслуговування.\nДля входу на сторінку керування введіть ім’я користувача та пароль(див. таблицю 3.2.1). Початкові облікові записи та паролі наведені нижче. Різні облікові записи мають різні рівні доступу.\nТаблиця 3.2.1 Рівні доступу та паролі\nПісля авторизації користувача відкривається сторінка керування роботом. На цьому етапі можна виконати подачу живлення на приводи вісей.\nПеред подачею живлення необхідно переконатися, що:\nкнопка аварійної зупинки на ручному пристрої керування розблокована (стан Emergency Stop — скинуто); у межах робочої зони кобота відсутні люди, інструмент та інше обладнання.\nУ вкладці «3D Simulation» натисніть кнопку «Power On» (див. рис. 3.2.1 — Інтерфейс керування). Після активації команди відбудеться подача живлення на серводвигуни осей. Характерний звук розблокування гальм свідчить про зняття механічного гальмування та перехід осей у стан готовності до руху. Рис. 3.2.1 — Інтерфейс керування коботом\nЯк показано на головному інтерфейсі (див. рис. 3.2.2), індикація підтверджує успішну подачу живлення на приводи осей робота. Після цього робот переходить у стан готовності до руху, і оператор може виконувати керування переміщенням робота через інтерфейс керування. Рис. 3.2.2 Головний інтерфейс з індикацією\nНаписання програми У ручному режимі робот може виконувати покрокове переміщення (jog) як у координатах осей, так і по координатах інструмента (TCP).\nПереміщення по осях (Joint jogging):\nДозволяє керувати роботом у режимі переміщення по одній осі (поелементний рух осей). Швидкість переміщення регулюється вручну шляхом зміни коефіцієнта швидкості (speed ratio).\nПозначення A1, A2, A3.. відповідають осям робота.\nПереміщення по TCP (End-effector jogging):\nДозволяє керувати рухом робота в декартовій системі координат. Швидкість переміщення регулюється шляхом зміни ручного множника швидкості (manual speed multiplier). Опорну систему координат під час руху можна змінювати, перемикаючись між поточною системою координат і системою координат інструмента (Tool coordinate system).\nПозначення:\nX, Y, Z — напрямки трьох осей опорної системи координат; A, B, C — обертання навколо осей X, Y, Z відповідно. Покрокове створення програми:\nУ ручному режимі виконайте керування роботом та перемістіть його в задану (цільову) точку.\nНатисніть “ pose”, після цього натисніть “” щоб записати позицію P1\nВиконайте покрокове переміщення (jog) робота до іншої позиції та повторіть кроки 1 і 2 для додавання другої точки (див. рисунок 3.3.1).\nОберіть “jogging”, у лівій колонці та натисніть або перетягніть “” праворуч до дерева програми, щоб додати інструкцію.\nРис. 3.3.1 Інтерфейс з запрограмованими точками\nОберіть “” у дереві програми та натисніть “parameters” з’явиться відповідна колонка параметрів цієї інструкції. У полі Target position виберіть точку P1, яку було щойно задано, а в полі Target speed залиште системне значення за замовчуванням V100.\nЯкщо на сторінці параметрів інструкції не відображається червоний текст помилки, це означає, що налаштування завершено.\nПовторіть попередній крок та додайте ще одну інструкцію з відповідними параметрами.\nДодайте “” інструкцію із розділу “ logic” та перетягніть її на початок програми. В колонці параметрів задайте інструкції ім’я.\nДодайте “” інструкцію із розділу “ logic” та перетягніть її на кінець програми. В колонці параметрів інструкції у полі Jump оберіть ім’я, що задавали в попередній команді. Це дозволяє програмі виконуватись безперервно та циклічно, як показано на рисунку нижче.\nРис. 3.3.2 Інтерфейс з програмою\nНатисніть “”, щоб зберегти програму, з’явиться спливаюче вікно після збереження.\nНатисніть “” і натисніть OK, щоб переключити робота в автоматичний режим.\nНатисніть “” й оберіть Auto Execute, і робот переміститься з P1 до P2.\nПідтвердьте вибір, щоб переключити робота в автоматичний режим.\nНатисніть на “” щоб призупинити програму робота, робот одночасно зупинить своє рухання.\nПісля того як робот призупинився, натисніть “”, щоб відновити виконання програми робота.\nНатискання “” зупинить програму робота і робот припинить рух.\nЯкщо робот був переміщений вручну або зупинений після паузи програми, спочатку його потрібно перевести в ручний режим, а потім знову переключити в автоматичний режим після того, як робот “переміститься до точки відновлення руху”, щоб програма могла продовжити виконання.\nВимкнення живлення Відрегулюйте робота у правильне положення, натисніть “ shut down”, і робот вимкнеться. Потім натисніть і утримуйте кнопку живлення на контролері, поки постійне зелене світло не згасне, після чого відпустіть кнопку.\nПередпусковий чекліст (операторський) Перед запуском циклу оператор повинен послідовно виконати:\nВиконати safety-перевірку: огорожі та доступ у робочу зону відповідають режиму роботи, кнопки аварійної зупинки доступні й працездатні, у зоні руху відсутні сторонні предмети. Перевірити живлення та інтерфейси: подано живлення на Robot Controller, Jetson і Compute Box, мережеві з’єднання активні, порти досяжні, OAK-D визначається системою. Перевірити ПЗ: UI доступний на Jetson, тести robot/gripper проходять без помилок, актуальні калібрування завантажено з data/. Виконати тестовий dry-run без ризику зіткнення та зафіксувати результат у змінному журналі. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-03-pidkliuchennia-zapusk/","summary":"\u003ch2 id=\"розміщення-схема-розташування-позицій\"\u003e\u003cstrong\u003eРозміщення, схема розташування позицій\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/images/embedded/chapter-03-pidkliuchennia-zapusk-001.png\"\u003e\u003cbr\u003e\n\u003cem\u003eРис. 3.1.1 Схематична діаграма підключення компонентів робота\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eРекомендація:\u003c/strong\u003e Під час роботи робота оператор повинен перебувати поза зоною досяжності маніпулятора для забезпечення особистої безпеки.\u003cbr\u003e\nДаний робот оснащений функцією виявлення зіткнення та відповідає вимогам стандарту ISO/TS 15066:2016.\u003c/p\u003e\n\u003ch2 id=\"підготовка-та-запуск\"\u003e\u003cstrong\u003eПідготовка та запуск\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eПісля правильного підключення кабелів робота подайте живлення на систему та увімкніть контролера. При цьому буде чути запуск вентилятора в шафі керування.  Далі натисніть кнопку живлення на передній панелі шафи керування. Кнопка засвітиться зеленим світлом і залишатиметься увімкненою — це означає, що шафа керування перебуває під живленням.\u003c/p\u003e","title":"Підключення та запуск кобота Estun"},{"content":"Складові частини робота Робот серії Codroid S має шість обертових осей. Конструктивно маніпулятор складається з великої та малої ланки, які виконують функцію з’єднувальних елементів кінематичного ланцюга. Основа маніпулятора оснащена роз’ємом, що зв’язує його з контролером. На кінці маніпулятора розміщені кнопка керування та світловий індикатор. На боковій частині фланця інструмента встановлені кнопка, дисплей та роз’єм для комутації схвату.\nРис. 4.1.2 Складові частини робота\nРобоча зона маніпулятора Під час вибору місця встановлення робота та його програмування необхідно враховувати циліндричний простір, розташований безпосередньо над та під маніпулятором. Слід уникати переміщення інструмента в межах цього циліндричного простору, оскільки це може призвести до входження в сингулярну зону. У такому випадку окремі осі можуть розвивати надмірно високу кутову швидкість під час руху. Це знижує ефективність роботи робота та ускладнює виконання коректної оцінки ризиків.\nУВАГА! Під час роботи робота в ручному режимі (режим навчання) тільки оператор повинен знаходитись в робочій зоні кобота. У ручному режимі кнопка аварійної зупинки на ручному пристрої керування повинна знаходитися в межах досяжності оператора. Робоча зона робота визначається як максимальний простір переміщення маніпулятора за відсутності встановлених програмних або апаратних обмежень руху. Обмеження руху робота можуть бути налаштовані таким чином, щоб усі виконувані операції не виходили за межі максимально допустимого робочого простору маніпулятора. Рис. 4.2.1 Габаритні розміри та робочий простір робота S5-90\nДіаграма навантаження Максимально допустиме корисне навантаження маніпулятора залежить від зміщення центра мас. Зі збільшенням відстані центра мас навантаження відносно фланця інструмента допустиме навантаження зменшується. Для визначення допустимого навантаження необхідно:\nприйняти ексцентриситет навантаження в площині XY як ординату; прийняти значення зміщення по осі Z як абсцису; визначити відповідну координатну точку ексцентричного навантаження на діаграмі. Далі слід встановити, під якою кривою навантаження розташована ця точка. Значення навантаження, зазначене для цієї кривої, є максимально допустимим навантаженням робота за даних умов експлуатації. Сумарна маса інструмента та заготовки (виробу), встановлених на фланці робота, не повинна перевищувати максимально допустиме навантаження.\nУВАГА! Під час розрахунку навантаження необхідно враховувати масу перехідного (медіа) фланця та забезпечити відповідність сумарного навантаження технічним характеристикам робота. Забороняється перевищувати максимально допустиме навантаження робота. Користувач повинен виконати повний розрахунок для перехідного фланця та встановленого схвату разом з предметом, що захоплюється з метою запобігання таким небезпекам, як ударні навантаження, вібрації, зіткнення, защемлення, проколювання та інші потенційні ризики. Необхідно забезпечити загальну безпеку всієї роботизованої системи. Рис 4.3.1 Діаграма допустимого навантаження кобота S5-90\nІнтерфейс фланця Фланець оснащений чотирма різьбовими отворами M6, призначеними для кріплення інструмента до робота.\nКонструкція фланця відповідає вимогам національного стандарту GB/T_14468.1-50-4-M6 або міжнародного стандарту ISO 9409-1-50-4-M6.\nГвинти M6 повинні затягуватися з моментом 12 Н·м. Клас міцності гвинтів — 12.9. Глибина загвинчування кріпильних гвинтів під час монтажу інструмента не повинна перевищувати 8 мм.\nДля забезпечення точної повторюваності позиціонування інструмента необхідно використовувати штифт у передбаченому отворі Ø6 для базування.\nРис. 4.4.1 Схема механічного монтажу фланця S5-90 Pro\nСпецифікація робота Таблиця 4.5.1 Специфікація робота\nПараметр S5-90 Кількість ступенів свободи 6 Корисне навантаження 5 кг Досяжність 919 мм Повторюваність позиціонування ±0,03 мм Маса 22 кг Сертифікація EN ISO 13849-1 PL d Cat.3; EN ISO 10218-1 Робочий діапазон осей Осі 1/2/4/5/6: ±360°; Вісь 3: ±160° Максимальна швидкість осей Осі 1/2/3: 150 °/с; Осі 4/5/6: 180 °/с Максимальна швидкість TCP 2,5 м/с Інтерфейси зв’язку 2DI, 2DO, 24VDC, MODBUS RTU, RS485 Монтаж Будь-яка орієнтація Робоча температура 0–40 °C Робоча вологість До 70% RH (без конденсації) Рівень шуму ≤65 дБ Контролер Рис. 4.6.1 Інтерфейси шафи керування\nРис. 4.6.2 Схеми розташування кнопок аварійної зупинки та вимикачів, а також схеми розташування інтерфейсу безпечного вводу/виводу (Safety I/O)\nТаблиця 4.6.1 Технічні характеристики контролера\nПараметр Значення Пристрої безпеки 1 канал ручного дозволу (Enable), 1 канал ручної аварійної зупинки (E-stop) Ступінь захисту (IP) IP20 I/O порти 16 DI, 8 DO, 4 AI / 4 AO, 7 входів зупинки Живлення I/O 24 VDC, 2 A Робоча температура 0–40 °C Робоча вологість 10–90% RH, без конденсації Рівень шуму ≤65 дБ Висота встановлення над рівнем моря До 1000 м Живлення AC 100–240 В, 50/60 Гц Габаритні розміри 380 × 260 × 200 мм Маса 14 кг (шафа для робота 20 кг), 11,8 кг (шафи для роботів 10 кг і менше) Пульт керування Ручний пульт керування оснащений чотирма перемикачами/кнопками:\nкнопкою аварійної зупинки (Emergency Stop); кнопкою увімкнення/вимкнення живлення; перемикачем дозволу (Enable switch); перемикачем режиму роботи (Mode switch). Розташування елементів наведено на рисунку 4.7.1. Якщо робот вимкнений, натискання кнопки живлення здійснює його ввімкнення.\nЯкщо робот увімкнений, для його вимкнення необхідно натиснути та утримувати кнопку живлення протягом 10 секунд.\nРис. 4.7.1 Розташування елементів керування на ручному пульті\nУ разі аварійної ситуації необхідно натиснути кнопку аварійної зупинки на ручному пульті. Після цього робот переходить у стан блокування: рух усіх осей припиняється, приводи виключаються.\nПісля натискання кнопка аварійної зупинки фіксується в натиснутому положенні. Для її розблокування необхідно повернути кнопку у напрямку, зазначеному на її корпусі. Лише після розблокування можливе скидання аварійного стану через програмне забезпечення керування, після чого можна активувати перемикач дозволу (Enable) для відновлення роботи робота.\nПеремикач дозволу є трипозиційним. У ручному режимі робот може рухатися лише тоді, коли перемикач знаходиться у середньому положенні.\nУ разі повного відпускання або повного натискання перемикача автоматично активується зупинка типу 2 (Stop Category 2).\nУВАГА! Забороняється встановлювати додатковий перемикач дозволу (Enable switch). Забороняється будь-яким чином відключати або обходити перемикач дозволу. Забороняється змінювати або модифікувати конструкцію перемикача дозволу. Перемикач дозволу функціонує лише в ручному режимі роботи. В автоматичному режимі він не активує жодну функцію зупинки. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-04-mekhanichna-chastyna/","summary":"\u003ch2 id=\"складові-частини-робота\"\u003e\u003cstrong\u003eСкладові частини робота\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eРобот серії Codroid S має шість обертових осей. Конструктивно маніпулятор складається з великої та малої ланки, які виконують функцію з’єднувальних елементів кінематичного ланцюга. Основа маніпулятора оснащена роз’ємом, що зв’язує його з контролером. На кінці маніпулятора розміщені кнопка керування та світловий індикатор. На боковій частині фланця інструмента встановлені кнопка, дисплей та роз’єм для комутації схвату.\u003cbr\u003e\n\u003cimg loading=\"lazy\" src=\"/images/embedded/chapter-04-mekhanichna-chastyna-001.png\"\u003e\u003cbr\u003e\n\u003cem\u003eРис. 4.1.2 Складові частини робота\u003c/em\u003e\u003c/p\u003e\n\u003ch2 id=\"робоча-зона-маніпулятора\"\u003e\u003cstrong\u003eРобоча зона маніпулятора\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eПід час вибору місця встановлення робота та його програмування необхідно враховувати циліндричний простір, розташований безпосередньо над та під маніпулятором. Слід уникати переміщення інструмента в межах цього циліндричного простору, оскільки це може призвести до входження в сингулярну зону.  У такому випадку окремі осі можуть розвивати надмірно високу кутову швидкість під час руху.  Це знижує ефективність роботи робота та ускладнює виконання коректної оцінки ризиків.\u003c/p\u003e","title":"Механічна частина та монтаж"},{"content":"Інтерфейс фланця Основа маніпулятора оснащена силовим багатоконтактним роз’ємом підвищеної надійності (heavy-duty interface).На кінці маніпулятора встановлені кнопки керування та світлові індикатори.На боковій частині фланця інструмента розміщені кнопки, дисплей та авіаційний роз’єм. Загальний вигляд інтерфейсу фланця наведено на рисунку 5.1.1.\nРисунок 5.1.1 Загальний вигляд інтерфейсу фланця\nТаблиця 5.1.1\nІнтерфейс Опис M8 Живлення, входи/виходи та комунікаційні сигнали Кнопка фланця 0 Кнопка з можливістю налаштування користувацьких функцій; за замовчуванням — режим вільного ведення (Free Drag) Кнопки фланця 1–3 Користувацькі кнопки для налаштування функцій у меню конфігурації Дисплей Відображає стан робота, стан шинної комунікації, стан входів/виходів, швидкість передачі RS485, стан користувацьких кнопок тощо Світлова стрічка Світлова індикаційна стрічка стану робота Таблиця 5.1.2\nКолір Інформація Синій (постійне світіння) Виконується ініціалізація системи Білий (постійне світіння) Робот увімкнений, але приводи осей не активовані Зелений (постійне світіння) Ручний режим роботи Жовтий (миготіння) Автоматичний режим виконання програми Червоний (миготіння) Помилка робота Конектор M8 на фланці робота розташований на тильній стороні кінцевого фланця. Розподіл контактів та їх призначення наведені нижче.\nРисунок 5.1.2 Контакти конектору M8 на фланці\nТаблиця 5.1.3 Контакти конектору M8 на фланці\n№ Позначення Призначення 1 DI0 Цифровий вхід 0 (flangeDI0) 2 DI1 Цифровий вхід 1 (flangeDI1) 3 DO0 Цифровий вихід 0 (flangeDO0) 4 DO1 Цифровий вихід 1 (flangeDO1) 5 24V+ Позитивний полюс живлення 24 В для зовнішнього обладнання 6 485− Лінія RS485 − (A) протоколу MODBUS 7 485+ Лінія RS485 + (B) протоколу MODBUS 8 GND Загальний провід (внутрішня земля фланця); земля Кабель для інтерфейсу M8 — Lumberg KKMV 8-354 або Lutronic FP-222460.Інтерфейс забезпечує зовнішнє живлення 24 В DC з максимальним струмом до 2 А.Цифрові виходи виконані за схемою PNP, максимальний вихідний струм — 5 мА. Виходи формують лише рівневі сигнали та не призначені для безпосереднього керування навантаженням.\nЦифрові входи також виконані за схемою PNP. У разі використання перемикача як джерела сигналу для цифрового входу (DI), підключення виконується згідно з наведеною нижче схемою.\nРисунок 5.1.2 Схема підключення перемикача до цифрового входу типу PNP\nІнформація на дисплеї Рисунок 5.2.1 Інформація на дисплеї фланця\nТаблиця 5.2.1. Інформація дисплея фланця\nІнформація Опис Стан шини Offline (червоний): стан EtherCAT — INIT. Зазвичай виникає під час запуску системи або коли кабель зв’язку між контролером і фланцем відключений. Mailbox (жовтий): стан EtherCAT — PreOP або BOOT. Виникає після оновлення прошивки фланця або коли PDO ще не встановлено. Live (зелений): стан EtherCAT — SafeOP або OP. Це означає, що кабель зв’язку підключений правильно і обмін даними з контролером відбувається нормально. Error (червоний): стан EtherCAT несподівано змінено з OP на INIT. Зазвичай виникає при підключенні кабелю під час обміну даними, раптовому вимкненні контролера або програмному перезапуску. Стан робота Normal (зелений): робот працює без помилок. Error (червоний): робот працює з помилкою. Стан I/O Високий стан означає, що відповідний сигнал активний; низький стан означає, що відповідний сигнал неактивний. Швидкість MODBUS Підтримувані швидкості MODBUS: 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1200, 600 бод. Значення налаштовується через параметри системи. Світлова індикація / повідомлення про помилки Повільне зелене мигання (2 с): з’єднання ще не повністю встановлене (INIT, BOOT, PreOP). Швидке зелене мигання (0,5 с): встановлено зв’язок у реальному часі (SafeOP, OP). Червоне мигання (2 с): аномальне роз’єднання зв’язку (OP → INIT). Повідомлення про помилку: робот повідомляє про помилку та відображає сигнал аварії. Інтерфейс контролера На передній панелі шафи керування розташована лише одна кнопка живлення.\nКоли система вимкнена, натисніть і утримуйте цю кнопку протягом кількох секунд, щоб запустити систему робота.\nКоли система увімкнена, натисніть і утримуйте кнопку протягом кількох секунд, щоб вимкнути систему робота.\nРисунок 5.3.1 Кнопка включения на контролері\nРисунок 5.3.2 Загальний вигляд інтерфейсів шафи керування\nТаблиця 5.3.1 Опис інтерфейсів контролера\nІнтерфейс Опис Вхід живлення AC Для підключення до мережі змінного струму AC100–240 В, 50/60 Гц Вимикач живлення Перемикач живлення Інтерфейс ручного пульта Підключення ручного пульта керування Авіаційний роз’єм робота Використовується для підключення робота до шафи керування для подачі живлення та забезпечення зв’язку з роботом LAN Для підключення навчального пульта, систем технічного зору, промислових шин та для налагодження і розробки CAN/RS485/I/O Інтерфейс CAN / RS485 / входи-виходи Інтерфейс безпеки Порти, пов’язані з функціями безпеки Аналогові / цифрові I/O Аналогові та цифрові входи-виходи Цифрові I/O Цифрові входи-виходи Інтерфейс безпеки Інтерфейс безпеки складається з 7 груп двоканальних безпечних інтерфейсів. Перша–третя групи призначені для інтерфейсів захисної зупинки (Protective Stop), а четверта–сьома групи — для інтерфейсів аварійної зупинки (Emergency Stop). Внутрішні реле безпеки для інтерфейсів захисної зупинки та аварійної зупинки реалізовані у вигляді двох незалежних каналів. За замовчуванням на виробництві ці роз’єми з’єднані по горизонталі жовтими перемичками. Якщо ці перемички відсутні, стан аварійної зупинки не може бути скинутий.\nРисунок 5.3.3 Приклад правильного підключення інтерфейсу захисної зупинки\nРисунок 5.3.4 Приклад правильного підключення інтерфейсу екстреної зупинки\nРисунок 5.3.5 Типові приклади неправильного підключення захисної зупинки та аварійної зупинки безпеки\nСпецифікація входів/виходів Рисунок 5.3.6 Функції кожної клеми модуля входів/виходів\nПідключення зовнішнього живлення для цифрового входу При подачі цифрових сигналів на вхід необхідно забезпечити живлення порту. Використовуйте зовнішнє джерело живлення та підключайте вхід через реле або цифровий ланцюг типу PNP.\nСхема підключення наведена нижче як приклад.\nРисунок 5.3.7 Приклад підключення релейного цифрового входу\nРисунок 5.3.7 Приклад підключення релейного цифрового входу\nПідключення внутрішнього живлення для цифрового входу Цифровий вихід, підключений до клем пристрою, живиться від зовнішнього джерела живлення. Вихідна клема підключається через реле або ланцюг типу PNP. Схема підключення наведена нижче.\nРисунок 5.3.8 Приклад підключення цифрового виходу через реле\nРисунок 5.3.9 Приклад підключення цифрового виходу через ланцюг PNP\nТаблиця 5.3.2 Параметри цифрових виходів\nЦифровий вихід Параметр Тип інтерфейсу PNP Вихідна напруга Типово 24 В; максимум 30 В Максимальний вихідний струм Максимум 125 мА для однієї групи Підключення аналогових входів та виходів Аналоговий вхід підтримує підключення датчиків напругового та струмового типу. Тип сигналу (напруга або струм) необхідно встановити в налаштуваннях робота. Аналоговий вихід підтримує лише струмовий сигнал.\nУВАГА! Порт аналогового виходу повинен бути підключений до навантаження, інакше система робота згенерує помилку. Ви можете вимкнути відповідний аналоговий вихід через інтерфейс керування роботом. Нижче наведено різні варіанти підключення.\nРисунок 5.3.10 Приклад правильного підключення аналогового входу\nРисунок 5.3.11 Приклад правильного підключення аналогового виходу\nТаблиця 5.3.3 Параметри аналогових входів\nПараметр Значення Роздільна здатність 12 біт Діапазон вимірювання У режимі напруги: 0–10 В У режимі струму: 4–20 мА Вхідний опір У режимі струму: 20 Ом Таблиця 5.3.4 Параметри аналогових виходів\nПараметр Значення Роздільна здатність 12 біт Вихідний сигнал Струмовий режим: 4–20 мА Інтерфейс CAN/485/IO Призначення контактів інтерфейсів CAN, RS485 та I/O на шафі керування наведено нижче:\nРисунок 5.3.12 Вигляд роз’єму CAN/485/IO\nТаблиця 5.3.5 Опис призначення контактів на фішці\nПорт Опис CAN+ Лінія CAN High шини CAN для підключення зовнішніх пристроїв по протоколу CAN. CAN− Лінія CAN Low шини CAN для підключення зовнішніх пристроїв по протоколу CAN. 485A Лінія A (485+) інтерфейсу RS-485 для диференційного зв’язку. 485B Лінія B (485−) інтерфейсу RS-485 для диференційного зв’язку. ON/OFF Вхід для підключення зовнішньої кнопки запуску/зупинки системи робота. VCC Лінія живлення (опорна напруга) для формування сигналу запуск/зупинка. COM Спільний контакт (загальний провід) для сигналу запуск/зупинка. EN Вхід дозволу роботи системи (Enable), використовується внутрішньою кнопкою запуску/зупинки або сигналом дозволу. Різні способи підключення увімкнення та вимкнення живлення:\nCпосіб 1: Використовуйте кнопку живлення на шафі керування або на ручному пульті для увімкнення та вимкнення системи.\nКлеми COM та EN необхідно з’єднати перемичкою.\nРисунок 5.3.13 Схема підключення запуску живлення (1)\nСпосіб 2: Зовнішня кнопка запуску/зупинки живлення\nЗ’єднайте клеми COM та EN перемичкою, а клеми ON/OFF і VCC підключіть до зовнішньої кнопки з нормально відкритим контактом (NO) з автоматичним поверненням.\nРисунок 5.3.14 Схема підключення запуску живлення (2)\nСпосіб 3: Автоматичний запуск після подачі живлення на шафу керування\nЗ’єднайте клеми VCC та 24VEN перемичкою.\nРисунок 5.3.14 Схема підключення запуску живлення (3)\nМережевий порт LAN Рисунок 5.3.15 Мережевий інтерфейс\nТаблиця 5.3.6 Опис LAN портів\nLAN порти Опис HMI Підключення до панелі оператора або планшета. Пряме підключення до внутрішнього маршрутизатора, який підключений до порту ETH0 контролера KEBA. Vision Підключення системи технічного зору. Пряме підключення до внутрішнього маршрутизатора, який підключений до порту ETH0 контролера KEBA. Modbus Порт підключення шини Modbus. Пряме підключення до внутрішнього маршрутизатора, який підключений до порту ETH0 контролера KEBA. Debug Порт налагодження (debug). Пряме підключення до порту ETH1 внутрішнього контролера KEBA. Живлення та підключення Рисунок 5.3.16 Свіч та підключення живлення\nЗмінне (AC) та постійне (DC) джерела живлення не можна підключати одночасно. Під час використання на кабель живлення ACIN необхідно встановити феритовий (магнітний) фільтр для зменшення електромагнітних завад (EMC).\n","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-05-elektroobladnannia/","summary":"\u003ch2 id=\"інтерфейс-фланця\"\u003e\u003cstrong\u003eІнтерфейс фланця\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eОснова маніпулятора оснащена силовим багатоконтактним роз’ємом підвищеної надійності (heavy-duty interface).На кінці маніпулятора встановлені кнопки керування та світлові індикатори.На боковій частині фланця інструмента розміщені кнопки, дисплей та авіаційний роз’єм. Загальний вигляд інтерфейсу фланця наведено на рисунку 5.1.1.\u003c/p\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/images/embedded/chapter-05-elektroobladnannia-002.png\"\u003e\u003cbr\u003e\n\u003cem\u003eРисунок 5.1.1 Загальний вигляд інтерфейсу фланця\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eТаблиця 5.1.1\u003c/em\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth style=\"text-align: left\"\u003eІнтерфейс\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eОпис\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eM8\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eЖивлення, входи/виходи та комунікаційні сигнали\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eКнопка фланця 0\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eКнопка з можливістю налаштування користувацьких функцій; за замовчуванням — режим вільного ведення (Free Drag)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eКнопки фланця 1–3\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eКористувацькі кнопки для налаштування функцій у меню конфігурації\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eДисплей\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eВідображає стан робота, стан шинної комунікації, стан входів/виходів, швидкість передачі RS485, стан користувацьких кнопок тощо\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eСвітлова стрічка\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eСвітлова індикаційна стрічка стану робота\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cem\u003eТаблиця 5.1.2\u003c/em\u003e\u003c/p\u003e","title":"Електрообладнання та інтерфейси"},{"content":"Анотація Технічне обслуговування може виконуватися лише компанією Profi Robotics Ukraine Перед проведенням технічного обслуговування або ремонту необхідно виконати візуальну перевірку обладнання та робочого місця відповідно до всіх вимог безпеки, наведених у цьому посібнику. Після заміни системи керування або вузлів осей робота необхідно виконати повторне калібрування робота. Процедура калібрування та метод перевірки результатів описані в інструкції з перевірки нульових позицій. Також необхідно перевірити параметри системи. Якщо є резервна копія параметрів — її можна імпортувати; якщо ні — параметри потрібно налаштувати повторно. Щоденна інспекція Загальне очищення Якщо на контролері або маніпуляторі робота виявлено пил, бруд або моторну оливу, їх можна видалити ганчіркою, змоченою очищувальним засобом.\nДопустимі очищувальні засоби:\nвода; ізопропіловий спирт; 10% розчин етанолу; 10% розчин нафтового розчинника (нафти). У дуже рідкісних випадках у зоні осей кобота може з’являтися невелика кількість мастила. Це не впливає на роботу або термін служби редуктора чи вісі в цілому. Не використовуйте стиснене повітря для очищення контролера або маніпулятора, оскільки це може пошкодити ущільнення та внутрішні компоненти.\nПеревірка контролера Для коректної роботи системи необхідно проводити перевірки працездатності різних функціональних частин контролера.\nТаблиця 6.2.1 План необхідних інспекцій контролреа під час експлуатації\nЕлемент перевірки Метод Щомісяця Раз на пів року Щороку Кнопка аварійної зупинки на ручному пульті оператора Функціональна перевірка X Режим вільного переміщення (Free Drive) Функціональна перевірка X Входи та виходи безпеки Функціональна перевірка X Кабелі та адаптери пульта керування Візуальний огляд X Клеми на шафі керування Функціональна перевірка X Головне живлення та вимикачі шафи керування Функціональна перевірка X Перевірка кнопки аварійної зупинки на ручному пульті оператора Натисніть кнопку аварійної зупинки (Emergency Stop). Переконайтесь, що робот зупиняється, після чого живлення осей вимикається. Після цього перезапустіть робота. Перевірка режиму вільного переміщення (Free Drag Mode) Відповідно до характеристик інструмента зніміть додаткове обладнання або встановіть TCP / навантаження. Натисніть і утримуйте кнопку Free Drag на кінці маніпулятора, щоб перевести робота в режим вільного переміщення. Перемістіть робота в положення, де він горизонтально витягнутий до межі робочої зони. Утримуючи кнопку Free Drag, перевірте, що робот утримує своє положення без додаткової підтримки. Перевірка безпечних входів та виходів Перевірте, які входи та виходи безпеки активні, та протестуйте, чи коректно вони спрацьовують. Візуальна перевірка Від’єднайте кабель живлення від контролера. Перевірте, чи правильно підключені клеми та чи відсутні ослаблені проводи. Перевірте, чи не ослаблений мережевий кабель всередині контролера. Перевірте, чи відсутні пил або забруднення всередині контролера. За необхідності очистіть його пилососом із захистом від статичної електрики. Robot Таблиця 6.2.2 План необхідних інспекцій маніпулятора під час експлуатації\nЕлемент перевірки Метод Щомісяця Раз на пів року Перевірка кришок шарнірів Візуальний огляд X Перевірка гвинтів кришок Функціональна перевірка X Перевірка ущільнювальних кілець (O-ring) Візуальний огляд X Перевірка кабелів робота та їхніх з’єднань Візуальний огляд X Перевірка болтів кріплення маніпулятора робота Функціональна перевірка X Перевірка болтів кріплення інструмента Функціональна перевірка X Перевірка гвинтів, що з’єднують шарніри Функціональна перевірка X Мета функціональної перевірки — переконатися, що гвинти, болти, інструмент та елементи маніпулятора не ослаблені. Гвинти та болти, зазначені в плані перевірки, необхідно перевіряти за допомогою динамометричного ключа.\nТипові помилки У цьому розділі наведено деякі типові помилки, які можуть виникати під час експлуатації робота. Якщо виникають інші помилки, які неможливо усунути, можна завантажити файл журналу (log) робота через інтерфейс журналів та надіслати його службі післяпродажної підтримки для аналізу та усунення проблеми.\nСингулярність/помилка оберненого кінематичного розв’язку Робоча зона робота має форму сфери, радіус якої дорівнює досяжності маніпулятора.Однак існують деякі особливі положення та орієнтації, які є сингулярними точками для робота, і їх необхідно уникати під час роботи.\nНижче наведено три типові приклади сингулярностей:\nРис. 6.3.1 Циліндрична область, основою якої є площина основи робота.\nРис. 6.3.2 Вісі A3, A4 та A6 робота розташовані паралельно\nРис. 6.3.3 Кут між верхньою та нижньою ланками маніпулятора робота наближається до 180°\nСпрацювання системи виявлення зіткнення Датчики крутного моменту в осях робота здійснюють безперервний контроль сил, що діють на робот, у режимі реального часу. Якщо виміряне значення перевищує допустиме, система виявлення зіткнення активується.\nУ такому випадку необхідно перевірити:\nчи правильно задано траєкторію руху робота; чи відсутні перешкоди в зоні переміщення робота. Якщо траєкторія руху задана правильно, але система виявлення зіткнення продовжує спрацьовувати, необхідно перевірити:\nправильність налаштування інструмента; правильність налаштування навантаження; стан та прокладання комунікацій або шлангів кінцевого інструмента. Перевищення обмежень положення/швидкості Якщо під час роботи робот перевищує допустимі обмеження положення або швидкості, необхідно перевірити правильність написання програми.\nЯкщо програма написана коректно, можна змінити відповідні обмеження параметрів у налаштуваннях безпеки.\nЯкщо виникла помилка перевищення межі положення, і після скидання помилки робот залишається в стані перевищення обмеження та знову видає сигнал тривоги після подачі живлення, можна активувати режим відновлення (rescue mode), щоб перевести робот у безпечне робоче положення.\nПохибка відстеження осей вище норми Якщо під час руху робота виникає надмірна похибка відстеження положення осей, необхідно перевірити:\nчи є швидкість і прискорення руху допустимими; чи правильно задане навантаження робота; чи не перевищує навантаження допустиму вантажопідйомність робота. Скидання аварійного повідомлення Рис.6.3.4 Приклад помилки в інформаційному вікні\nКоли з’являється спливаюче вікно з повідомленням про помилку, можна активувати режим відновлення (Rescue Mode) або натиснути «OK», після чого вручну виконати скидання помилки та перейти до режиму відновлення.\nПорядок скидання аварійного повідомлення в режимі відновлення:\na) Натисніть“”, далі“”щоб скинути аварійний сигнал.\nб) Натисніть кнопку“” для увімкнення режиму відновлення.\nв) Натисніть кнопку“” для подачі живлення на робот.\nг) У режимі відновлення перемістіть осі, що перевищили допустимі межі, у правильне положення, використовуючи керування відповідними осями.\nд) Натисніть кнопку“” для вимкнення кобота.\nе) Натисніть кнопку“” для виходу з режиму відновлення.\nф) Повторіть крок 3 для повторної подачі живлення на робот.\nОпис кодів несправностей Наразі для робота передбачено 6 рівнів інформаційних повідомлень. Четверта цифра коду помилки визначає рівень помилки.\nТаблиця 6.4.1 Рівні помилок та опис\n№ Помилка та рівень 0 Системна зайнятість 1 Системне повідомлення 2 Попередження 3 Загальна помилка 4 Критична помилка 5 Фатальна помилка У разі виникнення загальної або більш серйозної помилки робот вимикається та припиняє роботу. У разі виникнення попередження робот зменшує швидкість і зупиняється. Якщо одночасно виникає кілька помилок, обробляється помилка з найвищим рівнем критичності. Для одного типу помилки використовується один код, але детальний опис помилки відображається на операторській панелі. Детальні коди помилок та їх опис наведено у додатку. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-06-obsluhovuvannia/","summary":"\u003ch2 id=\"анотація\"\u003e\u003cstrong\u003eАнотація\u003c/strong\u003e\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eТехнічне обслуговування може виконуватися лише компанією Profi Robotics Ukraine\u003c/li\u003e\n\u003cli\u003eПеред проведенням технічного обслуговування або ремонту необхідно виконати візуальну перевірку обладнання та робочого місця відповідно до всіх вимог безпеки, наведених у цьому посібнику.\u003c/li\u003e\n\u003cli\u003eПісля заміни системи керування або вузлів осей робота необхідно виконати повторне калібрування робота. Процедура калібрування та метод перевірки результатів описані в інструкції з перевірки нульових позицій. Також необхідно перевірити параметри системи. Якщо є резервна копія параметрів — її можна імпортувати; якщо ні — параметри потрібно налаштувати повторно.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"щоденна-інспекція\"\u003e\u003cstrong\u003eЩоденна інспекція\u003c/strong\u003e\u003c/h2\u003e\n\u003ch3 id=\"загальне-очищення\"\u003e\u003cstrong\u003eЗагальне очищення\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eЯкщо на контролері або маніпуляторі робота виявлено пил, бруд або моторну оливу, їх можна видалити ганчіркою, змоченою очищувальним засобом.\u003c/p\u003e","title":"Використання та обслуговування кобота"},{"content":"Інтерфейс входу в систему Обліковий запис для запуску за замовчуванням — admin, пароль — 123456. Якщо IP-адресу підключеного контролера було змінено, можна натиснути червону кнопку, щоб задати потрібні IP-адресу та порт і зберегти їх.\nНатискання кнопки «Clear Cache» очищує кеш браузера. Рекомендується очищувати кеш під час зміни підключеного робота. Загальний вигляд інтерфейсу входу в систему наведено на рисунку 7.1.1.\nРисунок 7.1.1 Загальний вигляд інтерфейсу входу в систему\nГоловна сторінка Після успішного входу в систему ви будете перенаправлені на головний інтерфейс, який за замовчуванням відображає вміст вкладки «Project» і поділений на 4 робочі області. Загальний вигляд головного інтерфейсу наведено на рисунку 7.2.1.\nРисунок 7.2.1 Загальний вигляд головного інтерфейсу\nОбласть перемикання вкладок Область перемикання вкладок містить чотири кнопки: «Project», «Setting», «Record» та «Manage», які відповідно перемикають на чотири різні інтерфейси відображення, як бачимо на рисунку 7.2.2.\nРисунок 7.2.2 Область перемикання вкладок\nКнопка налаштувань облікового запису Кнопка відображає обліковий запис, під яким виконано вхід. Натискання на неї відкриває опцію «Re-login», яка перенаправляє на інтерфейс введення пароля.\nРисунок 7.2.3 Кнопка налаштувань облікового запису\nКнопка вікна повідомлень Рисунок 7.2.4 Кнопка вікна повідомлень\nПісля натискання відкривається спливаюче вікно з повідомленнями про помилки та стан робота у реальному часі. Приклади наведені нижче.\nРисунок 7.2.5 Вікно про стан робота у реальному часі\nРисунок 7.2.6 Вікно з повідомленнями про помилки\nКоли робот повідомляє про помилку, тут відображається повідомлення про неї, що містить час виникнення, код та опис помилки. Після підтвердження, що стан помилки робота знято, можна натиснути кнопку «Reset», щоб очистити повідомлення про помилку. Після цього робот можна знову увімкнути.\nКнопка повноекранного режиму Використовується для перемикання між повноекранним і звичайним режимом відображення веб-сторінки (рекомендується використовувати повноекранний режим).\nРисунок 7.2.7 Кнопка повноекранного режиму\nВкладка «Project» У вкладці «Project» основні області включають:\nобласть меню; область графічного програмування; список поз (pose list); список змінних; область параметрів; область 3D-відображення; область I/O; область керування проєктом; область налаштування множника швидкості. Рисунок 7.3.1 Вигляд вкладки «Project»\nОбласть швидкого доступу Таблиця 7.3.1 Функції області швидкого доступу\nВставити інструкцію зверху Вставити інструкцію знизу Вставити інструкцію всередині Перемістити команду на один рівень вгору Перемістити команду на один рівень вниз Збільшити масштаб області дерева програми Зменшити масштаб області дерева програми Вставити команду Копіювати вибрану команду Вирізати вибрану команду Видалити вибрану команду Додати коментар до вибраної команди Лінійний рух до точки Найшвидший рух від точки до точки Оновити точки Налаштування проєкту Скасувати поточну операцію Повторити поточну операцію Відкрити операцію пакетного керування. Після її відкриття можна керувати проєктом, деревом програми та списком точок пакетно. Можна вибирати команди окремо або вибрати всі / інвертувати вибір, а потім виконувати копіювання, вставку, видалення та інші операції. Відкрити екран керування змінними Запис траєкторій руху Область блокового програмування Рисунок 7.3.2 Вигляд області блокового програмування\nОбласть графічного програмування можна розділити на чотири частини:\nзаголовок класифікація інструкцій програмування інструкції програмування дерево програми Заголовок В області заголовка розташовані три кнопки, а саме:\nКнопка“”Редагування властивостей проєкту та керування завданнями: Рисунок 7.3.3 Вигляд функцій вкладки редагування проєкту\nВизначення надписів на рисунку:\nProject Demo — Назва проєкту List — Список Serial Number — Порядковий номер Name — Назва Manage — Керування main1 — main1 (назва програми) Main Program — Головна програма Кнопка“”. Повний екран / Відновлення вікна. Перехід у повноекранний режим або відновлення стандартного відображення області графічного програмування. Кнопка“”. Закриття вікна області блокового програмування. Мультитаскінг Кообот підтримує багатозадачні програми. Різні типи завдань можна додавати, натиснувши відповідну піктограму“”, а саме: підзадачі, переривання задачі, програми з командами руху та програми без команд руху. Вибір певного завдання або програми перемикає поточне дерево програми, що використовується для програмування.\nРисунок 7.3.4 Вигляд вікна мультитаскінгу\nОдин проєкт містить лише одну головну задачу, але може включати кілька підзадач та кілька задач переривання. Під час виконання проєкту, запуск починається з головної задачі.\nПідзадачі повинні запускатися та виконуватися з головної задачі за допомогою команди RUN і не запускаються автоматично. Підзадачам заборонено містити команди руху. Головна задача може зупиняти підзадачі за допомогою команди KILL (підзадачам дозволено запускати та зупиняти інші підзадачі командами RUN і KILL), але головну задачу зупинити неможливо. Задачі переривання (interrupt tasks) повинні бути прив’язані до головної задачі за допомогою інструкцій, пов’язаних із перериваннями. Коли спрацьовує умова переривання, головна задача призупиняється, після чого виконується прив’язана задача переривання. Після завершення задачі переривання виконання головної задачі продовжується.\nЗадачі переривання не можуть містити команди руху та не можуть запускати інші задачі. Перед завершенням задачі переривання робот повинен бути повернений у позицію, в якій було зафіксовано переривання. Інакше після завершення задачі переривання головна задача залишиться у стані паузи. У такому випадку потрібно вручну перемістити робот у позицію, де виникло переривання, після чого натиснути кнопку відновлення роботи. Якщо одночасно спрацьовує кілька умов переривання, виконується задача переривання, яка була прив’язана першою. Після її завершення умови переривання перевіряються знову. Ця логіка повторюється (тобто одночасно може виконуватися лише одна задача переривання, і вона не переривається іншими задачами переривання). Одна задача не може виконуватися одночасно з кількома іншими задачами. Програми можуть викликатися лише задачами за допомогою інструкції Call. Програми класифікуються залежно від того, містять вони команди руху чи ні. Головна задача та задачі переривання можуть викликати будь-які програми. Підзадачі можуть викликати лише програми без команд руху. Одна програма може бути викликана кількома задачами одночасно. Інструкції програмування Рисунок 7.3.5 Вигляд вікна програмування рухів\nІнструкції програмування (команди) — це графічні блоки. Після вибору відповідної категорії необхідно натиснути потрібну графічну інструкцію програмування, щоб додати її до дерева програми праворуч, або перетягнути інструкцію безпосередньо в дерево програми праворуч.\nДерево програмування У дереві програми можна додавати, видаляти, коментувати, копіювати та впорядковувати вузли програми, а також редагувати параметри доданих вузлів програми.\nРисунок 7.3.6 Вигляд дерева програми\nПісля вибору відповідної категорії натисніть потрібну графічну інструкцію програмування, щоб додати її до дерева програми праворуч. Також команду можна перетягнути безпосередньо в дерево програми праворуч.\nРисунок 7.3.7 Додавання інструкції в дерево\nЗалежно від способу вставлення команди в області швидких операцій, її можна додати:\nвище поточно вибраної команди, нижче поточно вибраної команди, або як підрівень (дочірній елемент) поточно вибраної команди в дереві програми. Рисунок 7.3.8 Переміщення команд в дереві\nРисунок 7.3.9 Опції команд\nДля видалення команди, двічі натисніть на блок, який потрібно видалити, або виберіть список параметрів, після чого відкриється відповідне вікно редагування вузла. Натисніть кнопку“ ”, щоб видалити вузол.\nДля того щоб закоментувати команду, натисніть на блок програми, який потрібно закоментувати — відкриється відповідне вікно редагування. Натисніть кнопку “”. Закоментована команда залишиться у програмі, але не буде виконуватися під час роботи програми.\nДля копіювання команди, натисніть на блок програми, який потрібно скопіювати - відкриється відповідне вікно редагування. Натисніть кнопку“”. Новий блок буде автоматично вставлено в наступному рядку після скопійованого.\nДля переміщення команд в програмі: виберіть і перетягніть блок програми, порядок якого потрібно змінити, та розмістіть його у потрібній позиції.\nРисунок 7.3.10 Сортування команд програми\nЗалежно від місця, де блок буде відпущено, команду можна додати:\nвище вибраної команди, нижче вибраної команди, або як підрівень певної команди. Для редагування команди двічі натисніть команду, яку потрібно відредагувати, або виберіть команду та відкрийте список параметрів, щоб змінити її детальні параметри.\nРисунок 7.3.11 Редагування команд\n","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-07-pult-keruvannia/","summary":"\u003ch2 id=\"інтерфейс-входу-в-систему\"\u003e\u003cstrong\u003eІнтерфейс входу в систему\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eОбліковий запис для запуску за замовчуванням — \u003cstrong\u003eadmin\u003c/strong\u003e, пароль — \u003cstrong\u003e123456\u003c/strong\u003e.  Якщо \u003cstrong\u003eIP-адресу\u003c/strong\u003e підключеного контролера було змінено, можна натиснути \u003cstrong\u003eчервону кнопку\u003c/strong\u003e, щоб задати потрібні \u003cstrong\u003eIP-адресу та порт\u003c/strong\u003e і зберегти їх.\u003c/p\u003e\n\u003cp\u003eНатискання кнопки \u003cstrong\u003e«Clear Cache»\u003c/strong\u003e очищує кеш браузера. Рекомендується очищувати кеш під час зміни підключеного робота. Загальний вигляд інтерфейсу входу в систему наведено на рисунку 7.1.1.\u003c/p\u003e\n\u003cp\u003e\u003cimg loading=\"lazy\" src=\"/images/embedded/chapter-07-pult-keruvannia-029.png\"\u003e\u003cbr\u003e\n\u003cem\u003eРисунок 7.1.1 Загальний вигляд інтерфейсу входу в систему\u003c/em\u003e\u003c/p\u003e\n\u003ch2 id=\"головна-сторінка\"\u003e\u003cstrong\u003eГоловна сторінка\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eПісля успішного входу в систему ви будете перенаправлені на головний інтерфейс, який за замовчуванням відображає вміст вкладки «\u003cstrong\u003eProject\u003c/strong\u003e» і поділений на 4 робочі області. Загальний вигляд головного інтерфейсу наведено на рисунку 7.2.1.\u003cbr\u003e\n\u003cimg loading=\"lazy\" src=\"/images/embedded/chapter-07-pult-keruvannia-030.png\"\u003e\u003cbr\u003e\n\u003cem\u003eРисунок 7.2.1 Загальний вигляд головного інтерфейсу\u003c/em\u003e\u003c/p\u003e","title":"Огляд пульта керування"},{"content":"Що таке OAK-D Pro та її роль у комірці OAK-D Pro — це компактна стерео-камера машинного зору, яка в нашій комірці використовується як джерело зображення та глибини для задач виявлення й позиціонування об’єктів. У конфігурації лабораторії застосовується USB-варіант камери: передача даних і живлення виконуються через USB-C.\nНа відміну від звичайної веб-камери, OAK-D Pro має не лише кольоровий сенсор, а й стереопару моно-камер та вбудовані інфрачервоні елементи підсвічування. Це дає змогу стабільніше отримувати глибину в сценах, де мало текстури або недостатньо світла.\nРисунок 8.2.1. Передній вигляд камери OAK-D Pro (референсне зображення)\nАпаратна будова камери З апаратної точки зору OAK-D Pro включає такі ключові вузли:\nRGB-камера — формує кольорове зображення сцени. Дві моно-камери (stereo pair) — використовуються для обчислення карти глибини. IR laser dot projector — створює інфрачервоний патерн для покращення depth на слабко-текстурованих поверхнях. IR flood LED — інфрачервоне підсвічування для роботи в умовах низького освітлення. IMU — інерціальний модуль (для орієнтації/руху системи). RVC2 (on-device compute) — обчислювальний модуль камери, який виконує частину CV/AI-обробки на самому пристрої. USB-C інтерфейс — один кабель для зв’язку з хостом і подачі живлення. Таблиця 8.2.1. Основні апаратні компоненти OAK-D Pro (USB)\nКомпонент Призначення Практична примітка для студента RGB-камера Кольоровий відеопотік Використовується для візуального контролю сцени та детекції об’єктів Stereo mono-камери Розрахунок глибини Потребують стабільного монтажу й коректної калібровки IR dot projector Покращення depth на «плоских»/малотекстурних поверхнях Підвищує якість стерео в складних сценах IR flood LED Підсвітка при низькому освітленні RGB-камера не використовує IR як основне джерело зображення IMU Інерціальні дані Корисно для задач оцінки руху/орієнтації, якщо це потрібно RVC2 Локальна обробка CV/AI на камері Зменшує навантаження на Jetson у частині обробки USB-C Дані + живлення Якість кабелю та живлення напряму впливає на стабільність Підключення OAK-D Pro у нашій комірці У лабораторній конфігурації камера підключається так:\nЗакріпіть OAK-D Pro на жорсткому кронштейні без люфту й вібрацій. Під’єднайте камеру до Jetson через USB-C (data + power). Переконайтесь, що кабель не натягується під час руху робота та не входить у його робочу зону. Після запуску ПЗ відкрийте Налаштування → Перевірка камери / Запустити потік і переконайтесь, що є живе RGB-зображення; далі у вікні перегляду (або в Моніторингу) увімкніть depth-перегляд і перевірте, що карта глибини оновлюється без «завислих» кадрів. Якщо у вашій збірці немає перемикача depth, орієнтуйтесь на офіційний гайд Luxonis: https://docs.luxonis.com/hardware/products/OAK-D%20Pro%20W. Примітка щодо живлення. Для Pro-камер із активованими IR-елементами інколи потрібне стабільніше зовнішнє живлення через Y-Adapter (якщо USB-порт хоста не забезпечує потрібний струм).\nМожливості камери OAK-D Pro Функціональні можливості OAK-D Pro:\nЗабезпечує одночасне формування кольорового відеопотоку (RGB) та карти глибини (depth). Підтримує стерео-оцінку глибини в реальному часі для типових навчальних сценаріїв pick-and-place. Підвищує стабільність оцінки глибини на слабко текстурованих поверхнях за рахунок IR dot projector. Забезпечує роботу в умовах зниженого освітлення завдяки IR flood LED. Дозволяє виконувати частину обчислень безпосередньо на вбудованому процесорі камери (RVC2). Апаратні та експлуатаційні обмеження OAK-D Pro:\nКамера не належить до засобів функціональної безпеки та не замінює E-STOP, safety scanner або захисні огорожі. Для прозорих, дзеркальних і виражено блискучих поверхонь коректність карти глибини може бути обмеженою. Досягнення метрологічно обґрунтованої точності позиціонування потребує калібрування системи «камера-робот». Камера не компенсує механічні похибки монтажу (вібрації, зміщення, люфт кріплення). Камера не замінює належної організації освітлення сцени; недостатнє або нестабільне освітлення знижує якість сприйняття. Базове використання на лабораторній роботі Базовий порядок роботи для студента:\nВізуально перевірити кріплення камери, чистоту оптики, положення кабелю. Увімкнути Jetson та ПЗ, переконатися, що камера визначилась системою. Перевірити, що відображається RGB-потік і карта глибини без пропусків кадрів. Зафіксувати робочу сцену (без зміни положення камери) і тільки потім виконувати калібрування/запуск задачі. Перед автоматичним циклом перевірити, що зона огляду камери відповідає робочій зоні робота. Рисунок 8.5.1. Приклад роботи активного стерео: порівняння без IR та з IR підсвічуванням\nДодаткові ресурси Для поглибленого налаштування використовуйте тільки офіційну документацію Luxonis:\nOAK-D Pro W (апаратні особливості Pro-лінійки, RVC2, IR, IMU):\nhttps://docs.luxonis.com/hardware/products/OAK-D%20Pro%20W Y-Adapter (коли потрібне зовнішнє живлення для USB-камер):\nhttps://docs.luxonis.com/hardware/products/Y-Adapter Платформені матеріали DepthAI (software/API, приклади, розширені можливості):\nhttps://docs.luxonis.com/software-v3/depthai/release-notes\nhttps://docs.luxonis.com/software-v3/depthai/depthai-components/nodes/neural_network/ Критерії якості калібрування (камера) Калібрування вважається придатним до експлуатації, якщо одночасно виконано:\nМаркери стабільно детектуються в межах робочої області, а координатна прив’язка не демонструє помітного дрейфу під час повторних перевірок. Повторний запуск на контрольній сцені дає узгоджені позиційні оцінки без систематичного зсуву drop/target відносно робочої зони. Кріплення камери є жорстким і без люфту, а після калібрування не змінювались положення камери, кабелю та опорних елементів. Повторне калібрування обов’язкове, якщо:\nЗмінено монтаж або орієнтацію камери. Змінено фокус/оптику або відбулась механічна подія (удар, вібраційне зміщення). Виявлено стабільний зсув координатної прив’язки під час verification. Фіксація в журналі:\nДата/час, відповідальний оператор. Які артефакти збережено (calibration_bundle.npz, workspace_definition.npz). Результат контрольної перевірки (PASS/FAIL) і короткий коментар. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-08-oak-d-pro/","summary":"\u003ch2 id=\"що-таке-oak-d-pro-та-її-роль-у-комірці\"\u003e\u003cstrong\u003eЩо таке OAK-D Pro та її роль у комірці\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eOAK-D Pro — це компактна стерео-камера машинного зору, яка в нашій комірці використовується як джерело зображення та глибини для задач виявлення й позиціонування об’єктів. У конфігурації лабораторії застосовується \u003cstrong\u003eUSB-варіант\u003c/strong\u003e камери: передача даних і живлення виконуються через \u003cstrong\u003eUSB-C\u003c/strong\u003e.\u003c/p\u003e\n\u003cp\u003eНа відміну від звичайної веб-камери, OAK-D Pro має не лише кольоровий сенсор, а й стереопару моно-камер та вбудовані інфрачервоні елементи підсвічування. Це дає змогу стабільніше отримувати глибину в сценах, де мало текстури або недостатньо світла.\u003c/p\u003e","title":"Камера OAK-D Pro"},{"content":"Призначення Jetson Orin Nano у лабораторній комірці Jetson Orin Nano у нашій комірці виконує роль локального edge-комп’ютера, на якому запускається прикладне ПЗ, сервіси візуалізації, модулі керування інтеграцією та інструменти взаємодії з камерою і роботом.\nНа відміну від звичайного офісного ПК, Jetson оптимізований для задач комп’ютерного зору та AI-обчислень поблизу обладнання, тобто без обов’язкової передачі даних у хмару. Це зменшує затримки, спрощує роботу з периферією (USB/GPIO/мережа) і підвищує відтворюваність лабораторних сценаріїв.\nАпаратна архітектура: що знаходиться всередині З практичної точки зору Jetson Orin Nano Development Kit складається з:\nSoC (CPU + GPU + апаратні прискорювачі) — виконує загальні та AI/CV-обчислення. Оперативної пам’яті (RAM) — спільно використовується процесорними підсистемами. Накопичувача (NVMe/інший носій залежно від конфігурації) — містить ОС, контейнери, дані та журнали. Мережевих і периферійних інтерфейсів — USB, Ethernet, display-виходи та службові інтерфейси. Системи охолодження — критично важлива для стабільної роботи під навантаженням. Таблиця 9.2.1. Ключові апаратні вузли Jetson Orin Nano у навчальній експлуатації\nКомпонент Призначення Практична примітка для студента CPU Логіка застосунків, сервіси, мережеві задачі Високе CPU-навантаження може впливати на чутливість інтерфейсу GPU Прискорення AI/CV і паралельних обчислень Некоректні моделі або завеликі batch-и можуть перевантажувати систему RAM Робочі дані ОС, контейнерів і пайплайнів Нестача RAM спричиняє затримки, OOM-помилки або перезапуски процесів NVMe/сховище ОС, проєкт, логи, артефакти калібрування Потрібно контролювати вільне місце перед лабораторною роботою USB/Ethernet Зв’язок із камерою, периферією і мережею комірки Ненадійний кабель/порт часто є першопричиною «плаваючих» збоїв Охолодження Відведення тепла при тривалому навантаженні Перегрів викликає тротлінг і падіння продуктивності Інтерфейси, що використовуються в нашій конфігурації У типовій лабораторній конфігурації задіяні:\nЖивлення Jetson через штатний блок живлення dev kit. USB-підключення камери OAK-D Pro (дані + живлення камери). Ethernet/мережеве підключення для доступу до веб-інтерфейсу, сервісів та обладнання в одній підмережі. Локальний термінальний доступ (монітор/клавіатура або SSH) для сервісних перевірок. Підключення слід виконувати так, щоб кабелі не перебували в робочій зоні робота, не створювали натягу та не передавали вібрацію на роз’єми.\nЕнергоживлення, охолодження та стабільність роботи Для стабільної роботи Jetson важливо одночасно виконувати три умови:\nСтабільне живлення без просідання напруги. Справне активне охолодження (вентилятор/радіатор без блокування повітряного потоку). Контроль теплового режиму під час тривалого запуску контейнерів і CV/AI-пайплайнів. У разі перегріву система може переходити в режим thermal throttling, що призводить до зростання затримок, нестабільної частоти кадрів і зниження загальної продуктивності.\nРоль Jetson у програмному стеку комірки Jetson у нашій системі зазвичай виконує:\nзапуск контейнерів та сервісів проєкту; взаємодію з камерою (отримання/обробка відеопотоків); мережеву взаємодію з роботом і допоміжними пристроями; надання веб-інтерфейсу оператора/студента; зберігання робочих артефактів (калібрування, налаштування, логи). Саме тому Jetson слід розглядати як центральний обчислювальний вузол комірки, а не лише як «плату для запуску скриптів».\nФункціональні можливості та обмеження Jetson Orin Nano Функціональні можливості:\nЗабезпечує локальний запуск Linux-середовища та контейнеризованих сервісів. Підтримує AI/CV-обчислення на GPU для задач машинного зору в реальному часі. Дозволяє інтеграцію з периферією через USB/Ethernet/GPIO (залежно від конфігурації). Підтримує мережевий доступ для віддаленого адміністрування та моніторингу. Обмеження та типові помилки експлуатації:\nНе є промисловим safety-контролером і не замінює засоби безпеки роботизованої комірки. Має обмежені ресурси RAM/диска; неконтрольоване навантаження може призводити до відмов сервісів. Чутливий до якості живлення та охолодження; перегрів і нестабільне живлення напряму впливають на результат. Не гарантує стабільну роботу при довільних змінах системних параметрів без валідації (режими енергоспоживання, драйвери, версії бібліотек). Базове використання Jetson на лабораторній роботі Рекомендований мінімальний порядок дій:\nПеред стартом перевірити фізичний стан: живлення, вентилятор, мережевий кабель, USB-кабель камери. Після завантаження ОС перевірити доступність системи (локально або через SSH). Запустити сервіси проєкту штатною командою, визначеною в лабораторній інструкції. Переконатися, що інтерфейс відкривається в браузері та камера визначається сервісом. Перед виконанням автоматичних циклів перевірити відсутність критичних помилок у логах. Мінімальні сервісні перевірки (без поглибленого адміністрування):\nстан контейнерів: docker compose ps перегляд журналу сервісу: docker compose logs -f наявність камери в USB-списку: lsusb базова перевірка вільного місця: df -h Типові симптоми несправностей і первинна реакція Інтерфейс не відкривається: перевірити стан контейнерів, IP-адресу Jetson і доступність порту сервісу. Камера періодично «відпадає»: перевірити USB-кабель/порт, живлення камери та навантаження на систему. Суттєві затримки або низький FPS: перевірити завантаження системи, температуру та фонові процеси. Помилки запису/збереження: перевірити вільне місце на диску та права доступу до каталогу даних. Якщо після базових дій проблема повторюється, слід звернутися до викладача або інженера лабораторії та не продовжувати автоматичний цикл до усунення причини.\nДодаткові ресурси (офіційні матеріали NVIDIA) Для розширеної конфігурації та адміністрування використовуйте офіційні ресурси NVIDIA:\nJetson Orin Nano Developer Kit (стартові матеріали):\nhttps://developer.nvidia.com/embedded/learn/get-started-jetson-orin-nano-devkit Jetson Linux Developer Guide (офіційний гайд із платформених компонентів):\nhttps://docs.nvidia.com/jetson/ NVIDIA Embedded / Jetson Download Center (образи, SDK, пакети):\nhttps://developer.nvidia.com/embedded/downloads Контейнерна експлуатація (розширено) Рекомендований операційний цикл контейнера codroid-ui:\nШтатне оновлення: виконати docker compose pull ui, потім docker compose up -d \u0026ndash;force-recreate ui, після чого провести smoke test (UI + camera + robot + gripper). Контроль версії: у production-лабораторії рекомендується pinning стабільного тега замість безумовного latest; зміну тега виконувати лише з фіксацією у журналі змін. Rollback: повернути попередній підтверджений образ, перезапустити ui, повторити acceptance tests перед допуском до роботи. Автооновлення: якщо активний systemd timer автооновлення, оператор має перевіряти його стан і останній результат виконання. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-09-jetson-orin-nano/","summary":"\u003ch2 id=\"призначення-jetson-orin-nano-у-лабораторній-комірці\"\u003e\u003cstrong\u003eПризначення Jetson Orin Nano у лабораторній комірці\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eJetson Orin Nano у нашій комірці виконує роль локального edge-комп’ютера, на якому запускається прикладне ПЗ, сервіси візуалізації, модулі керування інтеграцією та інструменти взаємодії з камерою і роботом.\u003c/p\u003e\n\u003cp\u003eНа відміну від звичайного офісного ПК, Jetson оптимізований для задач комп’ютерного зору та AI-обчислень поблизу обладнання, тобто без обов’язкової передачі даних у хмару. Це зменшує затримки, спрощує роботу з периферією (USB/GPIO/мережа) і підвищує відтворюваність лабораторних сценаріїв.\u003c/p\u003e","title":"Обчислювальний модуль NVIDIA Jetson Orin Nano"},{"content":"Призначення та межі відповідальності codroid-api — це низькорівневий Python-клієнт для контролера Codroid, який поєднує:\nWebSocket-керування (команди, стани, IO, події). HTTP-операції (обмін login-ключами, читання/збереження .crp-проєктів). Уніфікований API для прикладного ПЗ (зокрема codroid-ball-picker). Пакет не є веб-інтерфейсом (UI) і не замінює логіку прикладної програми: він надає керовані примітиви руху, моніторингу, OnRobot-викликів та доступу до даних проєкту.\nОсновні класи і як вони взаємодіють CodroidConfig (codroid_api/client.py) зберігає host/port, токен, дані авторизації, коди команд і шляхи setparam; формує ws_url. CodroidAPI (codroid_api/client.py) головний асинхронний клієнт; встановлює WebSocket, надсилає/читає повідомлення, виконує рухи, IO-опитування, допоміжні HTTP-операції. CodroidSettings (codroid_api/settings.py) джерело конфігурації з .env (CODROID_*); збирає окремі конфігурації для user-каналу і robot-каналу. RobotSession (codroid_api/robot_session.py) довгоживуча сесія з фоновими задачами прослуховування і опитування (listener/poll); знімає з UI необхідність вручну керувати reconnect, posture/DI/status snapshots, release/acquire control. Канали підключення і модель авторизації У поточній реалізації використовуються два WebSocket-канали:\nКанал користувача (User channel) (типово ws://\u0026lt;host\u0026gt;:9098/) ws_login_with_password() або ws_login(); призначений для користувацьких дій і узгодження з веб-сесією. Канал робота (Robot channel) (типово ws://\u0026lt;host\u0026gt;:9000/) robot_login(); виконує команди руху/стану робота. Паралельно застосовується HTTP-процедура login (handshake):\nGET /code/init (отримання pub/pri ключів), POST /user/login (шифровані дані запиту через _asencode()), передача отриманого usercode у wslogin. Ця схема реалізована в http_login() + ws_login_with_password().\nСтруктура WebSocket-повідомлень Метод build_message() формує уніфікований формат:\nid — ідентифікатор повідомлення (message id); time — unix-time в ms; token — токен сесії; type — простір імен (namespace) повідомлення (user, Robot, common, IOManager, projexecute \u0026hellip;); action — команда; data — дані повідомлення (payload). Ключові транспортні примітиви:\nsend_message() — надсилання JSON у WebSocket; recv(timeout=\u0026hellip;) — читання черги вхідних повідомлень; listen() — асинхронний стрім усіх повідомлень; send_and_wait(\u0026hellip;, predicate=\u0026hellip;) — патерн request/response із фільтрацією відповіді. Командна модель Robot/Control/* Керування реалізоване через common.setparam і шляхи Robot/Control/\u0026hellip;.\nПараметр Призначення Де у коді Robot/Control/command запуск команд (power/mode/move/error clear) RobotControlPaths.command Robot/Control/commandHeart heartbeat для утримуваних команд send_command_heartbeat() Robot/Control/manualMoveRate множник ручної швидкості set_manual_move_rate() Robot/Control/jogMode режим jog (stop/joint/tcp) RobotJogMode Robot/Control/jogIndex вісь jog set_jog_index() Robot/Control/jogSpeed напрям/швидкість jog (-1/0/1) set_jog_speed() Robot/Control/jogReference reference frame (coordinate/tool) RobotJogReference Robot/Control/targetPosType тип цілі (none/apos/cpos) RobotTargetPosType Robot/Control/targetAPos ціль у joint-space set_target_apos() Robot/Control/targetCPos ціль у cartesian-space set_target_cpos() Набір кодів команд за замовчуванням (RobotCommandSet):\n1 power on, 2 power off, 3 manual mode, 4 rescue mode, 5 auto mode; 501 clear error; 104/1001/1002/105 — preset moves (home/safe/candle/package); 106/107 — цільові переміщення (linear/optimal). Рух: від jog до цільових траєкторій Jog-режим start_joint_jog() і start_tcp_jog() виконують послідовність:\nвиставити jogMode, виставити jogSpeed (напрям), виставити jogIndex (вісь), за потреби надіслати heartbeat. hold_jog() підтримує рух впродовж hold_seconds і завершує stop_jog().\nЦільові переміщення (Target moves) move_to_*_target_*() використовують двоетапну модель:\nзапис цілі (targetPosType + targetAPos/targetCPos), подача команди 106 або 107. Після виконання (за reset_after=True) API очищає вибір цілі (target selection, targetPosType = none) і скидає команду.\nФормування даних позицій (payload) build_target_apos([\u0026hellip;]) — joint payload (jntpos1..7, exjntpos1..10). build_target_cpos(x,y,z,a,b,c,\u0026hellip;) — cartesian payload (x,y,z,a,b,c,e,poscfg,\u0026hellip;). build_poscfg(mode, cf) — posture-конфігурація для CPOS. Калібрування координат у codroid-api Код реалізує повний 3-точковий цикл:\nпідготовка трьох CPOS-точок; coordinate_calibration(points, coordinate_id, \u0026hellip;): валідує рівно 3 точки; (опційно) активує слот координат (coordinate slot) через SetCurrentCoordinateId; надсилає Robot/CoordinateCalibration і чекає відповідь. change_coordinate_parameter(coordinate_id, frame): зберігає обчислений frame у користувацький слот координат контролера (user coordinate slot). Для швидкого підходу до початку користувацької СК передбачено move_to_coordinate_origin(coordinate_id, linear=\u0026hellip;, hold_seconds=\u0026hellip;).\nМоніторинг IO, DI і аварійних станів Моніторинг DI (DI monitoring) watch_di_changes():\nзапускає GetIOInfo для імен портів; циклічно опитує IOManager/GetIOValue; детектує фронтові події (edge) (зміну 0-\u0026gt;1 або 1-\u0026gt;0) і повертає port/value/label. Типовий набір портів за замовчуванням (default) у коді: 0–15, 32, 33, 40–45.\nМоніторинг попереджень і помилок робота (Robot warning/error monitoring) У CodroidAPI є детектори:\nemergency stop, overspeed, joint protection (колізійна подія), drag-not-allowed, wrong tool/payload. Є два режими:\nmonitor_robot_errors() — тільки стрім детектованих подій; auto_recover_from_errors(auto_clear=True) — спроба автоматичного clear через recovery sequence. RobotSession: рекомендований шар для UI і сервісів RobotSession додає експлуатаційну поведінку (production) поверх CodroidAPI:\nдовгоживучі user/robot підключення; контрольний автомат станів (state machine) acquired/released; acquire_control() / release_control() з перевіркою закриття websocket; API-знімків стану (snapshot API): position_snapshot(); robot_status_snapshot(); coordinate_frame_snapshot(); calibration_frame_snapshot(); robot_warning_snapshot() / robot_error_snapshot(); фонове опитування IO (poll) для flange-кнопки і черга натискань (next_flange_press()). У лабораторних застосунках рекомендовано працювати саме через RobotSession, а не через одноразові ad-hoc підключення.\nРобота з .crp-проєктами через HTTP CodroidAPI містить допоміжні CRUD-методи для robot project:\nread_project(project_id); save_project(project_doc); create_project(label, \u0026hellip;); upsert_point(project_id, point); delete_point(project_id, point_id/label); delete_project(project_id). Ці методи використовуються для автоматизації сценаріїв без ручного редагування в teach pendant/UI.\nПрактичний мінімум для інтеграції в лабораторії Рекомендований порядок при старті нового модуля:\nІніціалізувати CodroidSettings з .env. Встановити RobotSession. acquire_control(). Перевірити наявність свіжих даних знімків стану (snapshot: posture_seen, robot_status_age_seconds). Перед автоматичним циклом перевірити калібрування та інструментальний профіль. Після завершення циклу виконати release_control(power_off=True). Обмеження та зауваження Мапінг OnRobot у codroid-api позначений як попередній (provisional) і може відрізнятись між ревізіями прошивки (firmware). Деякі методи очікують конкретний формат повідомлень контролера; при зміні firmware необхідна повторна валідація. Для одночасного використання listen()/recv() у кількох задачах потрібно чітко планувати, хто споживає потік (щоб не «перехопити» повідомлення іншого споживача, consumer). API протестований під стек, сумісний з Codroid Web UI v1.6.3c (згідно README). ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-11-codroid-api/","summary":"\u003ch2 id=\"призначення-та-межі-відповідальності\"\u003e\u003cstrong\u003eПризначення та межі відповідальності\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003ecodroid-api — це низькорівневий Python-клієнт для контролера Codroid, який поєднує:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eWebSocket-керування\u003c/strong\u003e (команди, стани, IO, події).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eHTTP-операції\u003c/strong\u003e (обмін login-ключами, читання/збереження .crp-проєктів).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eУніфікований API для прикладного ПЗ\u003c/strong\u003e (зокрема codroid-ball-picker).\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eПакет \u003cstrong\u003eне є веб-інтерфейсом (UI)\u003c/strong\u003e і \u003cstrong\u003eне замінює логіку прикладної програми\u003c/strong\u003e: він надає керовані примітиви руху, моніторингу, OnRobot-викликів та доступу до даних проєкту.\u003c/p\u003e\n\u003ch2 id=\"основні-класи-і-як-вони-взаємодіють\"\u003e\u003cstrong\u003eОсновні класи і як вони взаємодіють\u003c/strong\u003e\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eCodroidConfig (codroid_api/client.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eзберігає host/port, токен, дані авторизації, коди команд і шляхи setparam;\u003c/li\u003e\n\u003cli\u003eформує ws_url.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCodroidAPI (codroid_api/client.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eголовний асинхронний клієнт;\u003c/li\u003e\n\u003cli\u003eвстановлює WebSocket, надсилає/читає повідомлення, виконує рухи, IO-опитування, допоміжні HTTP-операції.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eCodroidSettings (codroid_api/settings.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eджерело конфігурації з .env (CODROID_*);\u003c/li\u003e\n\u003cli\u003eзбирає окремі конфігурації для user-каналу і robot-каналу.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eRobotSession (codroid_api/robot_session.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eдовгоживуча сесія з фоновими задачами прослуховування і опитування (listener/poll);\u003c/li\u003e\n\u003cli\u003eзнімає з UI необхідність вручну керувати reconnect, posture/DI/status snapshots, release/acquire control.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"канали-підключення-і-модель-авторизації\"\u003e\u003cstrong\u003eКанали підключення і модель авторизації\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eУ поточній реалізації використовуються \u003cstrong\u003eдва WebSocket-канали\u003c/strong\u003e:\u003c/p\u003e","title":"Пакет codroid-api: довідник використання"},{"content":"Призначення і роль у нашому технологічному стеку onrobot-api забезпечує пряме керування гріпером OnRobot через Compute Box і використовується як апаратно-орієнтований шар для:\n2FG7 (основний сценарій pick-and-place), RG2, VGC10. Для комірки Estun Codroid основний фокус — TWOFG (2FG7).\nТранспортні інтерфейси У коді реалізовані три канали взаємодії:\nXML-RPC (основний) endpoint (кінцева URL-точка): http://\u0026lt;compute-box-ip\u0026gt;:41414/; створюється в Device.getCB() через xmlrpc.client.ServerProxy. Резервний REST-канал (fallback) (точково) використовується в set_finger_orientation() при відсутності XML-RPC методу; endpoint: /api/dc/twofg/set_finger_orientation/{t_index}/{true|false}. Потік статусу Socket.IO (status stream) OnRobotStatusClient підписується на повідомлення message і кешує останні дані (payload); дозволяє читати device.variable без синхронного опитування (polling) XML-RPC. Базові класи Device (onrobot/device.py) зберігає IP Compute Box (Global_cbip); повертає XML-RPC-проксі (getCB()). TWOFG (onrobot/twofg.py) головний драйвер 2FG7; має блокування потоку (thread-lock) для безпечних викликів _call_xmlrpc()/_call_rest(); вміє запускати потік статусу (status stream). OnRobotStatusClient (onrobot/status_client.py) управляє Socket.IO підключенням; надає latest_payload()/get_device_variable(\u0026hellip;). GripperProfile (onrobot/gripper_profiles.py) централізує обмеження force/speed/width і типові налаштування (default tuning). Параметри профілю 2FG7 (фактичні межі з коду) Для профілю twofg7 зафіксовано:\nforce_min=20 N, force_max=140 N, force_default=20 N; speed_min=10 %, speed_max=100 %, speed_default=10 %; open_width_default=25 mm, close_width_default=5 mm; calibration_width=5 mm. Ці обмеження використовуються для перевірок під час виконання (runtime) у TWOFG.grip().\nПідключення і перевірка доступності Базова послідовність:\nстворити Device(\u0026lt;ip\u0026gt;); створити TWOFG(device); викликати isConnected(t_index=0). isConnected() перевіряє cb_is_device_connected(\u0026hellip;, TWOFG_ID=0xC0) і повертає:\nTrue — пристрій знайдено; False — недоступний/непідключений; вищі методи при відсутності підключення повертають CONN_ERR = -2. Керування захватом: grip, move, stop grip(\u0026hellip;) Метод виконує:\nперевірку підключення; читання min/max ширини (get_min_ext_width, get_max_ext_width); валідацію t_width, n_force, p_speed проти профілю; команду twofg_grip_external(t_index, width, force, speed); за f_wait=True: очікує завершення busy-стану (до ~3 с, 30 циклів по 0.1 с), потім очікує grip-detected (до ~2 с, 20 циклів по 0.1 с). Повернення:\nRET_OK = 0 — успіх; RET_FAIL = -1 — тайм-аут (timeout)/невалідні параметри/інша помилка; CONN_ERR = -2 — немає підключення. move(\u0026hellip;) move() також перевіряє ширину та викликає twofg_grip_external, але з фіксованими force=100, speed=80 (як у реалізації). Це важливо для розуміння, що move() у поточному коді не дає тонкого контролю сили/швидкості (force/speed).\nstop(\u0026hellip;) stop() викликає twofg_stop(t_index) і зупиняє поточний рух пальців.\nЗчитування стану 2FG7 TWOFG надає телеметрію:\nisBusy(); isGripped(); getStatus(); get_ext_width(); get_min_ext_width() / get_max_ext_width(); get_force(). Коди статусу (з README):\n0 — stable; -1 — error; -2 — connection failed. Орієнтація пальців (inward/outward) Реалізація підтримує:\nget_finger_orientation_label() -\u0026gt; \u0026ldquo;inward\u0026rdquo; або \u0026ldquo;outward\u0026rdquo;; set_finger_orientation(\u0026hellip;): приймає orientation як рядок/число/булеве значення (boolean), нормалізує значення, спочатку пробує XML-RPC (twofg_set_finger_orientation), при невдачі пробує резервний REST endpoint (fallback). Це робить поведінку стійкішою між різними версіями Compute Box API.\nПотік статусу Socket.IO (status stream): коли і навіщо використовувати Через start_status_stream() можна отримувати асинхронні оновлення змінних пристрою:\nOnRobotStatusClient.connect() відкриває канал до http://\u0026lt;cb_ip\u0026gt;; callback on_update дозволяє реактивно обробляти дані (payload); get_status_snapshot() повертає variable для product_code=0xC0. Цей шлях зручний для UI та моніторингу, де важлива «остання відома» телеметрія без блокуючих XML-RPC-викликів.\nІнтеграція з codroid-api у проєкті комірки Важливо розрізняти два підходи:\nПрямий onrobot-api пряме керування Compute Box (XML-RPC/Socket.IO), повний доступ до телеметрії 2FG7. Через codroid-api (toolAction) команди йдуть через контролер робота (Robot/Control/toolAction), простіше інтегрувати в наявний конвеєр команд робота (robot command pipeline). Практично в лабораторних сценаріях потрібно фіксувати один підхід на конкретну задачу, щоб уникати конфліктів керування інструментом.\nТипові причини збоїв і первинна діагностика Невірний IP Compute Box -\u0026gt; isConnected=False, CONN_ERR. Неприпустима ширина/сила/швидкість -\u0026gt; RET_FAIL з повідомленням про діапазон. Busy/grip timeout -\u0026gt; перевірити механіку гріпера, заїдання, перешкоди, фактичні force/speed. Відсутній XML-RPC-метод орієнтації -\u0026gt; перевірити доступність REST fallback. Відсутні status updates -\u0026gt; перевірити мережу до Compute Box і роботу каналу Socket.IO. Обмеження і рекомендації щодо експлуатації Частина реалізації повертає коди (-2/-1/0) замість винятків; у прикладному коді потрібно явно обробляти ці значення. Методи grip/move із f_wait=True блокують потік до завершення циклу очікування. Поточний move() використовує фіксовані force/speed; для контрольованого процесу захвату рекомендовано grip(). Для складних сценаріїв (подвійні інструменти, специфічні поведінки прошивки firmware) використовуйте офіційну документацію OnRobot і документацію конкретної версії Compute Box API. Обмеження прошивки (firmware) / Compute Box Практичні обмеження інтеграції з Compute Box:\nПоведінка API залежить від ревізії прошивки (firmware): набір доступних методів може відрізнятися, частина команд може змінювати формат відповіді між версіями прошивки. XML-RPC і fallback: окремі можливості (наприклад, orientation/path) можуть бути недоступні як XML-RPC; у таких випадках застосунок використовує fallback-логіку (за підтримки конкретної версії API). Статус-канал: Socket.IO-телеметрія чутлива до мережевої стабільності; відсутність status updates не завжди означає відсутність XML-RPC-з’єднання. Політика для лабораторного стенду: використовувати зафіксовану «підтверджену» базову версію прошивки (firmware baseline); будь-яке оновлення прошивки Compute Box виконувати лише з повним regression/acceptance test. Документування: після зміни прошивки (firmware) обов’язково оновити матрицю сумісності (розділ 14.1) і зафіксувати всі відмінності поведінки у журналі експлуатації. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-12-onrobot-api/","summary":"\u003ch2 id=\"призначення-і-роль-у-нашому-технологічному-стеку\"\u003e\u003cstrong\u003eПризначення і роль у нашому технологічному стеку\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eonrobot-api забезпечує пряме керування гріпером OnRobot через Compute Box і використовується як апаратно-орієнтований шар для:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e2FG7 (основний сценарій pick-and-place),\u003c/li\u003e\n\u003cli\u003eRG2,\u003c/li\u003e\n\u003cli\u003eVGC10.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eДля комірки Estun Codroid основний фокус — \u003cstrong\u003eTWOFG (2FG7)\u003c/strong\u003e.\u003c/p\u003e\n\u003ch2 id=\"транспортні-інтерфейси\"\u003e\u003cstrong\u003eТранспортні інтерфейси\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eУ коді реалізовані три канали взаємодії:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eXML-RPC\u003c/strong\u003e (основний)\n\u003cul\u003e\n\u003cli\u003eendpoint (кінцева URL-точка): http://\u0026lt;compute-box-ip\u0026gt;:41414/;\u003c/li\u003e\n\u003cli\u003eстворюється в Device.getCB() через xmlrpc.client.ServerProxy.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eРезервний REST-канал (fallback)\u003c/strong\u003e (точково)\n\u003cul\u003e\n\u003cli\u003eвикористовується в set_finger_orientation() при відсутності XML-RPC методу;\u003c/li\u003e\n\u003cli\u003eendpoint: /api/dc/twofg/set_finger_orientation/{t_index}/{true|false}.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eПотік статусу Socket.IO (status stream)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eOnRobotStatusClient підписується на повідомлення message і кешує останні дані (payload);\u003c/li\u003e\n\u003cli\u003eдозволяє читати device.variable без синхронного опитування (polling) XML-RPC.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"базові-класи\"\u003e\u003cstrong\u003eБазові класи\u003c/strong\u003e\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eDevice (onrobot/device.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eзберігає IP Compute Box (Global_cbip);\u003c/li\u003e\n\u003cli\u003eповертає XML-RPC-проксі (getCB()).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eTWOFG (onrobot/twofg.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eголовний драйвер 2FG7;\u003c/li\u003e\n\u003cli\u003eмає блокування потоку (thread-lock) для безпечних викликів _call_xmlrpc()/_call_rest();\u003c/li\u003e\n\u003cli\u003eвміє запускати потік статусу (status stream).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eOnRobotStatusClient (onrobot/status_client.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eуправляє Socket.IO підключенням;\u003c/li\u003e\n\u003cli\u003eнадає latest_payload()/get_device_variable(\u0026hellip;).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eGripperProfile (onrobot/gripper_profiles.py)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eцентралізує обмеження force/speed/width і типові налаштування (default tuning).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"параметри-профілю-2fg7-фактичні-межі-з-коду\"\u003e\u003cstrong\u003eПараметри профілю 2FG7 (фактичні межі з коду)\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eДля профілю twofg7 зафіксовано:\u003c/p\u003e","title":"Пакет onrobot-api: довідник використання"},{"content":"Топологія мережі комірки У поточній лабораторній конфігурації Jetson Orin Nano є центральним вузлом інтеграції. Через нього проходить взаємодія між UI, контролером робота та OnRobot Compute Box.\nОператорський ПК -\u0026gt; Jetson (UI): браузерний доступ до codroid-ball-picker по HTTP (:8050). Jetson -\u0026gt; Robot Controller (Codroid): websocket-з’єднання до двох endpoint-ів контролера робота (:9000 та :9098). Jetson -\u0026gt; OnRobot Compute Box: XML-RPC канал керування грипером (:41414) і канал статусу (Socket.IO по HTTP на IP Compute Box). Jetson \u0026lt;-\u0026gt; OAK-D Pro: локальне USB-C підключення (без IP-адресації, рівень USB). Практичне правило маршрутизації для лабораторії:\nОператор не керує роботом напряму через Controller UI під час роботи codroid-ball-picker. Керування роботом і грипером виконується з одного вузла (Jetson), щоб уникати конфлікту команд. Прямий доступ до мережі контролера робота (192.168.101.0/24) потрібен саме Jetson-контейнеру. Рисунок 13.1.1. Wiring diagram комірки (мережа, USB та живлення)\nКарта IP-адрес і портів Нижче наведено мережеву карту, яка відповідає дефолтним налаштуванням у коді (app/settings.py, codroid_api/settings.py, onrobot/device.py).\nТаблиця 13.2.1. Карта вузлів, адрес і портів комірки\nВузол Тип з’єднання Типове значення Призначення Jetson (UI контейнер) HTTP server 0.0.0.0:8050 (доступ як http://\u0026lt;jetson-ip\u0026gt;:8050) Web-інтерфейс codroid-ball-picker Robot Controller (Codroid WS robot) WebSocket ws://192.168.101.100:9000/ Команди/стан робота (robot channel) Robot Controller (Codroid WS user) WebSocket ws://192.168.101.100:9098/ User/session channel OnRobot Compute Box (XML-RPC) HTTP/XML-RPC http://192.168.101.95:41414/ Команди грипера OnRobot Compute Box (status) HTTP + Socket.IO http://192.168.101.95 Потік статусу грипера OAK-D Pro USB-C Без IP (USB) RGB/depth відеопотоки Керовані параметри, які дозволено змінювати через .env/налаштування:\nCODROID_HOST, CODROID_ROBOT_PORT, CODROID_WS_PORT (адреса/порти контролера). ONROBOT_CB_IP (адреса Compute Box). Порт UI (8050) у команді запуску контейнера, якщо це погоджено з викладачем/інтегратором. Параметри, які не слід змінювати без окремого узгодження:\nnetwork_mode: host у docker-compose.yml (впливає на досяжність обладнання з контейнера). Базова адресація лабораторної підмережі (192.168.101.0/24) і фіксовані IP обладнання. Порт 41414 для XML-RPC Compute Box, якщо використовується стандартна OnRobot-схема. Базові перевірки зв’язності Мінімальна діагностика виконується з Jetson (або з контейнера з network_mode: host).\nПеревірка досяжності контролера робота: ping -c 3 192.168.101.100\nnc -vz 192.168.101.100 9000\nnc -vz 192.168.101.100 9098\nПеревірка досяжності OnRobot Compute Box: ping -c 3 192.168.101.95\nnc -vz 192.168.101.95 41414\nПеревірка доступності UI: curl -I http://127.0.0.1:8050\nПеревірка USB-камери OAK-D Pro: lsusb | grep -i luxonis\nРекомендований порядок дій при частковій недоступності:\nСпочатку перевірити фізичний рівень: живлення вузла, кабелі Ethernet/USB, індикатори link/activity. Далі перевірити IP-маршрут: ping до вузла, потім nc до прикладного порту. Якщо ping успішний, а порт закритий: перевірити стан сервісу на цільовому вузлі та локальні firewall/policy. Якщо вузол недосяжний тільки з контейнера: перевірити режим мережі контейнера та актуальність docker-compose.yml. Після відновлення зв’язності виконати повторний запуск застосунку і короткий acceptance check (UI + robot WS + gripper + camera). ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-13-merezheva-skhema/","summary":"\u003ch2 id=\"топологія-мережі-комірки\"\u003e\u003cstrong\u003eТопологія мережі комірки\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eУ поточній лабораторній конфігурації Jetson Orin Nano є центральним вузлом інтеграції. Через нього проходить взаємодія між UI, контролером робота та OnRobot Compute Box.\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eОператорський ПК -\u0026gt; Jetson (UI):\u003c/strong\u003e браузерний доступ до codroid-ball-picker по HTTP (:8050).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJetson -\u0026gt; Robot Controller (Codroid):\u003c/strong\u003e websocket-з’єднання до двох endpoint-ів контролера робота (:9000 та :9098).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJetson -\u0026gt; OnRobot Compute Box:\u003c/strong\u003e XML-RPC канал керування грипером (:41414) і канал статусу (Socket.IO по HTTP на IP Compute Box).\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eJetson \u0026lt;-\u0026gt; OAK-D Pro:\u003c/strong\u003e локальне USB-C підключення (без IP-адресації, рівень USB).\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eПрактичне правило маршрутизації для лабораторії:\u003c/p\u003e","title":"Мережева схема і адресація"},{"content":"Матриця сумісності компонентів Для стабільної лабораторної експлуатації необхідно фіксувати «базову конфігурацію» стенду (software + platform + firmware) і оновлювати її тільки через контрольований процес (див. 14.2).\nТаблиця 14.1.1. Базові software-версії (за поточним станом репозиторіїв)\nКомпонент Поточне значення Джерело codroid-ball-picker 0.1.0 codroid-ball-picker/pyproject.toml codroid-api 0.1.0 codroid-api/pyproject.toml onrobot-api 0.1.0 onrobot-api/pyproject.toml Python runtime \u0026gt;=3.11 pyproject.toml усіх трьох проєктів depthai 3.2.1 codroid-ball-picker/pyproject.toml Контейнер UI (base image) ubuntu:22.04 codroid-ball-picker/Dockerfile Таблиця 14.1.2. Platform/runtime сумісність для Jetson\nКомпонент платформи Вимога / робочий діапазон Примітка JetPack 5.x або 6.x за деплой-інструкцією docs/deploy_jetson_docker.md NVIDIA Container Runtime Обов’язково встановлено потрібен для GPU-доступу в контейнері Docker + Compose plugin Обов’язково встановлено запуск/оновлення контейнера через docker compose Мережевий режим контейнера network_mode: host потрібен прямий доступ до підмережі робота/грипера UI endpoint http://\u0026lt;jetson-ip\u0026gt;:8050 контейнер запускається з --host 0.0.0.0 --port 8050 Таблиця 14.1.3. Інтеграційні адреси й протоколи (baseline)\nВузол Значення за замовчуванням Протокол Robot controller host 192.168.101.100 WS Robot WS port 9000 ws://\u0026hellip;:9000/ User WS port 9098 ws://\u0026hellip;:9098/ OnRobot Compute Box IP 192.168.101.95 XML-RPC / Socket.IO OnRobot XML-RPC port 41414 http://\u0026hellip;:41414/ OAK-D Pro USB-C (без IP) USB (DepthAI) Таблиця 14.1.4. Firmware baseline (заповнюється на конкретному стенді)\nКомпонент Фактична версія на стенді Дата перевірки Відповідальний Estun Robot Controller firmware (заповнюється) (заповнюється) (заповнюється) OnRobot Compute Box firmware (заповнюється) (заповнюється) (заповнюється) Принцип сумісності:\nДостатньою вважається конфігурація, що пройшла acceptance tests після оновлення (див. 10.12 та 14.2). Зміна будь-якого шару (контейнер, JetPack, firmware) без повторної перевірки сумісності не допускається. Для аудиту стенду потрібно зберігати журнал: дата зміни, що оновлено, хто виконав, результат acceptance tests. Політика оновлення та відкату Оновлення стенду виконується тільки в контрольованому вікні обслуговування, коли робот не перебуває в активному виробничому циклі.\nПорядок штатного оновлення:\nЗафіксувати поточний стан: зберегти ID поточного контейнерного образу codroid-ui і створити резервну копію каталогу data/ (калібрування, workspace, drop target, налаштування). Перевести стенд у сервісний режим: зупинити активні програми в UI та переконатися, що робот у безпечному стані. Оновити контейнер: виконати docker compose pull ui, потім docker compose up -d \u0026ndash;force-recreate ui. Переконатися, що контейнер працює: перевірити docker ps; контейнер codroid-ui має бути у стані running. Виконати післяоновлювальні acceptance tests (див. нижче). Політика автооновлення:\nЯкщо використовується systemd-таймер codroid-ball-picker-auto-update.timer, це має бути зафіксовано в журналі стенду. Після автоматичного оновлення також обов’язковий повний acceptance check перед роботою зі студентами. Якщо потрібен ручний контроль версій, автооновлення вимикають на період навчального циклу. Порядок rollback (відкат):\nУмова для відкату: критична регресія (камера, робот, грипер, safety-логіка або UI), яку не усунуто оперативно. Відкотити контейнер до попереднього стабільного тегу/образу й перезапустити ui. За потреби відновити data/ з резервної копії (якщо змінились формати артефактів або дані пошкоджено). Повторно виконати acceptance tests і зафіксувати результат у журналі змін. Мінімальний післяоновлювальний acceptance tests:\nUI доступний за http://\u0026lt;jetson-ip\u0026gt;:8050, сторінка завантажується без критичних помилок. OAK-D визначається, є стабільний RGB потік; depth-перевірка проходить у доступному режимі. Тест robot connection успішний; Acquire/Release robot control працює коректно. Тест gripper (OnRobot) успішний; Compute Box досяжний. Завантажуються збережені артефакти data/calibration_bundle.npz, data/workspace_definition.npz, data/robot_calibration.json. Виконано безпечний dry-run і мінімум один контрольний цикл pick -\u0026gt; drop без аварійних зупинок. ","permalink":"https://knuba-manual.profirobotics.com/guides/estun/chapter-14-versii-sumisnist/","summary":"\u003ch2 id=\"матриця-сумісності-компонентів\"\u003e\u003cstrong\u003eМатриця сумісності компонентів\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eДля стабільної лабораторної експлуатації необхідно фіксувати «базову конфігурацію» стенду (software + platform + firmware) і оновлювати її тільки через контрольований процес (див. 14.2).\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eТаблиця 14.1.1. Базові software-версії (за поточним станом репозиторіїв)\u003c/em\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth style=\"text-align: left\"\u003eКомпонент\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eПоточне значення\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eДжерело\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e0.1.0\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker/pyproject.toml\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-api\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e0.1.0\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-api/pyproject.toml\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eonrobot-api\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e0.1.0\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eonrobot-api/pyproject.toml\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003ePython runtime\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e\u0026gt;=3.11\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003epyproject.toml усіх трьох проєктів\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003edepthai\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e3.2.1\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker/pyproject.toml\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eКонтейнер UI (base image)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eubuntu:22.04\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker/Dockerfile\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cem\u003eТаблиця 14.1.2. Platform/runtime сумісність для Jetson\u003c/em\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth style=\"text-align: left\"\u003eКомпонент платформи\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eВимога / робочий діапазон\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eПримітка\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eJetPack\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003e5.x або 6.x\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eза деплой-інструкцією docs/deploy_jetson_docker.md\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eNVIDIA Container Runtime\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eОбов’язково встановлено\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eпотрібен для GPU-доступу в контейнері\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eDocker + Compose plugin\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eОбов’язково встановлено\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eзапуск/оновлення контейнера через docker compose\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eМережевий режим контейнера\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003enetwork_mode: host\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eпотрібен прямий доступ до підмережі робота/грипера\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eUI endpoint\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ehttp://\u0026lt;jetson-ip\u0026gt;:8050\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eконтейнер запускається з --host 0.0.0.0 --port 8050\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cem\u003eТаблиця 14.1.3. Інтеграційні адреси й протоколи (baseline)\u003c/em\u003e\u003c/p\u003e","title":"Версії та сумісність"},{"content":"Практичні матеріали для занять з KUKA ready2educate:\nНавчальні workbook-файли KUKA доступні за запитом у співробітників Robolab.\nРекомендовано починати з Level 1 і переходити до наступних рівнів після виконання базових вправ.\n","permalink":"https://knuba-manual.profirobotics.com/lessons/kuka-ready2educate-cell-lessons/","summary":"\u003cp\u003eПрактичні матеріали для занять з KUKA ready2educate:\u003c/p\u003e\n\u003cp\u003eНавчальні workbook-файли KUKA доступні за запитом у співробітників Robolab.\u003c/p\u003e\n\u003cp\u003eРекомендовано починати з Level 1 і переходити до наступних рівнів після виконання базових вправ.\u003c/p\u003e","title":"Практичні уроки з KUKA ready2educate cell"},{"content":"Мета Цей розділ описує повний практичний сценарій роботи з ПЗ Estun Codroid Pick-and-Place на основі фактичної реалізації в репозиторіях:\ncodroid-ball-picker — веб-інтерфейс (Dash), оркестрація калібрування, детекції, pick-and-place, моніторинг. codroid-api — низькорівневий websocket/HTTP клієнт для керування роботом Codroid. onrobot-api — API керування гріпером OnRobot 2FG7 через Compute Box. Документація нижче орієнтована на роботу в лабораторній комірці з Jetson Orin Nano, OAK-D Pro та OnRobot 2FG7.\nСклад ПЗ і відповідальність компонентів Веб-інтерфейс (UI) та прикладна логіка (codroid-ball-picker) вкладки Applications / Monitoring / Calibration; панель Setup (drawer) для підключень і конфігурації; програми Verification, Manual Pick, Auto Pick \u0026amp; Place, Plate Pick \u0026amp; Place Test; збереження артефактів у data/. Робот (codroid-api) підключення до контролера Codroid; переміщення в координатах, jog, службові команди; моніторинг стану/поз. Гріпер (onrobot-api) підключення до OnRobot Compute Box (XML-RPC, порт 41414); команди move/grip/halt, читання стану (ширина, force, busy, gripped). Запуск, зупинка і оновлення контейнера (Jetson) Старт контейнера У каталозі codroid-ball-picker:\ndocker compose pull\ndocker compose up -d\nПісля запуску інтерфейс доступний за адресою:\nhttp://\u0026lt;IP_JETSON\u0026gt;:8050\nПеревірка стану:\ndocker compose ps\ndocker compose logs -f ui\nЗупинка контейнера Зупинити тільки UI:\ndocker compose stop ui\nЗупинити весь стек:\ndocker compose down\nОновлення контейнера Рекомендований ручний цикл оновлення:\ndocker compose pull ui\ndocker compose up -d \u0026ndash;force-recreate ui\nПісля оновлення перевірте:\ndocker compose ps\ndocker compose logs --tail=200 ui\nАвтоматичне оновлення (systemd timer) у цьому проєкті:\n./scripts/setup_jetson_auto_update.sh\n./scripts/jetson_auto_update_check.sh\nПерший запуск інтерфейсу: що ви побачите Після відкриття http://\u0026lt;IP_JETSON\u0026gt;:8050 інтерфейс стартує з вкладки Applications. У верхньому рядку відображаються статуси Camera / Robot / Gripper, а внизу — аварійні та програмні кнопки керування.\nРисунок 10.4.1. Головний екран Applications (реальний запуск UI)\nПанель Setup: підключення та базова конфігурація Кнопка Setup відкриває панель налаштувань (drawer) із ключовими групами:\nCamera connection (підключення камери): Scan for camera, Enable live camera stream, параметри width/height/FPS, autofocus lock. Robot connection (підключення робота): WebSocket URI, Test robot connection, Acquire robot control, Release robot control. OnRobot 2FG7: IP Compute Box, Enable gripper connection, Test gripper, орієнтація пальців. Calibration \u0026amp; settings (калібрування і налаштування): marker IDs/size, шляхи до calibration/workspace/robot calibration, автопараметри pick-and-place, camera safety mode. Рисунок 10.5.1. Setup drawer: камера, робот, гріпер і збережені налаштування\nКалібрування (Calibration): обов’язковий порядок перед автоматикою Вкладка Calibration є критичною для точного pick-and-place. Вона налаштовує геометричний ланцюг:\nкамера -\u0026gt; площина робочої сцени -\u0026gt; система координат робота.\nПризначення двох 3D-друкованих калібрувальних плит У лабораторії використовуються дві різні плити, і вони вирішують різні задачі:\nПлита камерного калібрування (ChArUco board)\nЇї призначення: отримати стабільні параметри камери (intrinsics) і базову прив’язку зображення до сцени.\nБез цього кроку координати об’єктів у кадрі мають систематичну похибку. Плита калібрування робота (robot calibration plate)\nЇї призначення: зв’язати координати, які бачить камера, з координатами, у яких рухається робот.\nСаме цей крок дає коректне перетворення для підходу захватом до реальної точки в просторі. Практично: перша плита калібрує «як камера бачить», друга калібрує «куди має рухатись робот».\nДетальний порядок калібрування камери (Camera calibration, ChArUco) Встановіть камерну ChArUco-плиту у поле зору OAK-D Pro. На вкладці Calibration перевірте індикатор Markers detected (плата має впевнено детектуватись). Натисніть Calibrate (або Use saved calibration, якщо валідна калібровка вже є). Після завершення перевірте, що створено data/calibration_bundle.npz. Примітка: у поточній реалізації під час камерного калібрування використовується ізольований процес захоплення; після нього живий потік (live stream) може залишитись на паузі, і його потрібно увімкнути через Setup -\u0026gt; Enable live camera stream.\nДетальний порядок калібрування робота (Robot calibration, robot plate) Замініть ChArUco-плиту на robot calibration plate і зафіксуйте її у робочій зоні. Переконайтесь, що крайові ArUco-маркери плити стабільно видно в кадрі. Натисніть Begin calibrating robot і пройдіть модальний сценарій навчання точок. У процесі робот послідовно прив’язується до контрольних точок плити (паза 1-3). Після завершення виконайте Run verification move для валідації геометрії. Переконайтесь, що збережено data/robot_calibration.json. Що перевірити після завершення обох кроків calibration_bundle.npz існує і завантажується без помилок. robot_calibration.json існує і verification move виконується коректно. На камері накладення (overlay) не мають помітного зсуву відносно реальної плити. Після калібрування не змінюйте положення камери або плити без повторної процедури. Після успішного проходження система зберігає артефакти в data/ (типово: calibration_bundle.npz, workspace_definition.npz, robot_calibration.json).\nРисунок 10.6.1. Вкладка Calibration із кроками калібрування\nВкладка Applications: детальний посібник із функціоналу pick-and-place Структура вкладки Pick \u0026amp; Place Секція містить:\nTracking Controls (Move target / Segmented tracking, параметри segment min/max/fraction). Розкривні блоки (accordion): Detect (YOLO-модель, confidence/IOU/max detections/filter); Drop Location (teach/return drop pose); Auto pick \u0026amp; place (target class, drop ignore radius); Plate Pick \u0026amp; Place Test (контрольований тест по plate-цілях 1 -\u0026gt; 2 -\u0026gt; 3). Pick \u0026amp; Drop Controls: Pick closest object; Drop; Pick \u0026amp; Drop closest; Reset if stuck. Рисунок 10.7.1. Вкладка Applications: розкриті блоки Detect і Auto pick \u0026amp; place\nРекомендований сценарій ручного запуску pick-and-place У Setup підтвердити, що camera/robot/gripper у стані online. У Calibration переконатися, що калібрування камери й робота валідні. У Applications → Drop Location виконати Teach drop position. У Applications → Detect перевірити активну модель і параметри детекції. Виконати Pick closest object або Pick \u0026amp; Drop closest для перевірки одиночного циклу. Лише після успішного одиночного циклу переходити до Start Auto у футері. Автоматичний режим (Auto pick \u0026amp; place): футер і перевірка передумов Кнопки Start Auto / Stop Auto у футері активуються тільки коли виконані передумови (камера, калібрування, workspace, robot online, model, gripper, drop target). Це реалізовано через внутрішній callback prerequisites-state.\nВкладка Monitoring: інтерпретація стану системи Вкладка Monitoring надає:\nSystem Summary — загальний стан вузлів. Detection Summary — зведення по детекції. Pick \u0026amp; Drop Summary — метрики циклів pick/drop. Auto Plan Summary — короткий стан планувальника автоматичного режиму. Detection Trend / Cycle Time Trend — графіки трендів. Рисунок 10.8.1. Вкладка Monitoring: summary-картки та трендові графіки\nКерування безпекою та станом виконання програми У футері реалізовано окремі групи керування:\nSTOP / Robot power — аварійна й силова логіка. Program control — Pause / Stop / Reset активної програми. Rescue mode / speed sliders — службові режими для відновлення контролю. Gripper fine controls — ширина, сила (force), швидкість (speed) у межах профілю гріпера. Під час активних програм інтерфейс підсвічує стан виконання; при критичних станах (emergency stop, overspeed, joint protection, wrong tool, drag-not-allowed) відпрацьовують відповідні модальні сценарії обробки помилок.\nТипові проблеми та швидка діагностика Веб-інтерфейс (UI) не відкривається docker compose ps; docker compose logs -f ui; перевірити доступність :8050 на Jetson. Camera offline / нестабільна камера перевірити Setup → Scan for camera; перевірити USB кабель/порт, живлення; перевірити lsusb у контейнері/на хості. Robot not connected / control released Test robot connection; за потреби Acquire robot control; перевірити мережевий маршрут до контролера. Gripper not connected перевірити IP Compute Box; Test gripper; переконатися, що порт 41414 досяжний. Auto не стартує перевірити всі індикатори передумов (prereq badges) у футері (camera/calib/workspace/robot/model/gripper/drop). Примітка до скріншотів цього розділу Скріншоти 10.4.1–10.8.1 зняті з реального запуску веб-інтерфейсу (UI) на локальному стенді. Стан Camera: off, Robot: idle, Gripper: off у кадрах є очікуваним для середовища без підключеної апаратури під час документаційного запуску.\nПриймальні випробування (acceptance tests) після оновлення Після кожного оновлення обов’язково виконати:\nІнфраструктурна перевірка (smoke test): UI відкривається на Jetson; камера, робот і gripper проходять тест підключення. Функціональна перевірка (smoke test): індикатори передумов (prereq badges) для Auto у валідному стані; завантаження збережених калібрувань/workspace без помилок. Контрольний робочий цикл: один ручний або програмний pick -\u0026gt; drop; перевірка коректності позиціонування та release. Перевірка безпеки (safety check): відпрацьовує логіка pause/stop/reset; відсутні латентні emergency/overspeed-стани після тесту. Матриця усунення несправностей Таблиця 10.13.1. Мінімальна матриця усунення несправностей\nСимптом Ймовірна причина Перевірка Дія Ескалація camera offline USB/живлення OAK-D, завислий відеопотік (stream) lsusb, стан stream у UI перепідключити/перезапустити stream або контейнер інженер з комп\u0026rsquo;ютерного зору/Jetson robot control released сесія керування (control session) не захоплена стан Acquire/Release у Setup виконати Acquire robot control і повторити тест інженер robot API gripper timeout Compute Box недосяжний, механічна перешкода ping/nc до Compute Box, Test gripper перевірити мережу/механіку, повторити команду інженер onrobot-api/механіки auto start blocked не виконані передумови (prerequisites) badges у футері / стан артефактів закрити відсутні передумови (calib/workspace/drop/model) викладач/інтегратор overspeed/emergency аварійний стан контролера modal state + controller status pause/reset, clear-процедура, повторна безпечна перевірка інженер з безпеки/робота Пріоритет дій завжди:\nБезпечна зупинка. Локалізація причини. Контрольоване відновлення. Документування інциденту. Формат звіту про помилку Структура звіту про помилку (обов’язкові поля):\nІдентифікація: дата/час інциденту, стенд/локація, відповідальний оператор. Версії: версія образу codroid-ui, версії пакетів (за потреби), прошивка (firmware) Controller/Compute Box (якщо відомо). Кроки відтворення: точна послідовність дій, очікуваний результат, фактичний результат. Докази: витяг логів, скріншоти UI/Monitoring, релевантні файли з data/. Наслідки і пріоритет: блокуюча/критична/некритична; чи можливий тимчасовий обхід. ","permalink":"https://knuba-manual.profirobotics.com/lessons/profi-robotics-estun-pick-and-place/","summary":"\u003ch2 id=\"мета\"\u003e\u003cstrong\u003eМета\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003eЦей розділ описує \u003cstrong\u003eповний практичний сценарій роботи\u003c/strong\u003e з ПЗ Estun Codroid Pick-and-Place на основі фактичної реалізації в репозиторіях:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ecodroid-ball-picker — веб-інтерфейс (Dash), оркестрація калібрування, детекції, pick-and-place, моніторинг.\u003c/li\u003e\n\u003cli\u003ecodroid-api — низькорівневий websocket/HTTP клієнт для керування роботом Codroid.\u003c/li\u003e\n\u003cli\u003eonrobot-api — API керування гріпером OnRobot 2FG7 через Compute Box.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eДокументація нижче орієнтована на роботу в лабораторній комірці з Jetson Orin Nano, OAK-D Pro та OnRobot 2FG7.\u003c/p\u003e\n\u003ch2 id=\"склад-пз-і-відповідальність-компонентів\"\u003e\u003cstrong\u003eСклад ПЗ і відповідальність компонентів\u003c/strong\u003e\u003c/h2\u003e\n\u003col\u003e\n\u003cli\u003e\u003cstrong\u003eВеб-інтерфейс (UI) та прикладна логіка (codroid-ball-picker)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eвкладки Applications / Monitoring / Calibration;\u003c/li\u003e\n\u003cli\u003eпанель Setup (drawer) для підключень і конфігурації;\u003c/li\u003e\n\u003cli\u003eпрограми Verification, Manual Pick, Auto Pick \u0026amp; Place, Plate Pick \u0026amp; Place Test;\u003c/li\u003e\n\u003cli\u003eзбереження артефактів у data/.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eРобот (codroid-api)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eпідключення до контролера Codroid;\u003c/li\u003e\n\u003cli\u003eпереміщення в координатах, jog, службові команди;\u003c/li\u003e\n\u003cli\u003eмоніторинг стану/поз.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eГріпер (onrobot-api)\u003c/strong\u003e\n\u003cul\u003e\n\u003cli\u003eпідключення до OnRobot Compute Box (XML-RPC, порт 41414);\u003c/li\u003e\n\u003cli\u003eкоманди move/grip/halt, читання стану (ширина, force, busy, gripped).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"запуск-зупинка-і-оновлення-контейнера-jetson\"\u003e\u003cstrong\u003eЗапуск, зупинка і оновлення контейнера (Jetson)\u003c/strong\u003e\u003c/h2\u003e\n\u003ch3 id=\"старт-контейнера\"\u003e\u003cstrong\u003eСтарт контейнера\u003c/strong\u003e\u003c/h3\u003e\n\u003cp\u003eУ каталозі codroid-ball-picker:\u003c/p\u003e","title":"Profi Robotics Estun Pick-and-Place"},{"content":"Карта компонентів та потоків даних Таблиця. End-to-end потоки даних і керування\nПотік Джерело -\u0026gt; Приймач Транспорт Призначення F1 (операторський) Browser -\u0026gt; Dash UI (run_codroid_picker.py) HTTP Команди оператора, керування сценаріями, моніторинг F2 (камера) OAK-D Pro -\u0026gt; codroid-ball-picker USB / DepthAI RGB/depth кадри для візуалізації, детекції, калібрування F3 (робот-команди) codroid-ball-picker -\u0026gt; Robot Controller WebSocket (codroid-api) Motion-команди, power/mode, coordinate control F4 (стан робота) Robot Controller -\u0026gt; codroid-ball-picker WebSocket events Телеметрія, пози, warning/alarm, E-stop/overspeed стани F5 (грипер-команди) codroid-ball-picker -\u0026gt; Compute Box XML-RPC (onrobot-api) Grip/release, force/speed/width керування F6 (грипер-стан) Compute Box -\u0026gt; codroid-ball-picker Socket.IO (HTTP) Поточний стан 2FG7 (width/force/grip detect тощо) F7 (персистентність) codroid-ball-picker \u0026lt;-\u0026gt; data/* Файлова система Калібрування, workspace, drop target, app settings Ключові точки синхронізації між vision, motion і gripper:\nПеред запуском auto/manual pick\u0026amp;place перевіряються prerequisites (camera/workspace/robot/drop target). Перед рухами в coord5 виконується активація відповідної coordinate system. У «утримуваних» командах руху використовується heartbeat для підтримки руху. Події безпеки (emergency/overspeed) синхронно переводять програму в pause/reset-стан. Після встановлення drop target одночасно зберігаються workspace- та robot-координати для подальших циклів. Результати калібрування переходять у runtime-стан тільки після успішного verification-кроку. Межі відповідальності компонентів Таблиця. Межі відповідальності\nКомпонент Відповідальність Не входить у відповідальність codroid-ball-picker (UI + orchestration) Сценарії калібрування/підготовки, orchestration pick\u0026amp;place, візуалізація, збереження артефактів Низькорівнева реалізація протоколів контролера та Compute Box codroid-api WebSocket-взаємодія з контролером, command mapping, coordinate/power/mode operations Камера, детекція, логіка gripper-профілів onrobot-api Керування gripper через XML-RPC, статус через Socket.IO, профілі gripper Керування рухами робота Robot Controller firmware Реальне виконання рухів, стан осей, системні warning/alarm Бізнес-логіка UI і vision-алгоритми Compute Box firmware Виконання команд gripper, телеметрія інструмента Motion planning робота Оператор/викладач Підтвердження безпечного запуску, контроль робочої зони, рішення про start/stop/update/rollback Зміна низькорівневого протоколу контролера без інженерної валідації Рішення, які приймаються тільки оператором/викладачем:\nДозвіл на запуск автоматичного циклу після фізичного огляду стенду. Рішення про оновлення/відкат версії під час навчального процесу. Підтвердження безпечного відновлення після аварійних станів. Внесення змін у мережеву топологію, IP-план і базові safety-параметри. ","permalink":"https://knuba-manual.profirobotics.com/appendices/appendix-a-arkhitektura-komirky/","summary":"\u003ch2 id=\"карта-компонентів-та-потоків-даних\"\u003e\u003cstrong\u003eКарта компонентів та потоків даних\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eТаблиця. End-to-end потоки даних і керування\u003c/em\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth style=\"text-align: left\"\u003eПотік\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eДжерело -\u0026gt; Приймач\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eТранспорт\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eПризначення\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF1 (операторський)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eBrowser -\u0026gt; Dash UI (run_codroid_picker.py)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eHTTP\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eКоманди оператора, керування сценаріями, моніторинг\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF2 (камера)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eOAK-D Pro -\u0026gt; codroid-ball-picker\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eUSB / DepthAI\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eRGB/depth кадри для візуалізації, детекції, калібрування\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF3 (робот-команди)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker -\u0026gt; Robot Controller\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eWebSocket (codroid-api)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eMotion-команди, power/mode, coordinate control\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF4 (стан робота)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eRobot Controller -\u0026gt; codroid-ball-picker\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eWebSocket events\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eТелеметрія, пози, warning/alarm, E-stop/overspeed стани\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF5 (грипер-команди)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker -\u0026gt; Compute Box\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eXML-RPC (onrobot-api)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eGrip/release, force/speed/width керування\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF6 (грипер-стан)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eCompute Box -\u0026gt; codroid-ball-picker\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eSocket.IO (HTTP)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eПоточний стан 2FG7 (width/force/grip detect тощо)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eF7 (персистентність)\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003ecodroid-ball-picker \u0026lt;-\u0026gt; data/*\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eФайлова система\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eКалібрування, workspace, drop target, app settings\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003eКлючові точки синхронізації між vision, motion і gripper:\u003c/p\u003e","title":"Архітектура комірки"},{"content":"Глосарій термінів Таблиця. Базові терміни\nТермін Пояснення APOS / DAPOS Цільові joint-позиції робота (кутові координати осей) CPOS / DCPOS Цільові cartesian-позиції TCP (x, y, z, a, b, c) CoordinateId Активна користувацька система координат контролера (у цьому проєкті типовий робочий слот: 5) tool frame Система координат, прив’язана до TCP/інструмента workspace Робоча область у площині камери, розрахована за маркерами prerequisites Набір обов’язкових передумов перед запуском програми (калібрування, workspace, drop target тощо) heartbeat Періодичний службовий сигнал, що підтримує «утримувані» команди руху Таблиця. Типові status/alarm стани та інтерпретація\nСтан / повідомлення Значення Дія оператора emergency_stop Контролер повідомив аварійну зупинку Усунути причину, виконати стандартний recovery/ack flow overspeed Зафіксовано перевищення швидкості або related alarm Пауза програми, підтвердження/скидання, повторний запуск тільки після перевірки Robot connection failed Немає стабільного WS-з’єднання з контролером Перевірити мережу, порти 9000/9098, потім повторити connect/acquire Gripper test failed Compute Box недосяжний або грипер не готовий Перевірити IP/порт 41414, живлення/кабелі Compute Box Camera stream unavailable OAK-D недоступна або нестабільний USB Перевірити USB, живлення, перезапустити stream/контейнер ","permalink":"https://knuba-manual.profirobotics.com/appendices/appendix-b-hlosarii-vpravy/","summary":"\u003ch2 id=\"глосарій-термінів\"\u003e\u003cstrong\u003eГлосарій термінів\u003c/strong\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eТаблиця. Базові терміни\u003c/em\u003e\u003c/p\u003e\n\u003ctable\u003e\n  \u003cthead\u003e\n      \u003ctr\u003e\n          \u003cth style=\"text-align: left\"\u003eТермін\u003c/th\u003e\n          \u003cth style=\"text-align: left\"\u003eПояснення\u003c/th\u003e\n      \u003c/tr\u003e\n  \u003c/thead\u003e\n  \u003ctbody\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eAPOS / DAPOS\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eЦільові joint-позиції робота (кутові координати осей)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eCPOS / DCPOS\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eЦільові cartesian-позиції TCP (x, y, z, a, b, c)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eCoordinateId\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eАктивна користувацька система координат контролера (у цьому проєкті типовий робочий слот: 5)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003etool frame\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eСистема координат, прив’язана до TCP/інструмента\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eworkspace\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eРобоча область у площині камери, розрахована за маркерами\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eprerequisites\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eНабір обов’язкових передумов перед запуском програми (калібрування, workspace, drop target тощо)\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n          \u003ctd style=\"text-align: left\"\u003eheartbeat\u003c/td\u003e\n          \u003ctd style=\"text-align: left\"\u003eПеріодичний службовий сигнал, що підтримує «утримувані» команди руху\u003c/td\u003e\n      \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\u003cp\u003e\u003cem\u003eТаблиця. Типові status/alarm стани та інтерпретація\u003c/em\u003e\u003c/p\u003e","title":"Глосарій"}]