Raspberry Pi

Русский сайт по микрокомпьютеру Raspberry Pi
Предложить пост

Вход








Регистрация | Забыли пароль?

Поиск



По всему сайту
По тэгам
По тэгам и заголовкам

Рубрики

  • Проекты и статьи
  • Модели
  • Новости
  • Мысли
  • Облако тэгов

    raspberry pi 3, raspbian, windows, ubuntu, linux, умный дом, windows 10, osmc, игры, python, gpio, установка ос, raspberry pi 2, raspberry pi zero, raspberry pi zero w, слежение, самолёт, http, diy, 1c-битрикс, web, сеть, кластер, бесперебойник, акустика

    Боковое меню

  • RSS-канал
  • Карта сайта
  • Обратная связь
  • Пользователи


    Top.Mail.Ru

  • Создаём Чернобыль у себя дома с дронами на Raspberry Pi

    Первая в мире Remote Reality игра! Или о том, как создать свой маленький Чернобыль у себя в подвале с дронами на Raspberry Pi :)



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



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

    На следующей недели мы занялись доработкой нашей идеи. У нас было множество рабочих вариантов роботов с различными возможностями и десятки тестовых полигонов, между которыми игроки могли телепортироваться. Помимо того, каждый желающий мог построить свой собственный игровой полигон любого размера.

    Мы поняли, что наши идеи больше похожи на аттракцион, нежели на компьютерную игру. Людям по нраву развлечения и они всегда желают нечто новых впечатлений, а у нас было что им предложить. Как и в обычном бизнесе, встал вопрос рентабельности нашей затеи, ведь поначалу кажется, что наша финансовая модель ограничено числом роботом. Однако, посчитав их и умножив на 24 часа в сутки и стоимость такого часа, сомнения были рассеяны. Наша бизнес-модель вполне окупалась даже при минимальном потоке клиентов при цене от 5$.
    Название этой новой игры-аттракционами пришла в голову быстро: Remote Reality, по аналогии с Virtual Reality и Augmented Reality.

    Название для нашей концепции родилось мгновенно - Remote Reality.



    Как и другие энтузиасты, в первую очередь, мы взяли радиоуправляемую машинку с вебкамерой, скоммутировали все это через ардуино и удовлетворились благополучным запуском проекта. Затем мы попросили нашего иностранного товарища подключиться к машинке по интернету, что у него вполне получилось на радость всему нашему офису. Прогнозируемые задержки в управлении не казались критичной проблемой.

    С той поры мы распределили всю работу на следующие направления:
    - Дизайн и постройка игрового полигона
    - Работа над роботами и системой их управления

    Великаны в Чернобыле



    Начнем повествование с разработки полигонов. У нас было понимание, что людям необходимо не только лишь "чем" управлять, но и "где". Потому антураж должен быть интересным, загадочным и, по возможности, легко узнаваемым. Рассмотрев многие варианты, нам неожиданно пришла идея о Чернобыле. Помимо того, что она отвечает выше указанным требованиям, она еще и прагматична в плане возможных будущих повреждений, ведь их всегда можно списать на случившийся там локальный апокалипсис.

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



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

    Непросто измерить сколько ДСП, ДВП, досок и фанеры у нас ушло на создание всего этого. Последние месяцы нам приходилось буквально на четвереньках перемещаться для финального оформления и покраски нашей реконструкции. Мы желали максимальной детализации. Масштабы локации получились 1:16 и девятиэтажки оказывались аккурат на уровне подбородка взрослого человека. Находясь в таком городе, невольно чувствуешь себя как Гулливер в стране лилипутов.



    О нас



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



    Для примера можно привести историю с 3D печатью. В целях масштабности работ, мы сочли целесообразным собрать свой собственный 3D принтер, однако печать, занимавшая многое и многое время, не всегда выходила без брака, причем чем деталь была сложнее и больше, тем чаще нам приходилось переделывать ее заново, потому нами было решено нанять специалиста по этому профилю, который в результате и стал частью нашей команды, разделив наш энтузиазм, согласился изготавливать детали по себестоимости материалов.
    При сборке роботов нам было не обойтись и без профессионального токаря, которым и стал один из наших товарищей. Сборка полигона нередко требовала нетривиального подхода к решениям самых неожиданных и неординарных проблем и ситуаций - и нам очень повезло найти таких членов команды, которым все оказалось по плечу.

    Нашему "стартапу" также повезло и с художником, его талант нельзя недооценить.







    Для максимальной экономии на постройке полигона нам почти все пришлось сделать вручную. Однако, кроме огромной игровой арены, была и техническая часть

    Победа над задержками в управлении



    Ну что же, приступим наконец к тому, ради чего вы начали читать эту статью - техническая часть и инженерная реализация.

    Вернемся в самое начало, когда мы впервые успешно протестировали наш прототип на ардуино. Теперь нам пришло время отточить и выверить технологии и железо для наших нужд. Уже на этом этапе нас поджидала первая неприятность - перебрав множество камер, нам не получилось добиться комфортного уровня для управления нашим дроном по сети. Осложнялось все тем, что много времени терялось на пересылку образцов видеокамер с Китая.



    Нам хотелось создать систему управления, которая не отпугивала потенциальных желающих требованием скачать какой-либо клиент и могла осуществляться в полной мере через браузер. В следствии этого, список подходящих нам технологий и вебкамер сузился этими требованиями.
    Изначально, нами был выбран видеопоток формата MJPEG, однако после полугода опытов мы были вынуждены от него отказаться, поскольку как бы мы не оптимизировали его передачу, его битрейт было невозможно снизить ниже 20Mbps, который в свою очередь не позволил бы нам запустить запланированных нами 20 роботов одновременно из-за ограничения пропускных способностей роутера. Потому нам пришлось искать иной формат передачи данных. И выбора наш пал на WebRTC - он обеспечил нам минимальные задержки в 0,2 секунды.



    Схема электропитания



    Следующим встал вопрос об электропитании - мы не хотели часто менять батарею, поэтому перебрав множество готовых решений, пришли к пониманию, что лучший вариант будет на собственном дизайне. Собрать мы его решили на базе элементов Panasonic 18650B, общее напряжение батареи в этом случае составит 17 вольт и емкость 7000mAh, что в перспективе даст нашим роботам кататься до 12 часов без подзарядки.



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

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

    Моторы для роботов



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



    В стандартных машинах важнейшая роль передачи усилия ложиться на коробку передач. У электродвигателей ее не было. Понижение напряжения позволяла снизить скорость, однако также терялась и мощность и наши "танки" не могли медленно разворачиваться на одном месте. Но и это проблема была решена.

    Почему именно «танки»?



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



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

    Но как же поворот "на месте"? Нам удалось решить это, связав обе оси тонким ремешком. В результате был получен полноприводный танк с поворотом на месте.



    Мозг бота



    Мы рассказали обо всем, кроме главного, чтобы оставить самое интересное напоследок.



    В качестве платформы нашего робота лег мини-ПК Raspberry Pi под управлением Линукса и разработанное нами ПО, позволяющее соединяться боту с сервером. Рапсберри работает вместе с платой контроля и управления, созданной по нашему собственному дизайну. В нее включены - индикатор напряжения аккумулятора, драйвер двигателя, микроконтроллер, процессор обработки сигналов датчиков. Ради удобства при сборке, нами было реализовано подключение всей периферии на отдельных разъемах.



    Как вы помните, нам нередко приходилось отказываться от запланированных деталей из-за непредвиденных ситуаций. И этот случай не было исключением. Поначалу мы решили сэкономить, собрав прототипы на Orange Pi. Далее мы оказались вынуждены менять их на Raspberry Pi 2 B. Однако и на этом варианте остановиться нам не получилось - впоследствии нам пришлось вновь заменить нашу малинку на более продвинутую версию с 5Ггц модулем вайфая - Raspberry Pi 3 B+.

    Настройка Wi-Fi



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

    Победить эту проблему нам удалось благодаря переходу с 2,4Ггц на частоту 5Ггц. Но на это трудности, конечно же, не ограничились. В случае, когда бот заезжал за препятствие, сигнал снижался до -85 dBm и появлялись тормоза. Финальным решением оказалась установка секторной антенны с разнесенным приемом и поднятие мощности передатчика до 0,5Вт. Естественно, роутер также пришлось выбрать из сегмента бизнес-класса с производительным процессором.

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





    Создав дюжину танков и запустив сервер управления мы к концу 2018 года объявили кикстарт проекта Isotopium Chernobyl. На тот момент мы и мечтать не могли, что наша игра станет популярна среди многих тысяч радостных пользователей.

    13.09.2019 в 23:45, Просмотров: 2443

    игры, чернобыль

    Короткая ссылка: http://4raspberrypi.ru/content.php?p=51

    ID: 51