3д сканер своими руками пошаговая инструкция

Внимание! Соблюдайте меры безопасности при работе с лазерным излучением. Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Профессиональный 3D-сканер — штука сложная и далеко не каждому нужная, а оттого довольно дорогая. А вот простенький аналог для оцифровки небольшого количества объектов можно сделать самостоятельно и с минимальными затратами денег и времени. Нам понадобятся: лазерный модуль, веб-камера, бумага, принтер, картон или лист фанеры, а также специальный софт. Разберём всё по порядку. Нам необходим лазерный модуль с лучом в виде линии (а не точки, как в некогда популярных китайских указках). Проще всего достать красные модули, но подойдут и зелёные, белые или синие. Стоят они в пределах тысячи рублей при покупке в офлайн-магазине. А если заказывать на какой-нибудь китайской интернет-барахолке, то можно немного сэкономить, но придётся ждать, пока его доставит (слоу-) почта.

Мы приобрели для эксперимента лазерный модуль с длиной волны 650 нм (красного цвета) мощностью 5 мВт. Более мощные лазеры стоят заметно дороже, и при этом они куда опаснее. Лучше, конечно, купить модуль с автономным питанием, так как он гораздо удобнее. В противном случае надо обязательно узнать параметры питания и озаботиться созданием небольшой «обвески» с батареями или аккумуляторами и выключателем. На всякий случай напомним, что красный провод — это +, а чёрный -. Соблюдайте полярность подключения и параметры питания, а иначе лазер может выйти из строя. Обязательно ознакомьтесь с нижеследующим предупреждением!

Внимание!!! Лазерное излучение очень опасно! Никогда не направляйте лазерный луч в глаза людям (в том числе себе) и животным — это может нанести непоправимый вред зрению (например, вызвать ожог сетчатки глаза)! Запрещается смотреть на лазерный луч через любые оптические приборы! Не направляйте лазерный луч на любые транспортные средства (в том числе самолёты)! Никогда не давайте лазер детям или неадекватным людям, а также позаботьтесь о том, чтобы они не смогли получить доступ к лазеру! Не используйте лазерные модули мощностью более 5 мВт, так как в этом случае опасность может представлять даже отражённый луч! В любом случае настоятельно рекомендуется приобрести для работы специальные защитные очки, рассчитанные на ту длину волны, которую излучает лазерный модуль! Не держите лазерный модуль на уровне головы! Всегда соблюдайте меры безопасности! Если вам непонятен смысл вышесказанного, не используйте лазер! Редакция 3DNews и автор не несут никакой ответственности за любые возможные последствия, в том числе за травмы, причиненные лазерным излучением!

Ещё раз прочитайте предыдущий абзац и запомните вышесказанное. Неплохо бы ознакомиться с популярным FAQ по лазерной безопасности. Кстати, отличной заменой модулю может стать лазерный уровень. Стоит он тоже в районе 1 000 рублей. При этом он заведомо менее опасен из-за небольшой мощности излучения, да и не придётся заморачиваться с организацией питания и выключателя: вставил батарейку — и работай.

Дальше по списку идёт веб-камера. Необходимо, чтобы она поддерживала WDM или DirectShow (кажется, все современные модели имеют подходящие драйверы) и выдавала хотя бы 30 FPS при разрешении 640×480. Можно взять камеру похуже, но и результат будет соответствующий. Чем выше поддерживаемое разрешение и частота кадров, тем лучше, но и нагрузка на ПК в этом случае будет заметнее. Разработчики используемого нами софта, к которому мы сейчас перейдём, рекомендуют отдать предпочтение Logitech Pro 9000. Мы же воспользовались веб-камерой Logitech HDPro Webcam 910. Идеальный вариант — использование хорошей чёрно-белой камеры с CCD-матрицей.

Наконец, о самом главном — о программе, которая будет заниматься переводом плоского изображения с веб-камеры в трёхмерную модель. Это давно известная утилита DAVID-Laserscanner, которая уже попадала в новостные заметки нашего ресурса. Совсем недавно вышел «мажорный», третий по счёту релиз. Для корректной работы на ПК должен быть установлен Microsoft .NET Framework версии 2.0 или старше. Сразу надо оговориться, что полноценная версия программы стоит 329 евро. Демоверсия практически полноценна, но не позволяет сохранять готовую 3D-модель. Кажется, нашим читателям не надо объяснять, где приобрести правильную версию. Если же вы кристально чисты душой и у вас есть свободные 400 евро, то купите готовый фирменный комплект из веб-камеры с подставкой, ПО, калибровочных панелей с креплениями и красным лазером с питанием. Если нет, то начать надо с изготовления калибровочного угла.

В принципе, процесс настройки и работы с утилитой хорошо расписан в wiki проекта. Так что мы лишь вкратце опишем основные этапы работы. Скачайте и установите DAVID-Laserscanner. В папке с программой в каталоге Printout вы найдёте файлы с шаблонами калибровочных поверхностей под форматы A3 и A4. Надо выбрать подходящий формат исходя из размеров сканируемого объекта. Примерно прикинуть можно, опираясь на то, что высота сканируемого объекта должна быть в 1,5-2 раза меньше высоты калибровочного угла. Распечатайте шаблоны, разрежьте или согните их по линиям сгиба и закрепите на двух плоских поверхностях — листах фанеры или картона, на стенах в углу комнаты, внутри коробки и так далее. В общем, включите фантазию.

