Pull to refresh

Comments 44

Спасибо за интересную статью!
А на GitHub или в виде ссылок можно увидеть еще некоторое количество ПО но уже на стороне компьютера? Насколько вижу, данные передаются на основной компьютер по Wi-Fi — как в виде ROS-кода выглядит ваша связка(и какой материал может быть полезен тому, кто о ROS только слышал и хочет потыкать)?

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

Как вы рулили роботом на видео? Он сам ориентировался или вы его с пульта?

Занятный момент с зеркалом кстати вышел — с этим можно как-то бороться? а то робот в стену въедет :)
А на GitHub или в виде ссылок можно увидеть еще некоторое количество ПО но уже на стороне компьютера?

Надо будет вечером выложить ROS-драйвер на github, хотя он не сильно отличается от кода для Neato.
Щеточный узел — покупался на aliexpress, по запросу «slip ring» там выдается куча различных вариаций.
Как вы рулили роботом на видео? Он сам ориентировался или вы его с пульта?

Как я уже отметил в статье, навигацию пока запустить не удалось, так что управлялся вручную — с клавиатуру.
Занятный момент с зеркалом кстати вышел — с этим можно как-то бороться? а то робот в стену въедет :)

Подозреваю, что бороться можно только программно (если нужна только локализация на готовой карте, то на ней можно указать «запрещенную» область, куда роботу ехать нельзя).
Ниже зеркала по идее плинтус… можно ниже сделать линии сканирования.
Зеркало является частью зеркального шкафа, и начинается в 5 см от пола.
Установить дальномер, чтобы он был расположен так низко, очень проблематично. Да и оптика будет быстро загрязняться.
Не знаю, насколько усложнит конструкцию и насколько состыкуется по быстродействию, но как вариант, можно добавить ультразвуковой дальномер.
Довольно плохо согласуется, УЗ обычно довольно медленные, так что на один оборот будут приходится штук десять измерений, объединить их с данными дальномера будет сложно из-за широкой диаграммы направленности УЗ дальномера. А еще у УЗ дальномеров много проблем с переотражением сигналов.

а ультразвук однократно-двухкратно на весь замер лазерным модулем, тупо ближайший отклик, т.е. на ближайшие 30-100см.

Вот это я понимаю понедельник)) Спасибо!
Спасибо за статью, очень интересная тема. На сколько я понял, сканирование окружающего пространства происходит только в одной плоскости, не думали как можно изменять угол восхождения считывающего узла?
Мне не было нужно сканировать пространство в 3D, так что этот вопрос не прорабатывался. Очевидно, что если нужно 3D сканирование, то нужно некий сервопривод ставить, и поворачивать основание дальномера.
Пф, сервопривод… Тут у чувака все без сервоприводов работает :)

К слову, очень завораживающее видео и облака точек километрового размера…
Там TOF дальномер с очень большой скоростью сканирования, и IMU для определения положения. И, конечно, без помощи человека не работает.
Круто! на сколько помогают светофильтры при работе на улице? почему мощность лазера 3.5 мВт, а не больше?
Я не использовал светофильтры, но они должны кардинально улучшать работу дальномера.
Мощность лазера 3.5 мВт выбрана такой, так это более-менее безопасно (с учетом, что лазер постоянно вращается).
с учетом того что система вращается, наверняка можно было и побольше взять. те же 5мВ вписываются в class 1 без проблем.
Какой вес вращающейся конструкции? не думали использовать 2 зеркала — отдельно на лазер и приемник? механически сложнее конечно, но подвижных деталей было бы меньше.
Теоретически, какова может быть максимальная скорость если поставить другую линейку и избавляться от АЦП.
Здесь пишут:
Если лазер невидимый, то он не может иметь класс 2 или 3a. Скорее всего, он класса 3b.
Если лазер видимый мощностью до 1 милливатта, то он класса 2.
Если лазер видимый мощностью от 1 до 5 милливатт, то он класса 3a.

Видимый лазер безопасней, его проще юстировать, но его мелькание может мешать.
ну да, с классами я промахнуся
Как идея: для механической части использовать головку VHS видеомагнитофона, если не ошибаюсь там и щеточный узел, и энкодер уже есть, биений подшипника нет, габариты не большие, цены копеечные.
Не слышал, чтобы там щетки были, во всех головках, которые я встречал, была индуктивная связь. С ее помощью проблематично запитать электронику (нужно делать импульсный источник питания), с передачей данных тоже не все просто. Энкодер там встроен в двигатель, нужно еще разбираться, реально ли его использовать.
UFO just landed and posted this here
Отличный результат! Мы так же работаем над созданием дальномера. Приходите к нам — напечатаем узлы на 3D-принтере по себестоимости и поделимся своими разработками.

Использовать здесь лазер 780 нм, почти невидимый и при этом достаточно мощный для мгновенного необратимого повреждения зрения — неосмотрительно. Учитывая, что луч будет плясать по всей комнате, отражаясь от случайных блестящих поверхностей…

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

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

