Програмування роботів. Розробка робототехніки


Опубликованно 12.12.2017 20:16

Програмування роботів. Розробка робототехніки

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

Ще в міфах Стародавньої Греції згадувалися механічні раби, створені Гефестом для виконання важких і одноманітних робіт. А першим винахідником і розробником людиноподібного робота став легендарний Леонардо да Вінчі. До наших днів збереглися докладні креслення італійського генія, що описують механічного лицаря, здатного імітувати людські рухи руками, ногами, головою.

Створення перших автоматичних механізмів з програмним управлінням поклали початок в кінці XV??? століття європейські годинникові майстри. Найбільш досягли успіху на цьому терені швейцарські фахівці батько і син П'єр-Жак і Анрі Дро. Ними створена ціла серія людиноподібних роботів ("той хлопчик", "художник", "музыкантша") в основі управління якими лежали годинникові механізми. Саме на честь Анрі Дро надалі все програмовані людиноподібні автомати стали називати "андроїдом".Біля витоків програмування

Основи програмування промислових роботів були закладені на зорі XIX століття у Франції. Тут же і були розроблені перші програми для автоматичних текстильних верстатів (прядильних і ткацьких). Стрімко зростаюча армія Наполеона гостро потребувала в обмундируванні і, отже, тканинах. Винахідник з Ліона Жозеф Жаккара запропонував спосіб швидкого перенастроювання ткацького верстата для виробництва різних видів продукції. Нерідко ця процедура вимагала величезної кількості часу, колосальних зусиль і уваги цілого колективу. Суть нововведень зводилася до використання картонних карток з перфорованими отворами. Голки, потрапляючи в просеченные місця, необхідним чином зміщували нитки. Зміна карт швидко проводилася оператором верстата: нова перфокарта - нова програма - новий тип тканини або візерунка. Французька розробка стала прообразом сучасних автоматизованих комплексів, роботів з можливістю програмування.

Ідею, запропоновану Жаккар, з захопленням використовували в своїх автоматичних пристроях багато винахідники:Начальник статистичного управління С. Н. Корсаков (Росія, 1832 р.) - в механізмі для порівняння та аналізу ідей.Математик Чарльз Беббідж (Англія, 1834 р.) - в аналітичній машині для вирішення широкого кола математичних задач.Інженер Герман Холлеріт (США, 1890 р.) - в пристрої для зберігання та обробки статистичних даних (табуляторе). Для замітки: в 1911 році компанія. Холлеріта отримала назву IBM (International Business Machines).

Перфокарти були основними носіями інформації аж до 60-х років минулого століття.

Що таке робот?

Своєю назвою інтелектуальні машини зобов'язані чеському драматургу Карелу Чапеку. У п'єсі "R. U. R.", що побачила світ у 1920 році, письменник назвав роботом штучного людини, створеного для важких і небезпечних ділянок виробництва (robota (чеськ.) - каторга). А що відрізняє робота від механізмів та автоматичних пристроїв? На відміну від останніх, робот не тільки виконує певні дії, сліпо слідуючи закладеному алгоритму, але і здатний більш тісно взаємодіяти з навколишнім середовищем і людиною (оператором), адаптувати свої функції при зміні зовнішніх сигналів і умов.

Прийнято вважати, що перший діючий робот був розроблений і реалізований у 1928 році американським інженером Р. Уэнсли. Людиноподібний "залізний інтелектуал" отримав ім'я Герберт Телевокс. На лаври піонерів претендують також вчений-біолог Макото Нісімура (Японія, 1929 р.) і англійська військовослужбовець Вільям Річардс (1928 р.). Створені винахідниками антропоморфні механізми мали схожий функціонал: чи здатні були рухати кінцівками і головою, виконувати голосові та звукові команди, відповідати на прості запитання. Основним призначенням пристроїв була демонстрація науково-технічних досягнень. Черговий виток у розвитку технологій дозволив незабаром створити і перших індустріальних роботів.Покоління за поколінням

Розробка робототехніки являє собою безперервний, поступальний процес. До теперішнього часу сформувалися три яскраво виражених покоління "розумних" машин. Кожне характеризується певними показниками і сферами застосування.

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

Машини другого покоління називають очувствленными, або адаптивними. Програмування роботів здійснюється з урахуванням великого набору зовнішніх і внутрішніх сенсорів. На основі аналізу інформації, що надходить з датчиків, виробляються необхідні керуючі впливи.

І нарешті, третє покоління - інтелектуальні роботи, які здатні:Узагальнювати та аналізувати інформацію,Вдосконалюватися і самонавчатися, накопичувати знання та навички,Розпізнавати образи та зміни ситуації, і відповідно до цього вибудовувати роботу своєї виконавчої системи.

В основі штучного інтелекту лежить алгоритмічне та програмне забезпечення.

Загальна класифікація

На будь-представницької сучасної виставці роботів різноманіття "розумних" машин здатна вразити не тільки простих обивателів, але і фахівців. А які бувають роботи? Найбільш загальну і змістовну класифікацію запропонував радянський учений А. Е. Кобринський.

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

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