Главное условие — угол между двумя плоскостями должен составлять 90 градусов и не меняться. Также надо следить за тем, чтобы распечатанные листы оставались гладкими и ровными, а на их поверхности не было ничего глянцевого. Разработчики, в частности, рекомендуют крепить распечатанные листы с помощью пластыря. Также важно не перепутать ориентацию листов. На распечатке надо измерить и запомнить длину (в мм) линии, подписанной Scale. В качестве примера мы будем сканировать небольшую фигурку совы. В этом случае подошёл шаблон формата А4, который был прикреплён к куску картонной папки с помощью степлера.

Когда угол будет готов, надо установить веб-камеру так, чтобы она смотрела точно на линию сгиба. Есть ещё один нюанс — между линией зрения камеры и сканирующим лазерным лучом должен быть как можно больший угол. Поэтому можно сделать так, чтобы камера смотрела немного вверх. Возможно, понадобится сделать небольшие подставки под сканируемый объект и саму камеру. Самое главное — необходимо обеспечить возможность жёстко закрепить положение камеры и калибровочного угла относительно друг друга после настройки и калибровки. Если вам не нужно текстурирование объекта, то веб-камеру надо сразу переключить в чёрно-белый режим.

Как только камера и угол будут установлены, можно приступать к калибровке. Запустите DAVID-Laserscanner, выберите в качестве источника видеосигнала вашу веб-камеру, а также установите режим её работы (разрешение и частоту кадров). Теперь перейдите к разделу Camera Calibration. Введите заранее измеренную ширину Scale и нажмите Calibrate. Если программа сразу выдала, что калибровка прошла успешно, то это очень здорово. В противном случае придётся играться с настройками камеры. Отключите различные «улучшалки» изображения, уберите автоматическую подстройку яркости и контраста, а также следящий автофокус. Если есть ручная фокусировка, то сделайте изображение круглых меток более чётким. Также придётся подобрать расстояние от угла до объектива и наклон камеры. Процесс калибровки может надолго затянуться, но, как только он завершится, сразу же аккуратно закрепите камеру и калибровочный угол и больше не трогайте их.

Перед каждым новым сканированием процесс калибровки придётся повторять. Теперь можно поместить сканируемый объект в угол (можно на подставку) и перейти в раздел 3D Laser Scanning. Объект должен находиться в центре изображения с камеры, а слева и справа обязательно должны быть видны части калибровочного угла. Чтобы убедиться в этом, включите лазер и наведите его на образец — на изображении должна быть видна линия как слева и справа, так и на самом объекте. Обратите внимание, что просканировать полупрозрачный или прозрачный образец не получится — его надо покрыть чем-нибудь вроде талька или матовой краской. Вообще, матовые объекты гораздо лучше подходят для сканирования.

Теперь надо затенить помещение (выключить источники света, зашторить окна). Ещё раз наведите лазер на образец. В это время на экране в идеальном случае вы должны увидеть только красную линию на чёрном фоне. Если это не так, то придётся ещё раз открыть настройки веб-камеры и поменять их. Но для начала стоит подвигать ползунок значения экспозиции (Exposure) влево-вправо. Ах да, не забудьте выбрать цвет лазерного излучения вашего модуля. Как только всё будет готово, можно приступать к пробному сканированию.

Переключите режим отображения на карту глубины (Camera Shows -> Depth Map). Аккуратно переместите лазерный луч в поле зрения веб-камеры. Луч должен быть по возможности горизонтальным, как можно более тонким, а сам модуль надо держать выше камеры. Поводите лучом вверх-вниз вдоль сканируемого объекта — и вы увидите, как программа с небольшой задержкой отрисовывает на экране его контуры в пространстве. Нельзя водить лучом слишком быстро, но и от слишком медленного перемещения толку не будет. Старайтесь «закрасить» образец как можно более плотной сеткой линий. Также надо добиться того, чтобы не было «грязи» — лишних линий вокруг объекта. Лучше всего держать лазерный модуль в руке и при этом двигать его только кистью. В конце надо будет аккуратно вывести линию луча за пределы калибровочного угла.

Скорее всего, вам удастся добиться чистого сканирования далеко не с первого раза. Поэкспериментируйте с настройками камеры и самого сканирования, положением камеры и лазера, освещением, фильтрацией (Result filtering, но эти значения лучше не менять) и так далее. В общем, надо как следует набить руку. Зато потом всё будет гораздо проще. Как только вы освоитесь и подберёте оптимальные значения для всех параметров, приступайте к финальному сканированию. Нажмите Stop и Erase, а затем снова Start и сделайте первый скан объекта. Как только он покажется вам достаточно качественным, нажимайте Stop, а затем Add to list. На всякий случай сохраните отдельно копию скана, нажав Save As.

Снова нажмите Stop и Erase. Поверните объект вокруг вертикальной оси так, чтобы он хоть немного пересекался с предыдущим положением. Повторяйте таким образом процедуру сканирования до тех пор, пока объект не повернётся на 360 градусов. Не забывайте сохранять копии сканов и добавлять их в список. В принципе, совсем не обязательно поворачивать образец вокруг одной из осей (иногда это просто невозможно), просто так будет удобнее. Ваша задача — получить трёхмерные сканы объекта со всех сторон, чтобы слить их воедино и экспортировать.

