Создадим "народный" 3D сканер?

Свои технологии, "помощники" в работе и т.п.

Модератор: Dj_smart

Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Создадим "народный" 3D сканер?

Сообщение Trudogolik »

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

Изображение

Объект освещается лазером строго перпендикулярно, камера установлена под
неким углом, так, чтобы из точки наблюдения был виден освещаемый рельеф. Линия света, проходящая по краям стола,
на который положен объекти или через центр подставки и нити подвеса являться нулем высоты и от нее можно
вести отсчет высоты рельефа.
Грубо говоря, задача сводиться к тому, чтобы сняв кадр изображения выделить центр линии рельефа и определить
расстояние точек рельефа от нулевой линии, т.е. построить координаты высоты рельефа.
После этого программа должна дать команду (шаг, импульс) на выход LPT или CОM порта в результате чего объект
поворачивается или, в случае, если лежит на столе - перемещается портал со всем закрепленным на нем "махараем"
на один шаг. Делается следующий стопкадр, преобразуется рельеф и так далее.
Полученный массив координат и будет файлом для дальнейшей обработки. В каком виде его удобнее делать можно обсудить.
Вот объяснил как смог...
Что касается демоверсии, то думаю можно ее ограничить пределом в 200 (400) шагов, чтобы будущий владелец
лицензионной версии смог опробовать сканер на полный обророт объекта в упрощенном варианте.
Конечно, поднутрения сосканировать в этой версии невозможно, да и не со всеми объектами может
быть получен хороший резултат, но тем не менее думаю, что многие будут рады и такому варианту.
Я готов приступить к практической реализации, для опытов имею 5-ти милливатный лазер с плоским лучом
и 8-ми мегапиксельную вебкамеру LogiTech С510HD. Станок и вращающийся столик тоже есть. :)
Готов обсудить нюансы конструкции.
Итак, программисты - отзовитесь!
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
logic777
Станкостроитель
Станкостроитель
Сообщения: 84
Зарегистрирован: 08 апр 2011, 00:00
Откуда: Украина, Харьков

Сообщение logic777 »

а если взять лазерный дальномер.
оцифровывать его данные и считывать в файл расстояние от горизонтально плоскости для каждой точки?
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Не думаю что будет дешевле и быстрее, придется использовать растровое сканирование, т.е. перемещать дальномер на каждую точку механическим способом.
Это конечно быстрее, чем фрезеровать каждую точку, но все равно очень долго и будет зависеть от скорости работы станка.
Веб камера обеспечивает вывод строк 30 раз в секунду, если использовать для вращения шаговый двигатель, то 30 шагов в секунду он может сдалать даже с v r i -c n c контроллером. Если просто на валу шагового движка закрепить объект и вращать его в полушаговом режиме, то на скнирование объемной фигуры потребуется всего 13,33 секунды. Точность сканирования объекта диаметром 50 мм посаженого на вал шагового движка составит 0,4 мм.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
logic777
Станкостроитель
Станкостроитель
Сообщения: 84
Зарегистрирован: 08 апр 2011, 00:00
Откуда: Украина, Харьков

Сообщение logic777 »

резон.
для изготовления лазера с плоским пучком можно использовать цилиндрические линзы с объективов для советских кинопроекторов. там был объектив для звуковой дорожки. в нем 3 хорошие цилиндрические линзы. использовал с обычной указкой. можно на разборке найти с китайских электроинструментов (лобзиков и пр).
Аватара пользователя
phill75
Станкостроитель
Станкостроитель
Сообщения: 22
Зарегистрирован: 14 фев 2010, 01:00
Контактная информация:

Сообщение phill75 »

