Симулятор роботов Player/Stage

Года полтора назад я работала в вузе лаборантом на кафедре. А на кафедре занимались разработкой роботов. И дали мне задание разобраться с симулятором Player/Stage, а именно перевести ман, сделать тестовую прожку ну и ман по установке.
И работает это только на линуксах.

Собственно про эту хреновину.

Player/Stage — это инструментарий моделирования робота, состоящий из одной программы —
Player, представляющей собой уровень абстрактных аппаратных средств. Это означает, что
он взаимодействует с элементами оборудования робота (такими как щуп или камера) и
позволяет управлять ими с помощью программного кода, то есть вам не нужно беспокоиться
о порядке работы различных элементов робота. Stage представляет собой плагин для Player,
который воспринимает команды и транслирует их в инструкции для выполнения роботом.
Player также моделирует датчики робота и передает их Stage, который делает данные с
датчика доступными в коде.

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

Рекомендую юзать или Fedora или Gentoo у них эта тулза из коробки. А вот с той же Ubuntu ужасные пляски с бубном.

В мане ссылки с моего бложека не валид. Юзаем эти

Переведенный ман
Ман в подлиннике
Ман по установке

Костыль II

В прошлый раз был зопил ради зарядки телефона. Кто не читал, не помнит смотрим тут.

А теперь об нынешнем зопиле. Дело было так. Задарил мне вуз Ipad mini за олимпиаду, но он не хотел заряжаться от лаптопа с linux. Ну вообще никак не хотел. dmesg ругался, матерился как-то вот так:

[1402816.444635] ipheth 3-1:4.2: Apple iPhone USB Ethernet device attached
[1402818.238639] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready

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

А теперь фотачки


DSC_0451


DSC_0453

Дверной звонок

В прошлый раз была запилена камера в в кнопку от дверного звонка. Теперь пришлось его проапгрейдить. После апгрейда базы звонка (я зову это часть — «сервер»), он не дает звонить чаще чем раз в 10 секунд, плюс появилась кнопка отключения звука


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


DSC_0279


DSC_0280




















В сервере стоит такая же микросхемка-приемник, как в радиоуправляемых машинках. У нее 5 выходов, которые на плате подписаны A-E

DSC_0277_1











Один из этих выходов (у нас это А) подключается к модулю который играет мелодию звонка (маленькая плата). Кстати наклейку с буквой обозначающей канал в котором работает пара кнопка-база клеют на корпус:

DSC_0284











У клиента соответственно 5 входов. Один вход на клиенте соединен с его кнопкой. Когда нажимаем кнопку на клиенте, на этой ножке на сервере меняется напряжение с 0 до 3В.

DSC_0285











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

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

Сорец.

Видеонаблюдение своими руками часть 3

Камера перед дверью не видела что происходит у лифтов. Поэтому мне захотелось еще одну. Примерно в том месте где висят звонки от квартир.

А раз там висят звонки, камеру можно замаскировать под один из них. Естественно, при этом он должен продолжать работать как звонок. Он должен продолжать работать как звонок — нажиматься и раздражать всех своим пиликаньем.

Получился проводной звонок с камерой 🙂
DSC_0087















А теперь как оно собиралось
Разобрала вебку, оторвала с нее ненужный светодиод и стала примерять к звонку. Внезапно, в кадре появились светлые пятна:



Skype 2013-11-10 02-38-50








И даже если заткнуть объектив, так чтобы камера ничего не видела, пятна не хотели уходить.
После пары экспериментов с отключением освещения, выяснилось что это свет просвечивает через отверстия в плате камеры. А так как матрица камеры снизу не прикрыта ИК-фильтром, свет от ламп накаливания вызывает такие пятна
_DSC0055









Хоть плата и будет в корпусе, и на нее свет попадать не будет, я на всякий случай заклеила то место под которым находилась матрица, изолентой.

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

Вот схема

DSC_0088











Теперь залить все клеем и повесить
DSC_0081











Продолжение следует..

UPD: видео с камеры

Костыль

Значит дело было так. У меня Ubuntu 12.04 и ThinkPad T430. И от него не заряжался телефон. Точнее после подключения провода зарядка начиналась, а через долю секунды отрубалась. При этом dmesg страшно матерился..

[198985.645446] thinkpad_ec: thinkpad_ec_request_row: arg0 rejected: (0x01:0x00)->0x00
[198985.645454] thinkpad_ec: thinkpad_ec_read_row: failed requesting row: (0x01:0x00)->0xfffffffb
[198985.645458] thinkpad_ec: initial ec test failed

Но в выключенном состоянии телефон (пафосный SONY ZL) заряжался нормально.. А на работе нормально заряжался и во включенном состоянии (там таже Ubuntu и ThinkPad T410). Пошла я в гугл, там в багзилле эта бага. На форумах предлагали добавлять модули к ядру, но у меня таковых не оказалось.

Тогда я решила сделать костыль…

1) Раз система отключает телефон, не будем ей говорить что он вообще подключен — разрезаем изоляцию и перерезаем зеленый и белый провода (по ним передаются данные)

2) Телефон, если видит оборванные проводки с данными, заряжаться не хочет — поэтому смотрим что с этими контактами в зарядке от телефона: они замкнуты. Замыкаем их на нашем проводе со стороны разъема от телефона — теперь он думает что подключен к зарядке