Процесс текстурирования оставим для самостоятельного изучения и перейдём к сшиванию, за которое отвечает модуль Shape Fusion. Можно сделать это и вручную почти в любом трёхмерном редакторе. DAVID-Laserscanner сохраняет сканы в открытом формате Alias Wavefront (*.obj), но в демоверсии специально занижает качество. У вас уже должен быть готовый список с отсканированными элементами. Нам надо выровнять их между собой. Выбираем тип выравнивания в списке. Если вы «крутили» объект вокруг одной оси, то выберите её. Ну а если ещё и поворачивали на строго определённый угол, укажите и его. Затем нажмите Align Scans и выберите в списке два соседних скана. Программа ненадолго «задумается» и постарается выровнять их между собой в паре-тройке вариантов. Выберите наиболее точный кнопками с закруглёнными стрелочками в верхней части окна.

Повторяйте процедуру выравнивания попарно между элементами списка — 1-2, 2-3, 3-4 и так далее. В результате вы получите грубую трёхмерную модель. Не исключено, что некоторые сканы никак не будут выравниваться — их можно выкинуть или начать совмещение с конца списка, постепенно подбираясь к проблемному месту. Можно попробовать выбрать для них другой тип выравнивания. Не обращайте внимания на «грязь» вокруг объекта и недостатки на его поверхности — программа их в итоге сгладит. В общем-то, чем больше сканов, тем качественнее может получиться модель. Но тогда возрастает и вероятность случайной ошибки. Здесь, как и c самим сканированием, приходится идти трудным путём проб и ошибок.

Как только вы посчитаете, что добились нужной степени совмещения сканов, нажимайте кнопку Fuse и ждите, пока программа подготовит трёхмерную модель. Как и выравнивание, этот процесс довольно ресурсоёмкий. Очень скоро вы сможете насладиться (или, наоборот, разочароваться) результатом своих действий. Кстати говоря, у DAVID-Laserscanner есть альтернативный режим работы, где используется проектор. Если он у вас есть, то можете поэкспериментировать именно с ним, а не с лазером.

Готовую модель можно экспортировать в тот же obj-формат и открыть в 3D-редакторе для окончательной доводки до ума и подготовки к печати. Естественно, точную копию сканируемого объекта получить не удастся. Во-первых, DAVID-Laserscanner особенно трудно даются различные хитрые выемки или полости. Во-вторых, для воспроизведения очень мелких узоров на поверхности (например, частой насечки) требуется высокое разрешение камеры и как можно более тонкая линия лазера. В-третьих, при сканировании в любом случае получаются пропуски, которые программа пытается заполнить, основываясь на положении близлежащих точек. В общем, идеал, как всегда, недостижим.

Готовая, максимально сглаженная модель

Помимо этого, есть очевидные ограничения на размер сканируемых объектов. Слишком мелкие не будут получаться из-за относительного малого разрешения сканирования, а для очень крупных надо изыскивать соответствующих размеров место для установки калибровочного угла. Кроме DAVID-Laserscanner есть и другие программные комплексы со схожим принципом работы. Правда, зачастую они требуют наличия дополнительных приспособлений для вращения объекта или перемещения лазера. Тем не менее даже описанная выше самодельная конструкция может сэкономить массу времени неопытным 3D-моделлерам. Так что пробуйте, экспериментируйте и у вас обязательно всё получится! Удачи!

Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

Время на прочтение
9 мин

Количество просмотров 205K

Профессиональный 3D-сканер, с помощью которого можно оцифровать реальный объект, получив его компьютерную модель, стоит десятки тысяч долларов. Мы же сможем провернуть то же самое с помощью специальной программы, лазерной указки и веб-камеры. Всего долларов за тридцать.

О 3D-сканировании

Многие сферы нашей жизни немыслимы без трехмерной графики. Огромная армия 3D-моделлеров (или попросту 3D’шников) ежедневно создает модели, которые потом успешно используются в самых разных областях, начиная от кинематографа, рекламы, промышленного производства, архитектуры и заканчивая бог знает чем еще. Любой человек, занимающийся моделированием, рано или поздно сталкивается со следующей задачей: нужно создать модель того, что уже существует в нашем трехмерном мире. Это может быть что угодно. Например, модель-прототип, которую на твой стол положил заказчик и попросил сделать «точно так же, только в компьютере». Причем смоделировать нужно не просто чтобы «было похоже», а чтобы объект-прототип и трехмерная модель были как близнецы-братья, разделенные экраном компьютера. Так случилось и со мной. Выполняя очередной заказ по моделированию, я столкнулся с очень жесткими требованиями по соответствию моей модели образцу клиента. После энного безуспешного согласования стало ясно, что в этот раз нужна абсолютная точность модели. Во всяком случае клиент был уверен, что в противном случае если и не наступит Армагеддон для всего человечества, то по крайней мере случится что-то похожее. Что мне оставалось делать? Попробовать, наконец, 3D-сканирование! Я тогда еще подумал: «Это же моделирование для ленивых». Минута дела — и всё, модель готова! К моему великому удивлению (и разочарованию), оказалось, что даже самый простенький 3D-сканер стоит больших денег. Вернее говоря, очень больших. Чтобы его купить, я должен был умножить стоимость этой модели на число с пятью нулями. Но раз нельзя купить, значит, будем делать сами. Ниже я хочу поделиться с тобой опытом, как можно собрать 3D-сканер своими руками. Я не только расскажу, какие компоненты и где купить для этого, но и как этим сканером пользоваться.

Что нам понадобится?

Смастерить свой 3D-сканер, как оказалось, можно буквально из подручных материалов: нам потребуется специальная программа, лазерная указка, веб-камера, а также некоторые самодельные приспособления.

