천문 장비 혹은 필요한 도구들을 스스로 만들기 위한 정보들을 교환하는 장입니다.
우리가 함께 만든 우주선이 달나라에 가지 말라는 법이 있을까요?
총 게시물 111건, 최근 0 건
   
3D 스캐너 제작 - 구동
글쓴이 : 이형철 별님 날짜 : 2013-08-13 (화) 14:16 조회 : 10980
3D 스캐너를 구동하여 보았습니다.
 
일단 아래와 같이 1개의 웹캠, 라인 레이저, 스텝 모터, 아두이노, 모터 드라이버로
하드웨어를 만들었습니다. 케이스는 3D 프린터로 출력 하였습니다.
 
 
스캐너의 원리는 레이저와 카메라의 상대적 거리 및 각도를 고정하여
항상 고정된 선상에 촬영 되도록 한 후
두께가 있는 물체를 촬영한다면 예상된 선 보다 이미지상에서 x축 좌측에서 촬영될 것이라는 생각에 기반합니다.
 

이 원리에 따라 삼각함수를 이용하여 촬영된 이미지상에서 레이저 빔이 맺힌 위치를
현재 레이저가 자르고 있는 평면상의 물체의 두께로 변환합니다.
 
이렇게 하여 하나의 레이저 빔이 자르는 평면상의 두께를 한번에 얻을 수 있지만
3차원적인 물체의 모양을 얻기 위해서는 위와 같은 작업을 회전 혹은 수평 이동하며 반복하여야 합니다.
 

결과물은 x, y, z 좌표와 레이저 빔이 꺼져있을 때의 색깔을 ply 형태의 파일로 저장하였습니다.
 
결과를 오픈소스 프로그램인 MeshLab에서 띄우자
생각보다 괜찮았습니다.
 

머리카락 부위는 레이저빔이 흡수되기 때문에 스캔이 되지 않았습니다.
 
잘못 검출된 점들을 제거하고, 필요한 영역만을 남겼습니다.
 

마치 태양계를 중심으로 돌고 있는 행성을 보는 듯 합니다.
 
raw 데이터는 필요없이 많은 점들을 포함하고 있기 때문에
 
Filters > Sampling > Clustered Vertex Subsampling
필터를 적용하여 0.1 cm 두께로 클러스터를 대표하는 점만 남겼습니다. 이 과정에서 색깔 정보는 사라집니다. (추후에 복원함)
 

다음으로
Point Set > Compute normals for point sets
필터를 적용하여 0에서 뻗어나가는 각 점들의 법선 벡터를 계산한 후
 
Point Set > Smooths normals on a point sets
필터를 적용하여 이웃한 10개 점의 법선 백터를 평균하여 새로운 법선 벡터를 계산하였습니다.
(여기서는 이웃한 10개 점들이 이루는 평면에 수직인 벡터를 구합니다)
 

다음으로
Point Sets > Surface Reconstruction: Poisson
필터를 적용하여 점들을 연결하는 삼각형들을 생성하고
 
Sampling > Vertex Attribute Transfer
필터를 이용하여 기존의 컬러값을 가장 가까운 삼각형의 꼭지점에 전달하였습니다.
 

마지막으로
Selection > Select Faces by Vertex Quality
필터를 적용하여 색깔이 없는 점들을 삭제하면
기존의 색깔이 있던 점들과 가장 가까운 점들만 남게 됩니다.
 

자작한 스캐너 치고는 퀄리티가 괜찮았지만
 
문제는 역시 한 면만 스캔이 가능하다는 점입니다.
 
3D 프린터로 물체를 출력하기 위해서는 물체를 360도 전체에 걸쳐 스캔 해야 하는데요
(360도 + 위, 아래도 해야합니다)
 