Вот что-то подобное http://wiki.makerbot.com/3d-scanner
Изображение
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Так это не народный, это ИНОродный :)
В апрельском журнале "Популярная механика"
http://www.netbook.perm.ru/pm.html
за этот год есть интересная статья "Кино из полосок" и в этом же журнале вложена пластинка с зачерненными полосками. Если приложить эту пластинку к непонятному рисунку на странице, то проявляется "зашифрованное" изображение, двигая пластинку можно получить анимацию.
А если осветить объект через эту пластинку, то можно получить сразу кадр с множеством рельефов, типа такого:
Изображение
И еще одно применение "полосатого фильтра", правда не по теме. Если расположить пластинку на ЖК мониторе, и специальным образом подготовить фотографию какого либо объекта, то при наблюдении фотографии через эту пластинку сразу видим изображение в 3D формате. Подобный принцип использован в 3D Nintendo, только там фильтр имеет шаг "сетки" равный размеру пиксела.
http://www.youtube.com/watch?v=UPPCvVmx5Ho
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
ChiS
Станкостроитель
Станкостроитель
Сообщения: 73
Зарегистрирован: 05 янв 2010, 01:00
Откуда: Красноярск

Сообщение ChiS »

Trudogolik, а можно сделать видео или (и) пару фотокадров с максимальным разрешением веб камеры, как лазер "отбивает" контур объекта. В кадре должна быть "нулевая высота"
furanium
Станкостроитель
Станкостроитель
Сообщения: 37
Зарегистрирован: 27 янв 2011, 01:00
Откуда: Чебоксары

Сообщение furanium »

logic777 писал(а):резон.
для изготовления лазера с плоским пучком можно использовать цилиндрические линзы с объективов для советских кинопроекторов. там был объектив для звуковой дорожки. в нем 3 хорошие цилиндрические линзы. использовал с обычной указкой. можно на разборке найти с китайских электроинструментов (лобзиков и пр).
Для давида использовал обычную стеклянную трубку (похожа на пипетку, но один конец запаян - такая уж нашлась :) запаянный конец не используется) и лазерную укзку. Чтобы получить тонкую линию пришлось подрегулировать указку. Первые опыты показали довольно не плохой результат.
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

ChiS писал(а):Trudogolik, а можно сделать видео или (и) пару фотокадров с максимальным разрешением веб камеры, как лазер "отбивает" контур объекта. В кадре должна быть "нулевая высота"
Конечно можно, в выходные сделаю и видео.
В каком формате нужно?
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
ChiS
Станкостроитель
Станкостроитель
Сообщения: 73
Зарегистрирован: 05 янв 2010, 01:00
Откуда: Красноярск

Сообщение ChiS »

Trudogolik, в любом, лишь бы кодаки были. Чем меньше сжат/пережат, тем лучше. Под рукой нет лазера отбивающего линию. В принципе дал наводку студентам-программистам и пообещал хороший бонус за написанную программу, но у них сейчас близится сессия, а у меня самого начались заочники ровно на месяц. Чуток бы раньше.
Аватара пользователя
ATM67
Станкостроитель
Станкостроитель
Сообщения: 609
Зарегистрирован: 12 ноя 2010, 01:00
Откуда: Набережные Челны

Сообщение ATM67 »

Что то подобное я начинал программировать на VB, но забросил.
Алгоритм пробовал такой:
1. Камера снимает кадр с лучом.
2. Второй снимок без луча.
3. Вычитаем из первого кадра второй и получаем кривую рельефа.
4. Вот здесь началась у меня засада, дело в том что кривая по "толщине" засвечивала несколько пикселей. Нужно было как то лишние отфильтровать. По цвету не получилось, по яркости?! :death:
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

ChiS писал(а): Чуток бы раньше.
Не все сразу :) Идей много, но времени на их даже проверку, а не то что реализацию, у меня тоже не хватает.
Надеюсь не последний день живем, что нибудь успеем.

У кого есть пара светодиодов, дающих тонкую линию, можете реализовать уже проверенную идею, маркер-указатель точки обработки.
Все очень просто, два светодиода крепяться по бокам от шпинделя, под углом примерно 90 градусов относительно оси шпинделя и светят под фрезу. Линия обоих светодиодов должна проходить строго по оси фрезы, вертикально.
Тогда как бы вы ни поднимали и не опускали ось Z, перекрестие лучей всегда будет находиться строго под фрезой.
Изображение
Последний раз редактировалось Trudogolik 27 апр 2011, 16:37, всего редактировалось 1 раз.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