Специальный софт. Самой важной частью сканера, в том числе дорогостоящего профессионального, является его мозг — программное обеспечение, которое выполняет оцифровку. То, что необходимо нам, — это инструменты, которые позволяют сканировать/оцифровывать трехмерные объекты с помощью подручных средств: веб-камеры и лазерная указка. Таковыми являются DAVID-laserscanner и TriAngles, доступные для свободного тестирования, но с некоторыми ограничениями. Последний имеет довольно неприятное ограничение: для его работы необходим равномерно вращающийся столик, на котором будет располагаться сканируемый объект. К тому же предъявляются суровые требования к самому объекту. Его форма должна быть близка к цилиндрической, а еще лучше — сферической. DAVID-laserscanner подобных требований не предъявляет, поэтому я выбрал его. Несмотря на то что программа платная и ее стоимость колеблется от 199 до 229 евро, тестировать ее можно сколь угодно долго — лимитов по времени нет. Единственное ограничение заключается в особенностях сохранения результатов сканирования. Сохранить сканы можно, но в низком качестве. Впрочем, на просторах Сети иногда случаются чудеса, и если тебе удастся найти версию DAVID’а, которая сохраняет в высоком качестве, значит, ты сэкономишь и на этом. А кто ищет — тот всегда найдет.

Веб-камера. Параметры объекта, необходимые для составления объекта, программа считывает с помощью веб-камеры. Она, возможно, у тебя есть. Если так — прекрасно, можешь попробовать провернуть всё с ней. Главное, чтобы разрешение было не меньше 640 х 480. Есть и другие требования: наличие ручной фокусировки (возможности отключать автофокус), минимум шумов при высоком разрешении, качественная линза камеры — линза не должна давать сильных искажений. Камера должна подключаться к USB-порту и работать на WDM-драйверах (т. е., попросту говоря, должна быть видна для выбора в программе DAVID). Большинство современных веб-камер удовлетворяют этим требованиям, но проверить их совместимость с DAVID можем только мы с тобой, поэтому доверимся рекомендациям создателей программы во избежание всяких неожиданностей. Из дешевых камер сам разработчик рекомендует Logitech WebCam Pro 9000 with cam holder, которую можно купить долларов за сто. Я же успешно выполнял сканирования моей Logitech С270 стоимостью около 35 долларов.

Настраиваем сканер

Лазерный модуль. Для работы сканера необходим компонент, который будет давать линию. Именно линию, а не точку. Это важно! На форумах я прочел, что подойдет обычная китайская лазерная указка, но это не так. Как бы быстро ты ни водил рукой, вооруженной лазерной указкой, это всё не то. Чуть позже я объясню почему. Сейчас важно одного — нужен сканер, который дает линию. Красный, зеленый, синий — цвет сканера неважен. Вообще можно обойтись и без сканера, воспользовавшись альтернативными решениями (читай во врезке). Но лазерный модуль — это совершенно точно самый простой и доступный вариант. Я приобрел модуль красного лазера 650 нМ с фокусировкой линии мощностью 5 мВт, он стоил 25 долларов. Такой можно купить где угодно, например в хозяйственном магазине или через Инет, как это сделал я (кажется, в www.greenlaser.com.ua). Модули большей мощности (до 20 мВт) не рекомендую приобретать, так как их использование целесообразно в очень редких случаях. Есть готовые модули с автономным питанием — если найдешь, то купи лучше такой. Мне же для своего лазерного модуля пришлось создать небольшую оснастку, чтобы было удобно держать в руке, включать/выключать. Запитал я его обычной кроной 9 В: красный провод «+», черный «-»: если наоборот, то будет греться и, как результат, выйдет из строя раньше времени.

Калибровочный угол. Ориентироваться в пространстве, получая возможность считывать параметры изображения, позволяет программе специальная приспособа — калибровочный угол. Не бойся, это самый дешевый компонент, представляющий собой два листа со специально нанесенными маркерами, которые нужно расположить под углом 90°. После установки DAVID’а ты найдешь файлы в формате PDF или CDR в корневом каталоге, например “Calibpoints_Scale30_DIN_A4.pdf”. Или с аналогичным именем, но в формате CDR для печати из CorelDraw. Выбери тот файл, название которого соответствует формату бумаги, на которой ты собираешься печатать. Вообще советую исходить от размера сканируемого объекта. Не стоит делать большой угол, если ты собираешься сканировать маленькие объекты. Для начала вполне подойдут калибровочные листы формата А4. Сложнее закрепить их под правильным углом. Свой первый угол я сделал так — просто согнул белый гофрокартон, закрепил его на основе, после чего прикрепил стык в стык калибровочные листы. Лучше их не клеить, так как листы станут волнистыми — это недопустимо. Вместо этого можно аккуратно прикрепить их по краям скотчем. Должен сказать, что после первых же сканов стало понятно, что угол не идеальный. Поэтому пришлось всё переделать: я соединил два куска ДСП, скрепив их уголками. Получилось хорошо: угол 90°, поверхность идеально ровная — всего этого нельзя было бы добиться с гофрокартоном. Словом, тут есть множество вариантов.

Сканирование: со светом и без

Создаем модель

Теперь самое интересное — приступаем к самому́ процессу сканирования. Оглянись вокруг: в комнате наверняка найдутся какие-нибудь сувениры или статуэтки — для экспериментов подойдет любой небольшой объект. Что точно не годится, так это прозрачные или полупрозрачные предметы. Луч лазера должен отражаться, а не поглощаться предметами. Создатели DAVID’а рекомендуют в таких случаях покрывать предметы тальком или, если не жалко, аэрозольной краской. Я не утруждал себя и взял несколько статуэток. Условно в процессе сканирования можно выделить четыре этапа, расскажу о каждом подробнее.