DSC_0036

И перематываем все синей изолентой!

Моя первая плата

В качестве дипломного проекта у меня умный дом, и для него нужно сделать несколько электронных устройств. С начала я решила сделать самую простую плату — переходник для подключения радиомодуля к Raspberry Pi.
Чтобы его сделать мне понадобилось: текстолит, железо хлорное, наждак, фотобумага, принтер, утюг, сверла(кстати, 2 сломала), шуруповерт, паяльник, канифоль-гель, припой, лак для ногтей (черный ORLY), смывка лака для ногтей (Pink Up).



Рисунок платы в gEDA pcb выглядит вот так:

bbbGmTrGY8b3Y2acR1nUP4QRS











А вот она-же, распечатанная на глянцевой фотобумаге и кусочек текстолита:

DSC_0004













Приглаживаем плату советским утюгом (почему советским? мне другой не дали)

DSC_0006

















Бумага прилипала к утюгу, поэтому работать было неудобно. В итоге тонер в в паре мест плохо прилип и оторвался от текстолита. Поправила лаком для ногтей. Черным

DSC_0016
DSC_0017














травится

DSC_0018











Такой она стала после травления и после того как я смыла тонер смывкой от лака

DSC_0020












Лудится

DSC_0021














Потом дырочки шуруповертом

DSC_0029












А вот что получилось

DSC_0030-1

Видеонаблюдение своими руками часть 2

Мы сделали это!
Первый апгрейд поделки с видеонаблюдением.
В коридоре, где висит камера, свет днем горит только около лифтов, а ближе к камере зажигается только после 21-00: Днем видно хреново.
Поэтому мы сделали ему ИК-подсветку.

WP_001411

С виду задачка простая: берем цать ИК-светодиодов, паяем к ним резисторы, закрепляем вокруг вебки, с самой камеры снимаем ИК-фильтр и собираем все это безобразие в коробочку. Но на деле получилось чуть сложнее, и в итоге простая задачка превратилась в целый квест с участием @dcoder_mm.
Если ты хочешь повторить тоже самое, то тебе понадобится шуроповерт, ИК-светодиоды (купила первые которые попались. Вообще можно купить и помощнее, а вот сильно мощных в Москве не найти), вебка, паяльник, резисторы, короб для проводов (в качестве корпуса), изолента, проволока и прямые руки.

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

WP_001354

WP_001357

WP_001361

WP_001362

Тут очень помог @dcoder_mm, который извлек для меня ИК фильтр из почти такойже вебки. Разница лишь в том, что на моей был ручной фокус, а у него автоматический. Но пока он снимал фильтр, поцарапался объектив.
Просто поменять обьективы нельзя, ибо сбивался фокус — объектив с ручным фокусом был дальше от матрицы, чем автоматический. Пришлось чуть-чуть подпилить его напильником.

А потом я играла в эту вебку. Она показывает меня с голубыми глазами, хотя на самом деле карие. Но так они выглядят только при свете ламп накаливания, так как они сильно светят в инфракрасном свете, а меланин в глазах этот свет отражает. Цвет волос тоже забавный, наверное по той же причине.

Потом из светодиодов и кучки резисторов паялась подсветка. Подсветка сама по себе потребляет 370мА, а вместе с камерой 850мА. Хоть это и больше чем предусмотрено стандартом USB, но оно работает и ломаться не собирается.

Потом припаять подсветку к вебке — я вывела с платы от вебки два проводка, на которых были +5 Вольт с USB, и земля. От них и питается подсветка.

q-mzhfxJg3g

skL8n_I95ns

WP_001417

WP_001371

Ну и закрепить всю конструкцию проволокой, затем все в коробку.
WP_001400

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

Потом захотелось измерить какой у этой поделки ток и можно ли юзать. Для этого в USB-удлинителя пришлось оборвать провод. Ток получился 850 мА. Хоть по стандарту 500 мА.
WP_001391

В полной темноте четко видно предметы на расстоянии метров 6, дальше не тестила.
А вот как показывает улицу ночью.
111

22

Эта конструкция 2 раза нарушает стандарт USB. Фу такими быть.

Видеонаблюдение своими руками

Цель для видеонаблюдения может быть совершенно разной, кто-то за детьми, кто-то за соседями и т.д.
Я решила запилить камеру над дверью и наблюдать кто пришел — весьма удобно, не надо вставать, чтобы посмотреть.

Для этого мне понадобилось: цать метров витухи, 2 usb разъема, паяльник, короб для проводов, изолента, двойной скотч, клей, шуруповерт, лаптоп, вебка (logitech c510).

Из витухи был сделан удлинитель, такие поделки запрещены всеми стандартами.
Фото разъема, на втором провода должны быть припаяны аналогично.
_DSC0177

Фото удлинителя

_DSC0178

_DSC0182

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

_DSC0342

_DSC0343

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

На лаптопе стоит XUbuntu 12.04 и motion.
Motion нам нужно для записи и просмотра видео онлайн. Редактировать конфиг /etc/motion/motion.conf
Запускать от рута motion -c /etc/motion/motion.conf
В итоге, кроме записи видео, можно смотреть через браузер 127.0.0.1:8081 это по дефолту. Можно в сеть вещать.

Пример записи.

Эта поделка еще будет совершенствоваться.