1i7 (1i7) wrote,
1i7
1i7

Category:

Облака для роботов

Завершающий и обобщающий пост из серии про управление роботами (в частности, платами ChipKIT) из облака с Сервера Роботов. Или, кому ближе ключевые термины из словаря маркетолога, как сделать себе персональный интернет вещей.

На мой взгляд, если в ближайшее время роботы смогут делать действительно умные вещи, это произойдет при помощи связи автономных устройств с облачными технологиями. Хотя современные мобильные процессоры довольно производительны и с ними можно делать много всего интересного, принятие умных стратегических решений основано не только на скорости реакции, но в первую очередь на полноте знаний об окружащем мире и на накопленном опыте: одна из самых мощных современных экспертных систем искусственного интеллекта IBM Watson имел 16 терабайт оперативной памяти и 4 терабайта рабочих данных (это только при выступлении на американском прародителе «Своей игры» еще в 2011 году), процессоры там конечно тоже не мобильные. При всем желании, такой мини дата-центр с супер-компьютером даже в современном исполнении довольно проблематично уместить в мобильный автономный форм-фактор (хотя, может быть грузовик?). Но это не значит, что его нельзя использовать для того, чтобы подарить все знания мира простым роботам: вполне логично разместить все эти терабайты знаний и петафлопсы вычислительных мощностей в облаке, а мобильным устройствам позволить постоянно (или время от времени, чтобы уменьшить зависимость от ненадежного канала связи) выходить в цифровой астрал за очередной порцией вселенской мудрости, чтобы иметь возможность более разумно выстраивать стратегию поведения для своей бренной плоти из пластика и металла. Мобильные рефлексы оставить для решения сиюминутных потребностей: не врезаться в стену, не упасть в яму, в оперативной обстановке спланировать тактический маршрут для решения стратегической задачи, спущенной свыше.

Чтобы подступиться к решению этих интересных задач, желательно не утонуть во второстепенных проблемах выбора подходящих технологий, мелких нюансах и неочевидных проблемах их работы. Ниже приведены простые почти пошаговые инструкции, в которых показано, как наладить канал связи между настоящим живым облаком и настоящим живым роботом. Они позволят безболезненно преодолеть первый порог и получить возможность сразу приступить к самому интересному. Мы будем использовать только современные открытые технологии, которые подразумевают возможность дальнейшего наращивания функционала на любом из участков выстраивающейся системы, не ограничиваясь рамками какой-нибудь закрытой проприетарной платформы.


Сервер Роботов: управление роботом-с-лампочкой через веб from 1i7 on Vimeo.


server_chipkit1_ledon.jpg

Облако для роботов своими руками

I. Предварительные знания
1. Виртуальный хостинг на Амазоне

2. Разработка веб-приложений на Scala
2.1. Разработка веб-приложений на Scala: среда разработки
2.2. Разработка веб-приложений на Scala: пишем приложение с Unfiltered
2.3. Разработка веб-приложений на Scala: развернуть приложение в облаке

3. ChipKIT: подключение к Вайфай

II. Связь робота и облака
4. Подключение робота к облаку: канал связи и консольный интерфейс
4.1. Сервер Роботов: запуск управляющего сервера на Java в облаке Amazon
4.2. Сервер Роботов: управление платой ChipKIT WF32 из облака
4.3. Сервер Роботов: управление смартфоном Android из облака

5. Веб-приложение для управление роботом через браузер
5.1. Веб-интерфейс для Сервера Роботов: Сервер Роботов2
5.2. Веб-интерфейс для Сервера Роботов: веб-приложение на Scala+Unfiltered

III. Примеры
Пример 1: Живая демонстрация на robotc.lasto4ka.su
Пример 2: Робот Машинка на Сервере Роботов
Пример 3: В глубинах океана

Исходники

Главные репозитории
https://github.com/1i7/snippets/tree/master/chipkit-cloud-wifi
https://github.com/1i7/snippets/tree/master/scala-web
https://github.com/1i7/snippets/tree/master/chipkit-wifi
https://github.com/1i7/robotserver
https://github.com/1i7/lessons/tree/master/Робот%20Машинка/прошивки/robot_server

Подробнее
1) Управляющее веб-приложение: chipkit-cloud-wifi/ScalaUnfilteredWebFrontend
2) Сервер Роботов1 (консольный интерфейс): chipkit-cloud-wifi/JavaTcpServerMaster/src/main/java/edu/nntu/robotserver/RobotServer1.java
3) Сервер Роботов2: chipkit-cloud-wifi/JavaTcpServerMaster/src/main/java/edu/nntu/robotserver/RobotServer2.java
4.1) Робот Клиент на ChipKIT (версия1 для консольного интерфейса): chipkit-cloud-wifi/chipkit_tcp_client_slave/chipkit_tcp_client_slave.pde
4.2) Робот Клиент на ChipKIT: chipkit-cloud-wifi/chipkit_tcp_client_slave2/chipkit_tcp_client_slave2.pde
4.3) Робот Клиент на Android: chipkit-cloud-wifi/AndroidTcpClientSlave
4.4) Условный робот на Java: chipkit-cloud-wifi/JavaTcpServerMaster/src/main/java/edu/nntu/robotserver/RobotClient2.java
5) Робот Машинка на Сервере Роботов: Робот Машинка/прошивки/robot_server/robot_car_client/robot_car_client.pde
Tags: android, chipkit, облако, сервер роботов, типовые задачи
Subscribe

Posts from This Journal “сервер роботов” Tag

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments