Шестиногий робот
Первый опыт использования 3D принтера
Из за сильной занятости пришлось сильно сократить время на робота, поэтому пока сосредоточился на программной части и занимался совершенствованием алгоритмов работы с роботом. Доработал систему классов управления роботом так что бы можно было делать различные варианты перемещения. Но, видимо, вселенная ожидает от меня чего то другого и так получилось, что я по неосторожности уронил на […]
Перегрузка или как иногда полезно делать предварительные расчеты
Потерпев неудачу с построением карты роботом, я решил попробовать сделать простой алгоритм самостоятельного перемещения робота, так что бы он сам выбирал направление и не натыкался на препятствия. Во время проведения испытаний случилась неприятность, сгорел сервопривод ноги. Сначала это показалось случайностью, но после того, как сгорел третий сервопривод, пришлось задуматься и немного посчитать. Оказалось, что масса […]
Построение карты роботом
Всегда думал, что неплохо знаю математику, в том числе и геометрию, но оказалось что составление карты по замерам расстояний не простая задача. Для построения карты использовались реальные замеры перемещающегося робота. То есть, робот выполнял измерения расстояний вокруг себя, затем перемещался и снова измерял. Так получилась серия измерений. Составление карты производилось последовательно от самого первого измерения […]
Алгоритм локализации робота
После завершения тестирования второго варианта головы робота были получены результаты измерения расстояний вокруг робота и появилась возможность заняться программированием алгоритма локализации робота (SLAM). Поиск в интернете подходящих готовых алгоритмом результатов не дал. Вернее алгоритмов много, как и их реализаций, и все они достаточно сложны и трудоемки (например, большой список таких алгоритмов есть на openslam.org ). Так или […]
Второй вариант головы робота
Исследования с новой кинематикой вращающегося датчика расстояния позволили спроектировать и создать второй вариант головы робота. Вот как она выглядит в модели: Использование сервопривода с разделенной кинематикой и резистором обеспечивающего обратную связь позволило сделать два разных варианта кинематики для вращения датчика расстояния и платформы видеокамеры. Обе этих схемы обеспечивают вращение на угол более 360 градусов, но сделаны […]
Второй вариант вращающегося датчика расстояния
Как я уже упоминал ранее, первый вариант головы робота оказался не очень удачным. Прежде всего потому, что конструкция оказалась практически не разборной, но еще и очень нестабильной в плане позиционирования датчика расстояния. Поэтому пришлось разрабатывать новую кинематику для вращения датчика расстояния. Проблема в том, что большинство стандартный сервоприводов имеет угол поворота +-60 градусов, то есть […]
Вращающийся датчик расстояния в движении
После испытаний вращающегося датчика расстояния в состоянии покоя были проведены испытания в движении. Вот как выглядит картинка этих испытаний: Цвета меняются как в радуге от красного к фиолетовому. Видны погрешности измерений. Точки в центре, координаты центра робота, черта рядом — направление оси X робота. Робот управлялся вручную, то есть делал шаг и производились замеры […]
Первое тестирование вращающегося датчика расстояния
Для проверки работоспособности вращающегося датчика расстояния пришлось повозиться и существенно переработать систему классов в программе управления роботом. Первоначальный вариант классов позволял задавать непосредственно команды инициализации датчика, получение значения, его преобразования и т.д.. И для малого количества вполне годился. Когда количество датчиков выросло, достаточно сложно помнить все команды для их управления, поэтому пришлось создать наследуемые классы […]
Голова робота с датчиком расстояния и видеокамерой
После того, как шестиногий робот научился ходить в любых направлениях, обрел встроенный компьютер и избавился от USB-провода появилась возможность научить его ориентироваться в пределах квартиры. GPS в квартирах работают плохо и не дают нужной точности. Расставлять по квартире различные маячки тоже не очень хотелось, поэтому осталась идея измерять расстояния до предметов вокруг робота. Таким образом, […]
Плата сопряжения
После того, как улеглись восторги от использования Carambola 2, поставлены необходимые пакеты и настроены нужные сервисы, возникла задача подключения платы к контроллеру робота. И тут появилась проблема, COM-порт на плате карамболы есть, но он используется как консольный порт, это означает, что в него валятся сообщения загрузки и работы компьютера. И все бы ничего, но контроллер […]