Основи програмування роботів

Щоб кремній мікропроцесора зміг взяти на себе функції мозку робота, необхідно "залити" в кристал відповідну програму. Звичайний людський язик не здатний забезпечити чітку формалізацію завдань, точність і надійність їх логічної оцінки. Тому необхідна інформація представляється в певному вигляді з допомогою мов програмування роботів.

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

Робототехніки прагнуть звести програмування роботів до спілкування з ними мовами вищого рівня. В ідеалі оператор ставить завдання: "Зробити збірку двигуна внутрішнього згоряння автомобіля" і очікує від робота повного виконання завдання.

Мовні нюанси

У сучасної робототехніки програмування роботів розвивається по двох векторах: роботоориентированное і проблемно орієнтоване програмування.

Найбільш поширені роботоориентированные мови - AML і AL. Перший розроблений фірмою IBM тільки для управління інтелектуальними механізмами власного виробництва. Другий - продукт фахівців Стенфордського університету (США) - активно розвивається і має суттєвий вплив на формування нових мов цього класу. Професіонал легко розгледить в мові характерні риси Паскаля і Algol'у. Всі мови, орієнтовані на роботів, описують алгоритм, як послідовність дій "розумного" механізму. У зв'язку з цим програма часто виходить дуже громіздкою і незручною у практичній реалізації.

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

Навчання роботів

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

Досить перспективною виглядає програма для програмування роботів, представлена розробниками Лабораторії інформаційних технологій при Массачусетському технологічному інституті (CSAIL MIT) на міжнародній конференції промислової автоматизації та робототехніки ICRA-2017 (Сінгапур). Створена ними платформа C-LEARN володіє перевагами обох методів. Вона надає роботу бібліотеки елементарних рухів з заданими обмеженнями (наприклад, зусилля хвата для маніпулятора відповідно з формою і жорсткістю деталі). У той же час, оператор демонструє роботу ключові руху в тривимірному інтерфейсі. Система, виходячи з поставленої задачі, формує послідовність операцій для виконання робочого циклу. C-LEARN дозволяє переписати існуючу програму для робота іншої конструкції. Оператору при цьому не потрібні поглиблені знання в області програмування.

Робототехніка і штучний інтелект

Фахівці Оксфордського університету попереджають, що в найближчі два десятиліття машинні технології замінять більше половини сьогоднішніх робочих місць. Дійсно, роботи давно вже працюють не тільки на небезпечних і важких ділянках. Наприклад, програмування торгових роботів значно потіснило брокерів-людей на світових біржах. Кілька слів про штучний інтелект.

В уявленні пересічного громадянина це антропоморфний робот, здатний замінити людини в багатьох сферах життя. Почасти так і є, але більшою мірою штучний інтелект - це самостійна галузь науки і технології, з допомогою комп'ютерних програм, що моделює мислення "Homo sapiens", роботу його мозку. На сьогоднішньому етапі розвитку ШІ більше допомагає людям, розважає їх. Але, за прогнозами експертів, подальший прогрес в області робототехніки і штучного інтелекту може поставити перед людством цілий ряд морально-етичних та юридичних питань.

В цьому році на виставці роботів в Женеві найдосконаліший андроїд Софія заявила, що вчиться бути людиною. У жовтні Софія вперше в історії штучного інтелекту була визнана громадянкою Саудівської Аравії з повноцінними правами. Перша ластівка?

Основні тенденції робототехніки

У 2017 році фахівці цифрової індустрії відзначили кілька видатних рішень у сфері технологій віртуальної реальності. Не залишилася осторонь і робототехніка. Дуже перспективним виглядає напрямок удосконалює управління складним робомеханизмом через віртуальний шолом (VR). Експерти пророкують затребуваність такої технології в бізнесі та промисловості. Ймовірні сценарії використання:Управління безпілотної технікою (складськими навантажувачами і маніпуляторами, дрона, трейлери),Проведення медичних досліджень і хірургічних операцій,Освоєння важкодоступних об'єктів і областей (дно океану, полярні області). Крім того, програмування роботів дозволяє їм здійснювати автономну роботу.

Ще один популярний тренд - connected car. Зовсім недавно представники гіганта Apple заявили про старт розробок власного "безпілотника". Все більше фірм висловлюють свою зацікавленість у створенні машин, здатних самостійно переміщатися з пересіченим трасах, зберігаючи вантажі та обладнання.

Зростаюча складність алгоритмів програмування роботів і машинного навчання пред'являє підвищені вимоги до обчислювальних ресурсів і, отже, до "заліза". Мабуть, оптимальним виходом у цьому випадку буде підключення пристроїв до хмарної інфраструктури.

Важливий напрямок - когнітивна робототехніка. Стрімке зростання кількості "розумних" машин змушує розробників все частіше замислюватися про те, як навчити роботів злагоджено взаємодіяти.



Категория: Техника