Введение
За последнее десятилетие цифровые технологии шагнули далеко вперед. Сегодня изготовления или восстановление различных деталей или материалов стало возможно не только в заводских условиях, но и дома. Вжизни современного общества ведущую роль играют 3D-технологии. Они широко используется в сфере маркетинга, дизайна, науки, медициныи промышленности.
Такая возможность появилась при развитии технологии реверсного инжиниринга. Инструментами ее реализации являются 3D-сканеры, которые позволяют получить цифровую модель объекта с высокой точностью. Они упрощают и автоматизируют ручной труд, а порой выполняют задачи, которые казались невозможными.
Существует ряд промышленно выпускаемых 3D-сканеров различного назначения, однако они дорогие, и не каждый способен их приобрести. Как показали результаты нашего исследования, бюджетный 3D-сканер можно создать и своими силами.
Предметом исследования является реверсный инжиниринг и технологии его реализации.
Целью исследования является изучение технологии реинжинирингаи разработка технических характеристик для создания 3D-сканера.
Задачи исследования:
Изучить технологию реверсного инжиниринга
Изучить суть работы 3D-сканера
Изучить сферы применения 3D-сканеров
Изучить виды 3D-сканеров
Рассмотреть варианты бюджетных 3D-сканеров
Разработать технические характеристики для проекта устройства 3D-сканирования.
Методы: изучение и систематизация информации, проектирование, компьютерное моделирование, кодирование (программирование), тестирование.
Реверсныйинжиниринг: история появления и развития технологии
Реверсный инжиниринг или обратная разработка (обратное проектирование, обратный инжиниринг, реверс-инжиниринг, реинжиниринг; англ. reverseengineering) - это процесс разработки и исследования некоторого предмета в обратном порядке, с целью понять принцип его работы. Иными словами, специалисты, имея образец той или иной продукции, анализируют его, рассматривая и изучая все его составные части и типы связей между ними, проходя все стадии создания этого предмета [4].
Реинжиниринг зародился еще в древние века, но в более упрощенном виде. Примером этого может послужить копирование оружия вражеских народов и его попутное усовершенствование. Волна технического процесса XIX века сделала более возможным применение метода обратной разработки, что позволило прогрессу двигаться невероятно быстрыми темпами. Однако, расширение этого метода, заставило ученых и изобретателей задуматься над защитой своих персональных «творений», а для тех, кто его использовал, стало необходимостью проверять законность своих действий.
Реверс-инжиниринг имеет несколько сфер применения. Одной из них является автомобиле- и машиностроение (в том числе и авиация), в которой происходит копирование различных механизмов и машин без фактической разработки. Это позволяет минимальными затратами воспроизвести удачную конструкцию, но есть случаи копирования и неудачных машин, например [5]:
Советский грузовик АМО-3 был практически полной копией американского грузовика «AutoCar-SA».
Советский лодочный мотор «Москва» был практически полной копией очень удачного американского мотора Scott AtWater (рис.1)
Примернеудачного выбора прототипа для обратной разработки — советский лодочный мотор «Вихрь», копия немецкого мотора Koening.
Рис.1. |
Первые китайские внедорожники Amiral, GreatWall и другие — нелицензионные практически точные копии внедорожникаToyotaHiluxSurf.
Другой сферой применения реинжиниринга является военная промышленность, представляющая собой обратную разработку продукта соперника с целью узнать его устройство, принцип работы и оценить возможности создания аналога. Самыми известными фактами обратной разработки во время Второй мировой войны являлись:
Немецкие канистры ля бензина — в британских и американских войсках заметили, что немцы имели очень удобные канистры. Они скопировали эти канистры, и те получили название Jerrycans (от слова «gerrys» — от «Germans»).
Миномёты — немцы в военные годы успешно скопировали советские трофейные 120 мм миномёты, которые взяли себе на вооружение под именем Granatwerfer 42.
Место быть технология обратной разработки находит и в сферах электроники, информационных процессов. Примером этого может быть ситуация, когда для работы необходима определенная программа, поддержка которой уже прекращена. В этом случае, хорошо изучив оригинал, можно попробовать воссоздать свой вариант программы, аналог той, используя реверс-инжиниринг[8].
Современные средства реализации технологии реинжиниринга
Инструментом реализации реверс-инжиниринга является 3D-сканер - устройство, с помощью которого можно создавать точные трехмерные модели реальных объектов [1].
Основной сферой его применения является создание максимально точных 3D-моделей для дальнейшей доработки с использованием специализированного программного обеспечения и последующей печати с помощью трехмерных принтеров.
Обратимся к истории создания 3D-сканера. Первый сканер был создан и выпущен в 1991 году американской исследовательской компанией Cyberware (см. приложение 1) [1]. В основу производственной концепции легла особая технология сканирования, основанная на использовании лазерных лучей. Этот момент можно назвать моментом рождения этого устройства, но работы над этим изобретением продолжаются и в наше время.
В1992 году американская студия Cyberscan успешно завершила работы по объединению в общем корпусе 3D-сканера и 3D-принтера. Данная модель позволяла создавать копии человеческого тела, а также более простые объекты. С самого возникновения модели этого устройства привлекли большое внимание представителей киноиндустрии.
Таким образом, 3D-сканеры постоянно модернизируются, увеличивая функции и возможности.
Основная классификация выделяет следующие виды 3D-сканеров [4]:
Контактные 3D-сканеры – сканирование происходит при контакте с исследуемым объектом.
Бесконтактные 3D-сканеры - сканирование происходит на некотором расстоянии от исследуемого объекта.
Бесконтактные 3D сканеры делятся на активные, осуществляющие процесс сканирования под воздействием генерируемого ими же лазерного луча, и пассивные, анализирующие объект с использованием видимого света.
Выделим некоторые виды 3D-сканеров по принципу использования:
Ручные – простые в обращении модели с малым весом и габаритом (рис.2);
Рис.2. |
Рис.3. |
Портативные – облегченные установки для работы на выезде с возможностью стационарной установки (рис.3);
Настольные – профессиональные и полупрофессиональные модели для офисов, дизайнерских, конструкторских и инженерных бюро(рис.4);
Рис.4. |
Рис.5. |
Стационарные – такими моделями представлен промышленный сегмент 3D сканеров (рис.5);
Оптические – их принцип действия построен на комбинации источника света и оптических камер.
Для нашей научной работы мы выбрали лазерный 3D-сканер.
Особенности лазерного 3D-сканера[5]:
Может использоваться в помещениях с любой освещенностью;
Может сканировать части любого материала;
Большая глубина резкости;
Какая бы технология не использовалась, полученные со сканера данные обрабатываются с помощью специальных компьютерных программ. Примерами таких являются^
CrazyTalk 8 ProforWindows, цена которой 7 054 рубля,
ArtecStudio 12, стоящая 46 683 рубля.
Таким образом, покупка и использование 3D-сканеров достаточно дорогостоящее занятие, и не каждый пользователь способен их приобрести. К тому же, среди существующих 3D сканеров мало подходящих для использования в быту [8].
3D сканер можно создать и самому. Мы предлагаем использовать пассивную технологию3D-сканирования, т.е. с помощью многократного фотографирования объекта. Затем обработать эти фотографии с помощью специальной программы RecapPhotoforstudents фирмы Autodesk, функционирующей на различных операционных системах.
Полученные методом сканирования 3D-модели в дальнейшем могут быть обработаны CAD-системами и использованы для получения модели на 3D-принтере или фрезерном станке.
Проектирование бюджетного 3D-сканера бытового назначения
На сегодняшний день существует множество вещей, используемых нами в повседневной жизни, которые можно распечатать на 3D-принтере, не ища их на прилавках магазинов. Но как же воссоздать трехмерные модели бытовых объектов? Теперь такие задачи решаются в течение нескольких минут или часов благодаря технологии реинжиниринга, инструментом реализации которой является 3D-сканер. В современном мире множество моделей этого устройства представлены на промышленном рынке и доступны для приобретения любым человеком. Но покупка 3D-сканера является довольно дорогостоящим занятием, которое не каждый может себе позволить. Да и к тому же большинство существующих моделей достаточно массивны и не приспособлены для использования их в бытовых целях.
Проанализировав ситуацию, мы пришли к выводу, что в современном мире для реализации деятельности людей в сфере быта необходимо создание бюджетного устройства бытового назначения для осуществления технологии 3D-сканирования.
Целью являетсяпроектирование и создание бюджетного 3D-сканеры бытового назначения.
Технические характеристикиустройства:
Осуществление поворота на 360° градусов
Наличие штатива(держателя) для мобильного телефона
Ограничение по весу – не более 1,6 кг
Ограничение габаритов – сравнительно небольшие размеры
Простое управление с помощью одного нажатия кнопки
Универсальность – возможность пользования не зависимо от модели мобильного телефона
Техническое описание комплектующихустройства
Шаговый двигатель Nema17 STEPPER MOTOR
Компактный шаговый двигатель стандарта NEMA 17. Обладает хорошим крутящим моментом и низкой ценой для двигателей данного формата. Шаговый двигатель 42BYGHW208 можно использовать при построении 3D-принтеров и различных устройств, где не так важен высокий крутящий момент (см. Приложение 2) [7].
Плата Arduino UNO
Arduino Uno контроллер построен на ATmega328. Платформа имеет 14 цифровых вход/выходов (6 из которых могут использоваться как выходы ШИМ), 6 аналоговых входов, кварцевый генератор 16 МГц, разъем USB, силовой разъем, разъем ICSP и кнопку перезагрузки. Для работы необходимо подключить платформу к компьютеру посредством кабеля USB, либо подать питание при помощи адаптера AC/DC или батареи. ArduinoUno — отличный вариант платы для создания своих первых умных устройств (см. Приложение 3) [2].
БатареяSmartbuy Super heavy duty6f22 9V
Батарея Smartbuy Superheavyduty 6f22 9V имеет качественный корпус, трубуемое для нашего проекта начальное напряжение и низкую цену (см. Приложение 4) [6].
Эскплуатация созданного 3D-сканера
Алгоритм работы с системы:
Установка модели для съемки на середину платформы
Установка аппарата съемки – мобильного телефона на штатив
Включение устройства – через пару секунд платформа начинает двигаться с остановками каждые 12°-9° градусов, в момент которых мобильный телефон делает снимок.
Остановка системы после прохождения платформой 360°градусов.
Выключение устройства.
Удаление модели для съемки с платформы
Удаление съемочного аппарата – мобильного телефона со штатива
В итоге работы системы мы получаем 30-40 снимков, которые в дальнейшем подлежат обработке в программе AutodeskReCap360 for students [3]. Результатом монтажа фотографий является готовая для печати 3D-модель объекта, сканируемого ранее на поворотном столе для 3D-фотосъемки.
Заключение
Таким образом, покупка и использование 3D-сканеров достаточно дорогостоящее занятие, и не каждый пользователь способен их приобрести.
Как показали результаты нашего исследования 3D-сканер можно создать и самому. Мы предлагаем использоватьпассивную технологию3D сканирования, т.е. с помощью многократногофотографирования объекта. Затем обработать эти фотографии с помощью специальной программы Recap Photo for students фирмы Autodesk, функционирующей на различных операционных системах.
Полученные методом сканирования 3D-модели в дальнейшем могут быть обработаны cad-системами и использованы для получения модели на 3D принтере или фрезерном станке.
В ходе исследования мы провели сканирование объектов на основе пассивной технологии двумя способами (Первый способ – положение объекта остается неизменным, перемещения осуществляются лишь аппаратом съемки. Второй – фотоаппарат находится без движения, а предмет сканирования вращается). Более удобным и с наилучшим результатом оказался последний способ - он позволил получить максимально точную и качественную 3D-модель предмета. В итоге, мы сделали вывод, что для автоматизирования процесса 3D-сканирования на основе пассивной технологии, необходим поворотный стол для 3D-фотосъемки.
В результате работы нами было создано устрйоство бытового назначения для реализации технологии реинжиниринга, также изученной нами в ходе работы.
Список литературы
3D-сканер // Википедия - Свободная энциклопедия. URL: https://ru.wikipedia.org/wiki/3D-сканер (дата обращения 20.11.2017)
Arduino Uno. Общие сведения об Ардуино. URL: http://amperka.ru/product/arduino-uno (дата обращения 25.01.2018)
Autodesk - каталог систем автоматизированного проектирования, геоинформационных систем и трехмерного моделирования. Основные сведения о программах Autodesk. URL: https://www.autodesk.ru/ (дата обращения 15.02.2018)
Make-3D.ru. Что такое сканер и как он работает? URL: https://make-3d.ru/articles/chto-takoe-3d-skaner-i-kak-on-rabotaet/ (дата обращения 5.11.2017)
Википедия - Свободная энциклопедия. Обратная разработка. URL: https://ru.wikipedia.org/wiki/Обратная_разработка (дата обращения 25.11.2017)
Характеристика Батарейки Smartbuy. / Nix66.ru. URL: http://www.nix66.ru/catalog/batareya-pitaniya-Smartbuy-SBBZ-9V01B-9V-solevyy-tipa-krona_297169-078088.html (дата обращения 15.02.2018)
Характеристика двигателя Nema17. / Fastnvr.ru. URL: http://fastnvr.ru/NEMA17-42BYGH47-401A (дата обращения 5.02.2018)
Что такое 3D-сканер? / WD-X.ru. URL: https://wd-x.ru/chto-takoe-3d-skaner-sfery-primeneniya-i-prichiny-populyarnosti/ (дата обращения 5.12.2017)
Юричев Д., Введение в Reverse Engineering для начинающих // Lurkmore.to -энциклопедия современной культуры, фольклора и субкультур, а также всего остального. Реверсный инжиниринг. URL: http://lurkmore.to/Reverse_Engineering (дата обращения 15.11.2017)
Приложение 1.
Первый сканер, выпущенный в 1991 году
американской исследовательской компанией Cyberware.
Приложение 2.
Шаговый двигатель Nema17 STEPPER MOTOR
Характеристики
Артикул |
42BYGHW208 |
Вес (кг) |
0.22 |
Крутящий момент (Н·cм) |
31 |
Удерживающий момент (г·см) |
3200 |
Фиксирующий момент момент (г·см) |
200 |
Момент инерции ротора (г·см²) |
34 |
Шаг двигателя |
1.8 |
Напряжение (В) |
12 |
Ток (А) |
0.4 |
Сопротивление обмотки (Ом) |
30 |
Индуктивность обмотки (мГн) |
37 |
Длина двигателя (мм) |
34 |
Количество проводов |
4 |
Диаметр вала (мм) |
5 |
Приложение 3.
Плата Arduino UNO
Характеристики
Микроконтроллер |
ATmega328 |
Рабочее напряжение |
5В |
Напряжение питания (рекомендуемое) |
7-12В |
Напряжение питания (предельное) |
6-20В |
Цифровые входы/выходы |
14 (из них 6 могут использоваться в качестве ШИМ-выходов) |
Аналоговые входы |
6 |
Максимальный ток одного вывода |
40 мА |
Максимальный выходной ток вывода 3.3V |
50 мА |
Flash-память |
32 КБ (ATmega328) из которых 0.5 КБ используются загрузчиком |
SRAM |
2 КБ (ATmega328) |
EEPROM |
1 КБ (ATmega328) |
Тактовая частота |
16 МГц |
Приложение 4.
Батарея Smartbuy Super heavy duty 6f22 9V
Характеристики |
|
Производитель |
Smartbuy |
Серия |
SuperHeavyDuty |
Модель |
6F22/1B |
Солевые батарейки в блистере; предназначены для работы в устройствах с низким и средним потреблением тока (часы, пульты дистанционного управления, сигнализации, детские игрушки, радиоприемники) |
|
Тип батарейки |
9V (Крона) |
Тип оборудования |
Батарейки Крона 9В (6LR61/6F22) |
Название по стандарту IEC |
6F22 |
Продажа только упаковками |
Да |
Количество в упаковке |
1 |