1 этап. Калибровка. Это предварительный этап, поэтому объект для сканирования пока отложим в сторону. Закрепи веб-камеру напротив калибровочного угла таким образом, чтобы все компоненты были неподвижны относительно друг друга. Камеру стоит расположить на уровне нижнего края калибровочных листов. Во время калибровки камеры изображение должно быть ярким. Я выполнял сканирование вечером или днем, но с затененным окном, а калибровочный угол освещал искусственным светом. Сама калибровка осуществляется в DAVID-laserscanner. Выбираем из списка устройств нашу веб-камеру, настраиваем изображение: повышаем яркость, контраст. В результате на экране видны только черные маркеры. Жмем кнопку «Калибровать камеру». Если всё сделано правильно, программа поздравит тебя, что калибровка прошла успешно. В противном случае можно попробовать изменить положение веб-камеры, поиграться с яркостью и контрастом. У меня получилось не с первого раза, но потом радости было как после первой сданной сессии!

2 этап. Размещение объекта. Для сканирования необходимо расположить объект в углу калибровочного угла. Для лучшего результата он должен быть приблизительно посередине калибровочных листов. Если его размеры небольшие, можно использовать подставку: коробку, книги, деревянный брусок подходящего размера. Укажи программе тип используемого лазера. Далее тушим свет! На экране должно быть темно. Если не так — понижаем значения яркости. Не пугайся, если маркеров не видно: программа запомнила их расположение, и теперь они нам не столь важны. Включи лазер и направь его на угол чуть выше нашего предмета. На экране должна появиться ломаная белая линия (программа анализирует черно-белое изображение). Расстояние между камерой и плоскостью лазера (т. е. триангуляционный угол) должно быть настолько большим, насколько это возможно, — это нужно для большей точности. Иначе ты увидишь предупреждение: «Угол пересечения слишком мал». В начале статьи я отговорил тебя от использования точечной лазерной указки, и вот почему. Даже быстро водя точечной указкой, ты не только не получишь ровную линию, но и программа не сможет посчитать величину триангуляционного угла.

3 этап. Сканирование. Процесс сканирования начинается после нажатия кнопки «Старт». Необходимо провести по объекту лучом вниз-вверх несколько раз, чтобы программа через веб-камеру считала параметры объекта. Тут есть важный момент: нужно поворачивать кисть с лазером, а не опускать руку! Скорость не важна, но не старайся делать это очень быстро. При сканировании я чаще смотрел не на объект, а на экран, глядя, как программа анализирует форму предмета, вырисовывая на экране цветные линии. Смотреть на экран удобнее по двум причинам. Во-первых, если линия лазера не будет видна с обеих сторон предмета или недостаточным будет триангуляционный угол, программа сразу выдаст сообщение (и ты сможешь это исправить). Во-вторых, смотреть на лазер утомительно для глаз из-за высокого контраста между черным фоном и ярким лучом. Пройдя по предмету лучом вниз-вверх столько, сколько потребуется, жмем кнопку «Пауза». Теперь можно сохранить результат сканирования в отдельный файл с помощью кнопки «Сохранить». Есть другой вариант — сразу передать изображение для последующего сшивания с другими сканами, нажав кнопку «Перенести». При нажатии «Перенести» скан передается на следующий этап (склейку) без сохранения в файл, но текущий этап мы не покидаем и можем повторить сканирование, изменив положение объекта (не забудь перед новым сканированием нажать на кнопку «Стереть»). Тут важно понимать: для создания модели необходимо сделать несколько сканов. Для простых предметов тебе будет достаточно поворачивать объект, например, на 45º. Если поверхность предмета сложная, то потребуется сканировать его с разных сторон и лишь потом сшивать сканы. Еще один важный момент: сканы обязательно должны перекрывать друг друга, чтобы программе было легче анализировать их.

4-й этап. Сшивание форм. Последний шаг перед получением модели — это склейка сканов. Если ты не сохранял сканы, а передавал их на склейку с помощью соответствующей кнопки, то можешь приступать к сшиванию сразу. В противном случае жмем кнопку «Добавить» и загружаем ранее сохраненные файлы. Процесс сшивания можно разделить на два этапа: стыковка сканов и собственно сшивание. Выбирая попарно сканы, ты указываешь программе на метод стыковки. DAVID справляется с этим очень даже замечательно при условии, что есть чему стыковаться — сканы должны перекрывать друг друга. Если лоскуты не перекрываются, тебе придется вернуться на предыдущий этап и осуществить сканирование из тех положений объекта, которые дадут такое перекрытие. Выполнив стыковку для всех сканов, жмем на кнопку «Сшить». В зависимости от выбранных настроек через несколько секунд мы увидим результат сшивания всех сканов в единую модель. Жмем кнопку «Сохранить». Теперь можно загрузить нашу модель в ZBrush или Mudbox и довести ее до совершенства. Модель готова!
В программе TriAngles благодаря вращению предмета формирование оцифрованной поверхности происходило бы автоматически, это ее преимущество перед DAVID’ом. Но как бы она справилась с формированием поверхности в «мертвых» зонах? Думаю, никак. Либо в этих местах мы бы получили погрешность. Мы же хотели получить модель как можно более точную. Поэтому дополнительные действия по сшиванию сканов будем считать необходимыми издержками.

Дорабатываем готовую модель в 3D-редакторе

Вместо заключения

Собрать 3D-сканер, который будет выдавать более чем приличный результат, вполне возможно дома. Надеюсь, ты в этом сможешь убедиться. К сожалению, для сканирования маленьких объектов (а мне нужно было создать объекты для ювелирных изделий) нужна очень хорошая USB-камера c CCD-матрицей, которой у меня нет (она достаточно дорогая), поэтому мой опыт так и остался опытом: применить его на деле для сканирования ювелирных изделий не получилось. Но я испытал незабываемое удовольствие, получая полноценные модели самых разных объектов с помощью сканера, который был собран буквально на коленке.

Самодельный 3D-сканер позволяет получить неплохой результат


Если нет лазера

Для 3D-сканирования объекта можно обойтись и без лазера (я не шучу). Подойдет проектор с мощной лампой, свет которой нужно направить сквозь узкую щель на сканируемый объект. Получим узкую белую линию — чем не белый лазер? Правда, помимо проектора (который не дёшев сам по себе) нужна еще и серьезная оснастка для удержания проектора в нужном положении. Это геморройно. Можно пойти от обратного — направить яркий свет, а по объекту провести тенью от натянутой нити: такое тоже предусмотрено разработчиками программы. В этом случае программа может инвертировать обрабатываемую картинку. Однако что-то мне подсказывало, что это не даст хорошего результата.


На сайте разработчика www.david-laserscanner.com есть прекрасное руководство на русском языке. Прочти его обязательно! Там очень подробно описаны и требования к оборудованию, и последовательность сканирования, и разные нюансы, которые могут у тебя возникнуть.


image
Журнал Хакер, Октябрь (10) 153
Эдуард Гузь
.

Полистать этот материал в журнальной верстке можно здесь.

Подпишись на «Хакер»

  • 1 999 р. за 12 номеров бумажного варианта
  • 1249р. за годовую подписку на iOS/iPad (релиз Android’а скоро!)
  • «Хакер» на Android

Introduction: DIY Budget 3D Scanner V3

Hey guys, it has been a while I didn’t publish any instructables. This time, I brought to you guys one of the project I made back in Feb 2019. The version 3 Budget 3D Scanner!

If you wonder where is the v1 and 2 goes, here they are:

https://www.instructables.com/id/Ultra-Low-Cost-3D…

So, lets get started!

Step 1: Prepare the Sketches

First of all, before making any prototype, you need a sketch. This is the sketch that I designed for this project, (And also for a competition in which I joined).

So, why DIY a 3D Scanner again?

First, 3D scanners are still expensive now and we think: Maybe we can make a better one this time with a better resolution and quality?

Moreover, in the previous build (v1 and v2), we do not develop our own algorithm to clear up those scanner data. This time, I have paired up with a programming genius and he help me to work on the post-processing script. More information in the software / post processing steps.

Step 2: 3D Modeling / Rendering

Next, we will need to make our design into a 3D model so we can 3D print it using a 3D printer. The software I used is Autodesk Inventor, but you can use whatever 3D modeling tool you used to. Here are some renders of the 3D models I designed (and tested).

Step 3: 3D Model (download)

All the stl files are included in this step. If you want the original ipt file in which you can edit with Autodesk Inventor, you can find them here:

https://github.com/tobychui/The-3D-Scanner-Project…

Please see the attached two image regarding the parts location with filename and how to connect them together.

Step 4: Z Pulley System

To move the scanner head up and down, you will need to build a pulley system. Here are some references model for building your own if you do not have any injection molded parts for build this system. However, as 3D printed parts are not that smooth by default (without acetone processing of course), I would recommend that you go with alternative solutions. Or otherwise, you can go with the models that I provided.

Tips: Adding some oil on the joints and connectors will help smooth out the motion.

Step 5: Scanner Head Assembly

So here comes the fun part. The scanner head is actually modular. What it means is that you can swap out the scanner head for another scanner by simply unscrewing two screws that hold the scanner module in place from the Moving block.

For your reference, I uploaded a blank head mount 3D model for you guy. But here is the point to be noted.

SCANNER MUST ALIGN 90 DEGREE FROM THE SLIDING TRACK

It means that it would be better to modify the file and print a mount that is 90 degree to the Z axis (aka up down axis) instead of just hot glue the scanner in place. This will greatly reduce the scanning accuracy if it is not correctly aligned. (Well, my friend Andy did made some software compensation algorithm in his model building script. But the result is not as good as correctly aligned sensor so please don’t make the mistake I made before :) )

Step 6: Arduino and Electronics

Now, we can move on to the Arduino part. The Arduino part is kind of simple. What you need is an Arduino UNO and two stepper drivers. The one we are using are those cheap driver from ebay (due to competition budget limitation). The idea is that you drive two stepper motor in which one move the scanner head up and down with another one rotate the platform. You might also want to design and print an enclosure for the electronics. Here is some progress that I made during building my scanner.

Please reference the code for pin arrangement. If you are using VL53L1X ToF Sensor as the scanner head, please use firmware 2.2. If you are using SHARP GP2D12F Infrared distance sensor, please use the 2.3 version.

*** The firmware take in custom designed Gcode. See dev doc.pdf for more information.

Step 7: Finished Product (Hardware)

So now, your 3D scanner is finished!

To use it, plug the Arduino into your computer using a USB cable, start the serial monitor from Arduino IDE and enter G93 (Start Scanning). Wait for the scan procedure to complete and copy and paste the result into a txt file. The txt file can be used for further processing.

If you do not know anything about programming, this is the end of the Instructable. Congratulation!

But if you want to go a bit further into how the build a 3D model out of the scanned data, please continue to the next page.

Appendix: All Supported G-Code command
G28 → Sensor Home (Default)

G93 → Start Scanning

G94 → Calibration (Please put the calibration board in the center position of the scanner platform before using this command)

