Всі матеріали сюжету:
Google купила Boston Dynamics. Це повідомлення у мене викликало якийсь шок. Boston Dynamics - одна з найвідоміших компаній, що спеціалізуються на робототехніці, і, якщо врахувати, що Google купує вже восьму компанію на цьому ринку, виникає правомірне запитання: що ж вони задумали? Схоже, нас чекає цікаве десятиліття!
Однак не будемо надто довго ламати над цим голову, а краще займемося справою. Розвиток програмного забезпечення зараз дозволяє практично кожному взяти і створити свого робота. Робота не реальну, а його програмну модель, тобто виконати симуляцію робота. З огляду на, що майже всі ПО в моєму огляді поширюється безкоштовно, це дасть тобі величезну економію по грошах і часу.
Фізичний і графічний движок
Кожен симулятор включає фізичний і графічний движок. Від їх можливостей залежить складність моделі робота, яку можна реалізувати в симуляторі.
Графічний движок - програма, основним завданням якої є візуалізація (рендеринг) двомірної або тривимірної комп'ютерної графіки. Графічний движок працює в режимі реального часу.
Фізичний движок дозволяє створити віртуальний простір, в яке можна додати віртуальні статичні і динамічні об'єкти і вказати закони взаємодії тіл і середовища. Розрахунок взаємодії тел виконується самим двигуном. Обчислюючи взаємодія тіл між собою і з середовищем, фізичний движок наближає фізичну модель одержуваної системи до реальної і передає уточнені геометричні дані графічному движку.
Переваги та недоліки симуляторів
- низька вартість;
- можливість в будь-який момент доопрацювати модель;
- можливість окремо тестувати функціональні складові робота;
- можливість одночасної симуляції декількох типів роботів.
- навіть найдосконаліший фізичний движок не може симулювати всі закони реального світу;
- вимогливість до ресурсів машини.
Microsoft Robotics Developer Studio
Microsoft Robotics - це пакет програм, який може використовуватися для управління різними роботами і включає в себе повноцінний симулятор. До складу Robotics входять наступні компоненти:
За симулятор фізики в Robotics відповідає Ageia Physx. Дуже сумно, але в симуляторі відсутнє тертя між створюваними об'єктами, хоча моделюється тертя між окремим об'єктом і платформою, на якій він розміщується.
Створити сцену в симуляторі і запрограмувати робота можна на VPL або C #. Природно, що на C # сцену зробити складніше, але зате і код вийде більш ефективний. Можливості Robotics дозволяють змоделювати футбол роботів, залізницю, маніпулятор, додати на сцену кількох роботів. Доступні з коробки сенсори: GPS, лазерний далекомір, інфрачервоний далекомір, компас, сенсор кольору, сенсор яскравості, веб-камера.
Robotino - робот, створений Festo Didactic для навчання робототехніці. Для програмування робота потрібна програма Robotino® View. На сайті Festo доступний симулятор робота для Windows - Robotino® SIM (є професійна і безкоштовна версія, безкоштовна - трохи урізана по функціональності).
Трохи про робота, який вбудований в симулятор. До його складу входять три двигуни, які дозволяють переміщатися роботу по площині в будь-якому напрямку. Сенсорна система робота включає дев'ять інфрачервоних сенсорів відстані, два цифрових оптичних сенсора і камеру. Програмувати робота можна за допомогою C / C ++, Java. NET.
Взагалі, здатності безкоштовного симулятора пригнічують. Але! Якщо гарненько пошукати в інтернеті, то можна знайти версії даного симулятора, заточені під різні завдання. Щоб ти певно знав, що компанія Festo Didactic виступає одним із спонсорів RoboCup. Тому тут goo.gl/Wtle15 і тут goo.gl/pHA2oL ти зможеш знайти версії цього симулятора, що використовувалися в змаганнях.
Gazebo використовується в якості симулятора в DARPA Robotics Challenge (DRC). В рамках DRC розроблений додаток CloudSim для запуску Gazebo на платформі хмарних обчислень Amazon.
AnyKode Marilou Robotics Studio
AnyKode Marilou Robotics Studio - середовище розробки і симулювання мобільних роботів, гуманоїдів і маніпуляторів з урахуванням фізичних законів реального світу. Для об'єктів можна вказати наступні фізичні параметри: масу, пружність, властивості матеріалу, обертаючі моменти, а також деякі інші.
Marilou дозволяє підключати до робота різні віртуальні пристрої: компас, акселерометри, двигуни і сервомотори, бампер, сенсори відстані (ультразвукової і інфрачервоний), GPS і інші пристрої.
У Marilou є MODA (Marilou Open Devices Access) - SDK для роботи з роботами і їх компонентами в симуляторі. Після синхронізації з годинником симулятора алгоритми управління роботом можуть запускатися на іншому комп'ютері мережі. Залежно від вибраної мови MODA надає бібліотеки (.lib або .a) або .NET-збірки (.dll) для доступу до симулятора по мережі. Програмування алгоритмів управління роботів можливо за допомогою мов C / C ++, C ++ CLI, C #, J #, VB #.
Для комерційного використання симулятор платний, для освітніх цілей - безкоштовний (запитувати ліцензію потрібно кожні три місяці).
Code Rally: гонки на роботах
Code Rally (розробка IBM) не можна назвати повноцінним симулятором роботів. Якщо бути точним, Code Rally - симулятор гонок машин (безкоштовний і з відкритим вихідним кодом).
Мета програміста - написати алгоритм управління руху машини ( «роботом») по трасі (колі) з урахуванням наступних правил гри:
- У процесі руху машина повинна проходити через контрольні точки, за що їй нараховуються очки.
- Переміщаючись по трасі, машина витрачає паливо, а також може розстрілювати інші машини кулями.
- Машині доступне ваше положення заправних станцій, касет з кулями і контрольних точок; траса обмежена стінами, за межі яких машина не може виїхати.
- Допускається управління швидкістю машини.
- На трасі можуть знаходитися заправні станції і касети з кулями. При заправці паливом машина повинна залишатися нерухомою. Машина може включати захист, але в цей час у подвоєному обсязі витрачається паливо.
- Очки нараховуються за проїзд через контрольну точку (за проїзд через точки в установленому порядку нараховується більше очок), за потрапляння в машину противника (підбита машина втрачає паливо) і за паливо, що залишилося на момент закінчення гонки.
Перемагає машина, яка набрала максимальну кількість очок.
Тестувати свій алгоритм керування машиною можна на сервері (на своєму комп'ютері), позмагатися з друзями по мережі або запустити додаток на хмарному сервері IBM (ведеться рейтинг гравців).
Розробка алгоритму управління машиною виконується в Eclipse на Java. Так що, займаючись симуляторами, можна не тільки розважитися, але і Java підтягнути. У симуляторі є шість трас різного ступеня складності.
Algodoo: спеціалізований симулятор фізики
Algodoo - фізичний 2D-симулятор. Об'єкти, які створюються в цьому симуляторі, відразу починають підкорятися законам фізики. Звичайно, повноцінного робота в тривимірному просторі ти в цій програмі не зробиш, зате зможеш перевірити можливість роботи будь-якого механізму. У програмі можна моделювати воду, пружини, оптичні пристрої, ракетні двигуни, зброя, автомобілі.
Може здатися, що даний симулятор неповноцінний в тому сенсі, що дозволяє проектувати і досліджувати тільки «плоских» роботів. Однак ти можеш спочатку спроектувати 2D-робота, а потім створити в реалі його тривимірну версію. Приклад показаний тут (2:07): goo.gl/wzQ7q4. У Algodoo вбудований скриптова мова програмування Thyme, який додає велику свободу дій в симуляторі. У Thyme доступні змінні, умовний оператор, масиви, обробка подій, що відбуваються в пісочниці (середовищі моделювання).
Історія Algodoo почалася з гри Phun, яку розробив швед Еміль Ернерфельдт (це була його магістерська робота). Підтримувані ОС: Windows, OS X, iOS. На сайті доступна бібліотека AlgoBox, в якій є купа навчальних матеріалів і прикладів розробки. Також подивися algophun.3dn.ru і vk.com/algodoo.
RoboCup Soccer Simulation League: симулятор футболу роботів
У програмне забезпечення симулятора футболу входить кілька компонентів:
Ліга 2D-роботів. У лізі двовимірних роботів змагаються дві команди по 11 гравців в кожній. Кожен гравець представлений автономної програмою (агентом). Гра виконується на двовимірної площині (стадіоні), який надає сервер симуляції. Сервер знає все про гру: стан гравців, м'ячі і так далі. Гра заснована на взаємодії сервера і агентів. Гравець отримує дані з його віртуальних сенсорів (візуального, акустичного і фізичного) і має на основі цих даних прийняти рішення: удар по м'ячу, переміщення по полю або розворот.
Ліга 3D-роботів. У лізі тривимірних роботів у порівнянні з 2D зростає складність у зв'язку з більш високим реалізмом: додається ще одна розмірність і ускладнюється фізика гри. Мета гри в даній лізі - не розроблені складну стратегію, а організувати рух роботів: рух по полю, поворот, удар по м'ячу, вставання робота після падіння (звичайно ж, це пов'язано саме з «молодістю» даної ліги).
Також існує ще велика кількість програм для моделювання промислових роботів, які я не розглядав, тому що вони здебільшого спеціалізовані.
Симулятор футболу без проблем може запускатися під Windows, Linux і OS X.
Взагалі, симуляторів роботів величезна кількість. Якщо тобі не сподобалися ті, про які ми розповіли, можна подивитися в сторону Webots (платний, доступна 30-денна безкоштовна версія) або V-REP (безкоштовний для некомерційного використання). Обидва проекти регулярно оновлюються.
- Англомовний джерело інформації про те, як зібрати свого реального робота: www.societyofrobots.com
- Конструкції роботів і їх обговорення: roboforum.ru
висновок
Симулятор - практично ідеальне середовище, час відгуку від компонентів робота наближається до нуля, вони мають безмежний ресурс роботи. Тому після створення робота або алгоритму і тестування їх в симуляторі найкраще спробувати втілити їх в реальному світі (якщо це необхідно). І хто знає, може бути, твої розробки складуть конкуренцію роботам з Boston Dynamic або тепер уже Google? Але завжди пам'ятай, що симулятор - це тільки твій помічник. В реальності все може виявитися трохи іншим.
Покажи цю статтю друзям: