Pull to refresh

Свой собственный 3D-сканер

Reading time3 min
Views63K
Original author: Dentroman765
Моя цель была сделать полнофункциональный сканер, который сможет делать компьютерные 3d модели.
При этом я не хотел тратить на всё это больше $20. Правда, я не считал стоимость материалов, но всё-равно получилось не дороже $100.

image

Подготовка


Для того, чтобы найти точки в 3D пространстве, существует несколько способов.

Простейший из них — это использовать 3 числа, чтобы описать позицию одной точки по отношению к другой.
Этот способ используется большинством компьютерных моделей.

Другой способ — использовать 3 плоскости или плоскость и линию.

Как видите, проще всего пользоваться третьим способом, а потом привести его результат к первому.

Однако возникает вопрос, как найти плоскости и её точки?

Как оказалось, первое реализуется аппаратной частью, а второе программным обеспечением.

Аппаратная реализация


image

Сначала я люблю объяснить основную идею, а затем переходить к реализации. Это поможет вам находить свои собственные решения.

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

Хотя многие используют для этого нахождение краёв тени, я решил пойти другим путём.

Я нашёл у себя очень яркий зелёный лазер (можно использовать лазер от обычной лазерной указки, если у вас нет такого).

Лазер я направил через цилиндрическую линзу, которая превращает его в линию. Эту линию я и использовал для нахождения плоскости. Это отлично работает, но имейте в виду, что размер вашего сканера будет сильно ограничен размерами объектива: мой объектив примерно в треть дюйма в диаметре, и я ограничен сканируемым пространством примерно 2' на 6" на 6". Линзы меньшего размера будут работать лучше, но мне это не нужно.

Корпус


image

Для начала нам нужно сделать ящик, в котором будет находиться сканер. Низ и задняя стенка ящика сделаны из меламина, боковые стороны из фанеры. После того, как всё было сделано, я решил, что меламин является ненужным: возьмите фанеру и закрасьте её белым цветом. Это сэкономит вам несколько долларов.

Установка лазера


image
image

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

Установка камеры


image

Камера должна быть установлена сбоку, выше объекта. Это гарантирует, что лазерная линия будет отклоняться должным образом.
Теперь можно поставить какой-нибудь объект. Я использовал гнома. Посмотрите на камеру, и убедитесь, что лазер заметно отклоняется над объектом. Посмотрите на фотографию ниже, чтобы получить представление о том, что я имею в виду.

image

Программное обеспечение



image

Идея, лежащая в основе программного обеспечения, также довольно проста. Есть ряд точек, каждая из которых соответствует пикселю на камере. Фокус в том, чтобы узнать, как перевести точки между двумя пространствами. Как оказалось, это сводится к довольно простым уравнением.

Выполняем сканирование


image

Пришло время испытать наш сканер!

Сейчас сканируется лишь одна часть объекта — та, которая направлена в камеру. Однако можно доработать сканер.

Дальнейшее развитие



Ещё некоторые идеи, которые можно реализовать.

  • Автоматизация. Matlab, возможно, не лучший выбор в данном случае. Можно написать своё ПО и добавить больше моторчиков.
  • Добавить поворот камеры. Наряду с автоматизацией, это позволит вам сделать полную 3d модель.
  • В идеале, программное обеспечение должно убирать шум.

От переводчика: Если вам нужны исходные коды, то напишите автору оригинального текста.
Tags:
Hubs:
Total votes 129: ↑106 and ↓23+83
Comments68

Articles