그러기 위해서는
1) 원형 트랙을 깔고 위의 스캐너를 물체 중심으로 한 바퀴 돌리거나 (이동성이 떨어지는 단점이 있습니다)
2) 물체 자체를 일정 속도로 회전하는 턴테이블 위에 올리거나 (사람은 올리지 못한다는 단점이 있습니다)
3) 스캐너 3-4대를 120도 간격으로 배치하는 것입니다.
 
또 한가지 문제점은
레이저 빔에 수직하거나 빔에 서 봤을 때 겹쳐 보여
빔이 닫지 못하는 곳은 스캔이 되지 않는다는 점입니다.
 
아래 사진은 후두경 (기관 내 삽관을 위한 의료 장비의 일종) 의 날을 스캔한 것인데 빔에 수직한 면은 전혀 스캔이 되지 않습니다.
 

이러한 물체의 경우 120도 간격 뿐 아니라 위, 아랫면에서도 스캔을 해야하지 않을까 싶습니다.
 
이상으로 라인 레이저와 웹캠으로 3D 스캐너를 충분히 만들 수 있음을 확인하였고
모든 방향에서 완전한 물체를 스캔 하기 위해서는 좀 더 생각하고 개발해야하겠다는 점을 확인하였습니다.
 

정유진별님 2013-08-16 (금) 16:49
뭐 하시는 분일까...대단하십니다.
댓글주소
지용호별님 2013-09-24 (화) 13:18
장난아니야~ ㅎㅎㅎ
댓글주소
정재원별님 2013-11-29 (금) 12:39
라인레이저로 뎁스를 검출하나요??
신기한데요?ㅋㅋ
댓글주소
이경헌별님 2015-12-22 (화) 17:18
* 비밀글 입니다.
댓글주소
   

총 게시물 111건, 최근 0 건
번호 이미지 제목 글쓴이 날짜 조회 추천
111 [자작세상]로봇잠수함 자작 계획서 +8 정재원별님 06-20 22573 121
110 노트북 블루투스를 이용해 시리얼 통신을 해 … +5 이형철별님 04-04 17293 0
109 GPS모듈에서 데이터 받아오기 성공~! +6 정재원별님 02-24 16678 0
108 기어의 모듈, 원피치, 직경 피치 이형철별님 06-19 16356 0
107 전산나사와 표준 기어로 웜기어를 만드려면 +2 이형철별님 06-19 15973 0
106 [자작세상]자작관련 사이트들 +1 정재원별님 02-13 15108 204
105 마운트 적정 무게추 중량 계산 +4 어재규별님 08-05 14894 444
104 [작성중]PC로 컨트롤되는 경위대식 가대 만들… +5 이형철별님 12-08 14780 206
103 [자작세상]내손으로 망원경을 만드는 그날까… +8 정재원별님 02-08 13277 188
102 [자작세상]수중탐사로봇-완성 했슴다~!! +7 정재원별님 11-06 13228 146
101 일회용 카메라로 천체 사진기 만들기 +14 이형철별님 01-20 12234 110
100 [자작세상]천체망원경제작동호회 사이트주소 정재원별님 02-09 11958 42
99 [자작세상] [펌]관측용 좌석이 부착된 김경렬… +4 홍성별님 07-14 11554 125
98 12인치 돕소니언 천체망원경 제어시스템 구축… +2 지용호별님 02-18 11420 173
97 3D 스캐너 제작 - 구동 +4 이형철별님 08-13 10981 2
 1  2  3  4  5  6  7  8  맨끝
 
Since 2001.2.7 과학기술정보통신부 등록 비영리민간단체 천문노트. Copyright All rights reserved.
단체명 : 천문노트  |    고유번호 : 101-82-15888  |    대표자명 : 김태욱, 조우성  |    주소 : 138-804 서울특별시 송파구 가락동 93 금강빌딩 7층 710호  |    전화 : 02-543-3295  |    Fax : 02-6918-6888  |    통신판매신고번호 : 종로 제01-5696호  |    개인정보관리책임자 및 사이트관리자 : 지용호