Тестуємо робота без самого робота

Всі матеріали сюжету:

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 - симулятор гонок машин (безкоштовний і з відкритим вихідним кодом).

Мета програміста - написати алгоритм управління руху машини ( «роботом») по трасі (колі) з урахуванням наступних правил гри:

  1. У процесі руху машина повинна проходити через контрольні точки, за що їй нараховуються очки.
  2. Переміщаючись по трасі, машина витрачає паливо, а також може розстрілювати інші машини кулями.
  3. Машині доступне ваше положення заправних станцій, касет з кулями і контрольних точок; траса обмежена стінами, за межі яких машина не може виїхати.
  4. Допускається управління швидкістю машини.
  5. На трасі можуть знаходитися заправні станції і касети з кулями. При заправці паливом машина повинна залишатися нерухомою. Машина може включати захист, але в цей час у подвоєному обсязі витрачається паливо.
  6. Очки нараховуються за проїзд через контрольну точку (за проїзд через точки в установленому порядку нараховується більше очок), за потрапляння в машину противника (підбита машина втрачає паливо) і за паливо, що залишилося на момент закінчення гонки.

Перемагає машина, яка набрала максимальну кількість очок.

Тестувати свій алгоритм керування машиною можна на сервері (на своєму комп'ютері), позмагатися з друзями по мережі або запустити додаток на хмарному сервері 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? Але завжди пам'ятай, що симулятор - це тільки твій помічник. В реальності все може виявитися трохи іншим.

Покажи цю статтю друзям:

Знайдена зв'язок між пограбуванням тайванського банку і північнокорейської хак-групою Lazarus

Шкідливий Necurs навчився робити знімки екрану і повідомляти своїм операторам про проблеми

У даркнета за $ 5000 продають малваре, яка змушує банкомати «випльовувати» гроші

Схожі статті