Ищите возможность печати на 3D принтере, на али есть вполне годные варианты за 200$… возможности возрастают на порядок.
У меня весь дальномер меньше 50$ стоит. На самом деле, в Москве и Подмосковье есть фирмы, которые относительно дешево могут напечатать деталь. В то время, когда я делал пластмассовые детали, у меня были определенные сомнения в качестве деталей, напечатанных на 3D принтере, хотя сейчас я решил, что точности большинства принтеров должно хватать.
Я по себе скажу, аппетит приходит во время еды… при этом печать детали итеративна, напечатал, примерил, выкинул, поправил чертеж, напечатал снова и так пока не выйдет то, что хочу. При заказе на стороне (это тоже проходил) — это невозможно, довольствуюсь тем что напечататли, сейчас же по приходу в лабораторию после чайника включаю 3D принтер! Работает он практически каждый день. Корпуса, нестандартный крепеж (а он весь нестандартный), колеса, втулки, панели, шестеренки… скажу так ваше замечательное устройство благодаря 3D притеру выглядело бы иначе. Даже недорогой вариант с али — это огромный качественный шаг в DIY проектах.
Кстати, RPLidar сделали таки вращающуюся призму, датчик у них неподвижен (чип, встроенный в плату). Но у них механика такая, что длина пути луча постоянна вне зависимости от положения головы. Лазер крутится вместе с головой.
И да, у них энкодер с одним полюсом, они вычисляют ускорение-замедление по нескольким импульсам и равномерно делят.
Подскажите, откуда взята эта информация?
Из результатов тыкания сабжа.
Это что за модель RPlidar? A2 что-ли? Но и она выглядит как обычный триангуляционный дальномер (и вроде как еще не продается).
RPlidar A1 я сам разбирал — там все то же, что и у меня в статье.
То, о чем бы рассказываете, больше напоминает какой-то фазовый или импульсный дальномер.
А зачем нужен активный энкодер? Можно просто считать дырки, как это делали шариковые мышки.
И каково применение? Почему все создают устройства для применения вроде домашнего пылесоса или газонокосилки, но разрабатывают их так, как будто им надо запустить устройство на неизвестную вражескую территорию, построить карту этой территории и пропылесосить ее. Для большинства применений для ориентирования на местности имхо достаточно светодиодов по углам и тройки копеечных камер на устройстве.
Что значит «активный энкодер»? Работающий на отражение?
Для большинства применений для ориентирования на местности имхо достаточно светодиодов по углам и тройки копеечных камер на устройстве.

Если комната одна и без мебели, то может можно и диодами обойтись. А если комнат несколько, и они соединены коридорами, и стоит мебель, то углов получается очень много — смотрите на карту в статье. Все эти светодиоды нужно как-то запитывать, и модулировать их сигнал.
Данные от трех камер нужно еще как-то отправить на компьютер (по USB что-ли?), потом обработать (обработка изображений — не самый быстрый процесс). Если камеры «копеечные», что у них могут быть проблемы с FPS, особенно в темноте.
Кроме того, такая система позиционирования никак не позволяет обнаруживать и объезжать препятствия.
Глянул на карту квартиры. Уж очень похоже на что-то вроде этого.
image
Вопрос на засыпку — а если в роли линейки взять «сканерную» линию с реальными 1280 «дпи»? Там и линейка поболе будет(база измерения больше). Или есть проблемы с пользованием таких «линеек»?
Базовое расстояние определяется самой конструкцией дальномера — можно маленькую сделать, а можно большую.
1280 DPI — это соответствует пикселю со стороной 20 мкм. У ELIS-1024 ширина пикселя — 7 мкм, а размер пикселя в данном случае важнее их количества.
У уже упоминал сканерные линейки в статье — из за их габаритов объектив тоже должен быть большим.
Объектив можно взять из того-же сканера(там он в виде плоской линзы сделан). А по размерам пикселя — брать не CPI, а CCD — там чип размерами чуть больше вашей линейки ;) суммарное кол-во пикселей в среднем от 4800 до почти 30 тысяч(это у крутых ЦЦД с реальными оптическими 1200дпи) — там размер пикселя почти 3мкм(2.6-2.8 и менее). Один минус сканерных линеек — они медленные…
Попробуйте вместо ELIS-1024 использовать TCD1201D — это тоже CCD, 2048 пикселей, стоит меньше 4$ (вот тут например)
Я уже писал в статье, почему линейки от сканеров не подходят.
И робофоруме этот вопрос постоянно всплывает.

тоже CCD

ELIS-1024 — не CCD, а CMOS. CCD сложно управлять, им часто нужны повышенные напряжения для работы.
Зато дешево и сердито :) Во всяком случае я их брал как раз для дальномера, как сделаю — напишу. Просто за 18$ можно уже и камеру взять, и на той же Pi вычислять расстояния.
Только с камерой скорость работы будет просто никакая. У камеры хорошо если 60 FPS есть, а линейка делает 2100 снимков в секунду.
Sign up to leave a comment.

Articles

Change theme settings