G95 → Sensor Home (Top), Moving the sensor to the top value preset)

G96 → Platform Check (Perform a full rotation as speed 60rpm)

G97 → Sensor Read (Get the current value from sensor)

DEFAULT → reply with “[info] Echo: ”

Step 8: Well, It Started to Get a Bit Complicated

For starters, here is how the 3D scanner works.

The rotating platform serve as the moving X-Y plane in which allow the scanner to scan position on the x-y plane.

The slider that move up and down help the scanner to scan the object in Z axis. Together, we will get 3 outputs. Lets denote it by a,b,c. To convert it x,y,z in which we usually used, we need to do some simple maths.

a := The distance read from the distance sensor

b:= The rotation angle of the platform

c:= the height of the sensor on the sliding platform

To convert a into distance (d), we can do the following. Denote the distance from the scanner head to the center of the rotating platform as r.

d = r — a

If your platform rotation is 0 degree, then that d is your location with (x,y) = (-d, 0). But if your platform is rotated, you can find the x,y rotation angle with some trigonometry as well. Denote the angle as Theta ( in degree).

Then, you get Theta = (steps rotated / total number of steps per rev ) * 360 degree

The rest of the math involve sin cos or tan which you should have known in high school. So lets us skip those parts :)

And the z location is even simpler. Just divide the height in steps by the steps to height ratio of your pulley system. (aka How many steps is needed to move the head upward / downward by 1 cm).

Step 9: Calibration Using Differentiation and Formula Deduction

So, this is not my expertise so I will leave this part to my friend’s power point to explain how it works.

(Please see the image attached).

Step 10: Post Processing Software

So for easy to use and experiment, here is the python script that he wrote as a proof of concept.

https://github.com/tobychui/The-3D-Scanner-Project…

Original Github repo (A little messy with a wrong title):

https://github.com/tamyiuchau/Budget3dPrinter

Step 11: Thanks for Reading (and Other Materials)

Thanks for reading this instructable. If you want further information, feel free to ask in the comment section below or contact us via Github.

You can read more about the project by going through our power point presentation file and some trial scan data if you want to.

See you in the next instructable :))

Самый первый вопрос будет к администрации, почему нет рубрики ‘3d-Сканирование’?

Второй вопрос будет к сообществу и продавцам : почему информации об устройствах, которые стоят как пол машины (а в некоторых случаях и дороже) настолько мало в интернете? Если она и существует, то в основном на англоязычных форумах, далеко не каждый человек способен адекватно воспринимать разговорный/сленговый английский. Поэтому я столкнулся прежде всего практически с полным отсутствием информации на этот счет. Частично меня спасла данная статья и я даже спсиался с автором по скайпу и он мне разъяснил достаточно много вещей, но потом он уехал в длительный отпуск и я остался один на один со своим колхозом, который выглядел в первом исполнении вот так:

SLS сканер своими руками

За основу был взят проектор ACER p1500 имеющий разрешение FullHD, насколько мне известно, то этот проектор используется в некоторых дорогущих сканерах (не будем упоминать названия), штатив для фото/видео аппаратуры, уголок 10*40, вэбка (о ней будет подробнее чуть ниже). Самый доступный софт для всего этого дела это конечно же DAVID, благо есть бесплатная версия с некоторым ограниченным функционалом.

К выбору камеры надо подходить осторожно, прежде всего надо обратить внимание на наличие автофокуса, его не должны быть, либо он должен быть отключаем, либо он должен настраиваться в ручном режиме, именно по последнему пункту я выбрал Defender G-lense hd 720, но, как уже позже выяснилось это был единственный плюс в ней, программная начинка и софт не выдержали даже первого испытания:

SLS сканер своими руками

Конечно я был ошарашен таким сканом :) Пытаться настраивать что-то на этой вэбке вообще бессмысленно и я очень расстроился выкинутым на ветер 2000 рублей, потом вспомнил, что у меня где-то валялся Logitech c270 от совершенно бесполезной сборки сканера BQ, с ней дело пошло веселее и первый вменяемый скан собранный в кучу получился вот таким:

SLS сканер своими руками

SLS сканер своими руками

Результат уже значительно лучше, а все дело в софте, который идет с камерой, у Logitech присутствует достаточно настроек, одна экспозиция чего стоит, которая решает проблему с мерцанием. Но у нее был один минус, фокус был настроен на заводе от 40 см и до бесконечности, что явно мне не подходило. В инете нашел информацию, чтобы его можно сделать регулируемым, надо лишь разобрать и сорвать резьбу с клея, на который приклеена линза. Полный энтузиазма превратить камеру с регулировкой фокусного расстояния я ее стал разбирать, легко дошел до места, где линза была подклеена и стал ее пытаться сдернуть с приклеенного места……………….сердце екнуло от того, что линза лопнула от такого нахальства и стала не пригодной для дальнейшего использования. Вот тут я взгрустнул по полной, потому как остался вообще без нормально работающей вэбки :cry: Пошел с горя пить чай. Вернувшись на рабочее место меня посетила просто гениальная мысль: а что если сделать франкештейна ? Разобрал нафиг Defender, посадочные места оказались несколько разными, но меня это не остановило и я таки срастил чужеродные элементы. О, чудо, у меня появилась новая вэбка с нормальным софтом и регулируемым фокусом (кстати линзы у Defendera больше по размерам). Первый приемлемый результат не заставил себя долго ждать:

SLS сканер своими руками

SLS сканер своими руками

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

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

SLS сканер своими руками

Можете заметить, насколько не родной объектив не гармонирует с корпусом :)

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