ATM67 писал(а):Что то подобное я начинал программировать на VB, но забросил.
4. Вот здесь началась у меня засада, дело в том что кривая по "толщине" засвечивала несколько пикселей. Нужно было как то лишние отфильтровать. По цвету не получилось, по яркости?! :death:
Так будеть всегда, наверное нужно поставить порог яркости и если выше этого порога подсвечивается несколько пикселей, выделить пиксель средины засвеченного участка.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
ATM67
Станкостроитель
Станкостроитель
Сообщения: 609
Зарегистрирован: 12 ноя 2010, 01:00
Откуда: Набережные Челны

Сообщение ATM67 »

выделить пиксель средины засвеченного участка.
Такой метод пробовал, если их не четное количество получается "красиво", а вот с четным... или верхний или нижний?, не "красиво".
Надо придумать комплексный фильтр, чтоб по нескольким параметрам.
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

ATM67 писал(а): Такой метод пробовал, если их не четное количество получается "красиво", а вот с четным... или верхний или нижний?, не "красиво".
Надо придумать комплексный фильтр, чтоб по нескольким параметрам.
А при любом фильтре, если ты упрешся в четное количество засвеченных пикселов, вынужден будешь выбирать или правый или левый или верхний или нижний, т.е разрешающая способность(точность) в любом случае не будет лучше чем размер одного пиксела.
Оттого я и взял камеру с разрешением 1280x720, чтоб точность была повыше, 640х480 уже не катит :)
Хотя в принципе на заготовке размером со стандартный лист 640 строк - это уже хорошо, точность получается лучше 0,5 мм, обрабатывать тоже такой же фрезой придется.
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
ATM67
Станкостроитель
Станкостроитель
Сообщения: 609
Зарегистрирован: 12 ноя 2010, 01:00
Откуда: Набережные Челны

Сообщение ATM67 »

Оттого я и взял камеру с разрешением 1280x720, чтоб точность была повыше, 640х480 уже не катит
Я тоже об этом думал,
3. Вычитаем из первого кадра второй и получаем кривую рельефа.
Эта кривая почти траектория движения инструмента по "Y" и "Z".
И чтобы не сильно загружаться математическими расчетами, хотел жестко привязать пиксель с физическим движением инструмента. Например расстояние между соседними пикселями равна 0,5мм для станка или 1мм. То есть меняя этот параметр можно изменять маштаб.
Естественно Истинные программисты, не то что я любитель, смогут решить эти проблемы корректнее или направить на путь истинный.
Аватара пользователя
GFM
Станкостроитель
Станкостроитель
Сообщения: 234
Зарегистрирован: 11 ноя 2010, 01:00
Откуда: Татарстан, Альметьевск.

Сообщение GFM »

:) идея хорошая. Как выложите видео или фото-ряд попробую что нибудь напрограммировать. Хотя давно уже не занимался подобного рода проектами. Все в вычислениях, да в базах данных пишу.
Dj_smart
Смотрящий
Сообщения: 7565
Зарегистрирован: 28 авг 2009, 00:00
Имя: Юрий
Откуда: Украина. Межевая.

Сообщение Dj_smart »

Линия обоих светодиодов должна проходить строго по оси фрезы, вертикально.

Тогда как бы вы ни поднимали и не опускали ось Z, перекрестие лучей всегда будет находиться строго под фрезой.
Trudogolik, спасибо за идею:).
Глаза боятся, а руки делают!
Хостинг по CNC http://cncfiles.su/
Fyva
Станкостроитель
Станкостроитель
Сообщения: 982
Зарегистрирован: 01 сен 2010, 00:00
Имя: Владимир
Откуда: Украина

Сообщение Fyva »

ATM67 писал(а):Такой метод пробовал, если их не четное количество получается "красиво", а вот с четным... или верхний или нижний?, не "красиво".
Надо предварительно увеличить разрешение распознаваемого изображения (кадра) раза в 2-а, используя подходящий метод интерполяции (надо подумать, какой здесь подойдёт лучше). Тогда при "попадании" луча на чётное кол-во пикселей можно высчитать положение середины луча более точно (ну, здесь уже определиться, в какую сторону смещаться в таком случае).
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Dj_smart писал(а): спасибо за идею:).
Нема за шо. Только я кажется нарисовал левую часть рисунка неправильно, чето сам понять не могу как оно у меня там светит....
Извиние, мне что за мольбертом стоять, что в балете танцевать, все одно, чтото мешает :)
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
VVChaif
Начальник форума
Сообщения: 2438
Зарегистрирован: 26 авг 2009, 00:00
Имя: Виталий
Откуда: Краснодарский край. ст. Каневская
Контактная информация:

