Дальнейшее исследование формата передачи показаний датчиков метеостанции DYKIE
Практически год назад удалось получить первые результаты расшифровки формата передачи данных датчиков метеостанции DYKIE. Попытка обратиться к производителю метеостанций для выяснения неизвестных полей формата не привела к успеху. Производитель, по словам продавца (aliexpress), отказался предоставить нужную информацию. Но, когда нас это останавливало! Даже наоборот, появился интерес расшифровать. Включил логгирование посылок датчиков в базу данных и […]
Получение показаний датчиков метеостанции DYKIE
Очередная рассылка от 8devices о том, что появилось в продаже новое устройство WeIO очень меня заинтересовала. Сделана она на базе Carambola2, но дополнительно появились интерфейсы UART, SPI, I2C и поддержка MicroSD. Кроме того, заявлено, что это так же сделано на базе OpenWrt, что означает, что можно добавить очень много других дополнительных пакетов. Сразу было заказано […]
Первый опыт использования 3D принтера
Из за сильной занятости пришлось сильно сократить время на робота, поэтому пока сосредоточился на программной части и занимался совершенствованием алгоритмов работы с роботом. Доработал систему классов управления роботом так что бы можно было делать различные варианты перемещения. Но, видимо, вселенная ожидает от меня чего то другого и так получилось, что я по неосторожности уронил на […]
Перегрузка или как иногда полезно делать предварительные расчеты
Потерпев неудачу с построением карты роботом, я решил попробовать сделать простой алгоритм самостоятельного перемещения робота, так что бы он сам выбирал направление и не натыкался на препятствия. Во время проведения испытаний случилась неприятность, сгорел сервопривод ноги. Сначала это показалось случайностью, но после того, как сгорел третий сервопривод, пришлось задуматься и немного посчитать. Оказалось, что масса […]
Построение карты роботом
Всегда думал, что неплохо знаю математику, в том числе и геометрию, но оказалось что составление карты по замерам расстояний не простая задача. Для построения карты использовались реальные замеры перемещающегося робота. То есть, робот выполнял измерения расстояний вокруг себя, затем перемещался и снова измерял. Так получилась серия измерений. Составление карты производилось последовательно от самого первого измерения […]
Алгоритм локализации робота
После завершения тестирования второго варианта головы робота были получены результаты измерения расстояний вокруг робота и появилась возможность заняться программированием алгоритма локализации робота (SLAM). Поиск в интернете подходящих готовых алгоритмом результатов не дал. Вернее алгоритмов много, как и их реализаций, и все они достаточно сложны и трудоемки (например, большой список таких алгоритмов есть на openslam.org ). Так или […]
Второй вариант головы робота
Исследования с новой кинематикой вращающегося датчика расстояния позволили спроектировать и создать второй вариант головы робота. Вот как она выглядит в модели: Использование сервопривода с разделенной кинематикой и резистором обеспечивающего обратную связь позволило сделать два разных варианта кинематики для вращения датчика расстояния и платформы видеокамеры. Обе этих схемы обеспечивают вращение на угол более 360 градусов, но сделаны […]
Второй вариант вращающегося датчика расстояния
Как я уже упоминал ранее, первый вариант головы робота оказался не очень удачным. Прежде всего потому, что конструкция оказалась практически не разборной, но еще и очень нестабильной в плане позиционирования датчика расстояния. Поэтому пришлось разрабатывать новую кинематику для вращения датчика расстояния. Проблема в том, что большинство стандартный сервоприводов имеет угол поворота +-60 градусов, то есть […]
Вращающийся датчик расстояния в движении
После испытаний вращающегося датчика расстояния в состоянии покоя были проведены испытания в движении. Вот как выглядит картинка этих испытаний: Цвета меняются как в радуге от красного к фиолетовому. Видны погрешности измерений. Точки в центре, координаты центра робота, черта рядом — направление оси X робота. Робот управлялся вручную, то есть делал шаг и производились замеры […]
Первое тестирование вращающегося датчика расстояния
Для проверки работоспособности вращающегося датчика расстояния пришлось повозиться и существенно переработать систему классов в программе управления роботом. Первоначальный вариант классов позволял задавать непосредственно команды инициализации датчика, получение значения, его преобразования и т.д.. И для малого количества вполне годился. Когда количество датчиков выросло, достаточно сложно помнить все команды для их управления, поэтому пришлось создать наследуемые классы […]