SLS сканер своими руками

SLS сканер своими руками

SLS сканер своими руками

Я был несколько озадачен данным явлением, конечно пришлось помучатся и найти пока один способ, как это исправить, это тупо разбить скан на две части и каждую подгонять по своему участку, тогда это смещение уходит, но меня терзают смутные сомнения, что может происходить геометрическое искажение объекта в таких случаях, так как неизвестно, какая из точек находится в правильном положении. Вообщем это пока моя главная проблема.

Также я пока не до конца осознал еще одну вещь — можно ли менять в процессе сканирование расстояние до объекта, то есть можно ли проектор ставить к объекту ближе или дальше, или же поднимать над объектом или опускать ниже, чтобы достать до нужных мест при сканировании, вообщем этот вопрос остается открытым…

Вот что получатся с модернизированной вэбкой:

SLS сканер своими руками

SLS сканер своими руками

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

Ради интереса зашел посмотреть, сколько стоит родная камера David, почти 700 баксов, даже не знаю, есть ли смысл покупать такую камеру, с нынешним курсом это совсем не бюджетно.

Добавлено в закладки: 6

Ciclop 3D Scanner by bqLabs

http://www.bq.com/gb/products/ciclop.html
http://diwo.bq.com/en/ciclop-released-2/
Код прошивки https://github.com/bq/horus-fw
HEX прошивки http://diwo.bq.com/en/horus-fw-released/
Заливка Хекса прошивки http://russemotto.com/xloader/

Опыт постройки Циклопа “3D-сканер Ciclop – дьявол в мелочах!”

Картинки и видео смотрим на Thingiverse

3D Циклоп

Что нужно для сборки

  • Контроллер Arduino Nano (Original ATmega328P FTDI)
  • Веб камера Logitech C270
  • Два лазера 650nm 5mW Red Laser Line Module (12х36 мм)
  • Драйвер шагового двигателя A4988
  • Шаговый двигатель Nema 17 (1.7А 1,8 град/шаг) не длинее 40 мм
  • Конденсатор 100 Мкф 35В
  • Резистор 10К
  • Блок питания 12В 1,5А
  • Шариковый подшипник 16014
  • ?200 x 8 мм круглая база. Может напечатать из трёх частей?
  • ?200 мм нескользящее покрытие
  • Шпильки М8
  • Гайки М8
  • Шайбы М8
  • Винты и гайки М3
  • Напечатанные пластиковые детали
  • Прямоугольный шахматный паттерн (контур pattern-surface.dxf)

Пластиковые детали

Посадочное отверстие под лазеры должно быть диаметром 12 мм.

Теперь нужно по умному разделить деталь camera-holder.stl

Почистил ее от поддержек. Порезал на три части под скрутку винтами M3x10. Скачать архив с stl моделями.

Bottom Center Top

Общая схема подключения драйвера шагового двигателя

A4988_

Подключение к Arduino Nano

Лазеры подключаем D2+GND, D3+GND

Arduino Nano 3

Общая схема сборки 3D сканера Циклоп

Ciclop - 3D scanner - Google Chrome 2015-04-18 13.09.50

Подробные картинки смотрим на Thingiverse

Сборка столика

3 – М3х10 винт 5 штук
4 – М3 гайка 1 штука
6 – М8х30 болт 3 штуки. Вкручивается в диск (10). Можно взять винт М8 “в потай” и вкрутить сверху вниз, затянув внизу гайкой.

Установка и фиксация лазеров

2 – М3х10 винт фиксации корпуса лазера, 2 шт
3 – М3 гайка 2 штуки
4 – Лазер 2 штуки

Сошпиливание

1 – М8х400 резьбовая шпилька 2 штуки
2 – М8 гайка 28 штук
3 – М8 шайба 18 штук. Прокладывается между гайкой и пластиковой деталью
4 – Кабельканал. Можно заменить изолентой
5 – М8х292 резьбовая шпилька 1 штука
6 – М8х170 резьбовая шпилька 4 штуки. Держат лазеры. Думаю разумнее здесь ставить более тонкие шпильки
7 – Кабельканалы 3 штуки. Можно заменить изолентой или термоусадкой

Сборка холдера шахматного паттерна

2 – М3 гайка 2 штуки
3 – М3×10 винт 2 штуки
4 – картонка-фанерка
5 – шахматная бумажка-наклейка. pdf, svg

Видео сборки

Пока сам не начал собирать мне кажется, что этого достаточно для сборки :)

Сборка

IMG_6653

IMG_6648

Брутальный подшипник

IMG_6743

Примерка

IMG_6769

IMG_6770

Наклеиваю кожанку на столик

IMG_6806

Паяю проводки на драйвере

KAY_3003

IMG_6888

IMG_6886

Заливаю HEX прошивки и “о чудо” она заливается.

Xloader v1.00 2015-06-24 20.40.14 Xloader v1.00 2015-06-24 20.40.57 Xloader v1.00 2015-06-24 20.41.21

COM порт в Хорусе пришлось вписать вручную, так как автоматически определяет неверно (определяет Мегу от 3D принтера) и выбор не предоставляет.

Вот такой получился сканер. Теперь можно переходить к настройке.

IMG_6938

Обсуждение статьи на форуме.

Понравилась статья? Поделить с друзьями:
  • Экофуцин свечи цена инструкция по применению в гинекологии
  • Креон 250000 инструкция по применению цена отзывы аналоги
  • Инструкция по охране труда при работе на стиральной машинке
  • Цефтриаксон инструкция как разводить для собак
  • Gv edge recording manager инструкция на русском