Сообщение VVChaif »

мне что за мольбертом стоять, что в балете танцевать, все одно, чтото мешает
Точно не то что другим...
религия наверно :ggg:
пп за офтоп...
Fyva
Станкостроитель
Станкостроитель
Сообщения: 982
Зарегистрирован: 01 сен 2010, 00:00
Имя: Владимир
Откуда: Украина

Сообщение Fyva »

Trudogolik, у Вас в изометрии перепутаны местами лазеры и лучи :tss: , а на виде сверху всё Ок.
Аватара пользователя
ATM67
Станкостроитель
Станкостроитель
Сообщения: 609
Зарегистрирован: 12 ноя 2010, 01:00
Откуда: Набережные Челны

Сообщение ATM67 »

Светить лучом наверное надо не поперек фрезе, а вдоль строго по центру.
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Так я так и объяснил, а вот нарисовал ... Хорошо, что поняли....
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Fyva
Станкостроитель
Станкостроитель
Сообщения: 982
Зарегистрирован: 01 сен 2010, 00:00
Имя: Владимир
Откуда: Украина

Сообщение Fyva »

Во:
Изображение
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Спасибо! Так и надо.

Вот видео сканирования плоским лучом, правда снято камерой не с того места откуда надо, но зато на столе хорошо видны линии "нулевой высоты"...
http://www.youtube.com/watch?v=QMoCkaeL67s
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
ChiS
Станкостроитель
Станкостроитель
Сообщения: 73
Зарегистрирован: 05 янв 2010, 01:00
Откуда: Красноярск

Сообщение ChiS »

В общем начал вечером эксперименты. Первый этап пройден, картинку с веб камеры беру, в принципе линию от лазера засекаю. Она в программе выделятся зеленым цветом. Лазер 650 нм
Изображение
Сама программа.
Скачать файл "3d.exe" с файлообменника cncfiles.su (530.5 кб)
Пара проблем конечно вылезла.
Синхронизировать веб камеру с шаговым будет невозможно. Точнее если привязаться к конкретной модели камеры, это можно в принципе сделать, если делать без привязки к марке веб камеры, то идет от неё поток, и нельзя её сказать, а "мне сейчас кадрик пожалуйста". Самое хреновое поток сильно запаздывает, и неравномерно. Так что о 25 кадрах в секунду можно забыть.
Веб камера имеет хреновое разрешение. Хотя на моей написано 2МП в режиме видео, больше 800*600 из неё не выжать. Кроме того веб камера очень сильно жмет картинку, часть спектра и часть разрешения теряется как раз, там где нам надо. => надо смотреть в сторону фотоаппаратов.
Лазер в <5 mW слабоват, можно работать только в тени. Линию из точки делаю с помощью круглой стекляшки, может затухание на ней сильное, но лазер с оптикой, отбывающего линию не встречался.
Аватара пользователя
ChiS
Станкостроитель
Станкостроитель
Сообщения: 73
Зарегистрирован: 05 янв 2010, 01:00
Откуда: Красноярск

Сообщение ChiS »

Интерес к теме ещё есть? Вывод сигналов step/dir и сохранение данных о "скане" дописывать? Если сохранять, то в каком формате?
Trudogolik
КУМ
КУМ
Сообщения: 6126
Зарегистрирован: 26 авг 2009, 00:00
Имя: Николай Иосифович
Откуда: Инта респ. Коми, 2000 км от Москвы на север!
Контактная информация:

Сообщение Trudogolik »

Интерес есть, только меня почти нет, что-то текучка заела, дохнуть некогда....
Моя страница для тех, кто ищет ЧПУ выжигатели: https://vk.com/club153912868

Самое ценное в этом мире - информация.
Мы рады предложить вам ее в подарок!
Аватара пользователя
Alex64
Станкостроитель
Станкостроитель
Сообщения: 20
Зарегистрирован: 10 апр 2010, 00:00
Откуда: Кемерово
Контактная информация:

Сообщение Alex64 »

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