Projenin Tanımı
Yapılacak olan donanım kısmı motor üzerine yerleştirilmiş bir platform ve bu platformu hâkim bir yerden görecek bir kinect’ten oluşmaktadır.Kinect ile alınan görüntüler bilgisayar ortamına kablo ile aktarılacak.Görüntüler ana bilgisayara geldikten sonra bilgisayar üzerinde geliştirilen yazılım sayesinde birleştirilerek cismin üç boyutlu görüntüsü hakkında bilgi verecek. Bu bilgiler, cismin üç boyutlu görüntüsünü milimetrik ölçekte elde edilmesini sağlayacak.Alınan görüntü bilgisayar ortamında hareket ettirilebilecek ve boyutu büyültülüp küçültülebilecek.
Projenin Amacı
Minimum bir kupa bardak boyutundaki
cismi tarayıp 3 boyutlu olarak bilgisayara aktarılarak işlenmesidir.
Donanım Araçları
· Arduino
· Kinect
· Step Motor
· Kinect
· Step Motor
Kullanılan Yazılımlar
· Qt Based GUI
· Cross-platform compatibility
· ANSI-C & C++89 Standards, Open Codes
· C/C++
· AVR SDK, Qt Creator and Qt SDK based software Design
· Microsoft Visual Studio 2010
· OpenNI
ve PCL(1.6/1.7)
Yazılım Kurulumları(Windows)
Windows MSVC 2010 (32bit)PCL 1.6.0 All-In-One Installer
http://pointclouds.org/downloads/windows.html
OpenNI_NITE_Installer-win32
http://code.google.com/p/simple-openni/downloads/detail?name=OpenNI_NITE_Installer-win32-0.27.zip&can=2&q=
Visual C++ 2010 Express
http://www.visualstudio.com/en-us/downloads#d-2010-express
Qt 4.8.0 for Windows
http://download.qt-project.org/archive/qt/4.8/4.8.0/
Arduino IDE
http://arduino.cc/en/main/software
Yazılım Kurulumları(Ubuntu)
PCL 1.7.0 for Ubuntu
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
OpenNI_NITE_Installer-Linux32
http://code.google.com/p/simple-openni/downloads/detail?name=OpenNI_NITE_Installer-Linux32-0.27.zip&can=2&q=
Arduino IDE
sudo apt-get update && sudo apt-get install arduino arduino-core
Qt 4.8.0 for Ubuntu
http://www.wikihow.com/Install-Qt-SDK-on-Ubuntu-Linux
sudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pcl
sudo apt-get update
sudo apt-get install libpcl-all
OpenNI_NITE_Installer-Linux32
http://code.google.com/p/simple-openni/downloads/detail?name=OpenNI_NITE_Installer-Linux32-0.27.zip&can=2&q=
Arduino IDE
sudo apt-get update && sudo apt-get install arduino arduino-core
Qt 4.8.0 for Ubuntu
http://www.wikihow.com/Install-Qt-SDK-on-Ubuntu-Linux
Yazılım Kullanımı(Windows)
build-3D_Scanner-Desktop_Qt_5_2_0_MSVC2010_32bit dosyasının içerisindeki release dosyasına‘a gidip yukarıda gösterilen exe(^D_Scanner1.exe) ye tıklayıp çalıştırılır.
Yazılım Kullanımı(Ubuntu)
First,
Arduino code should be uploaded to arduino and after compilation you should open serial monitor from tools menu. Just let it open.
Second ,
From Terminal;
Go to the "3D_Scanner_SourceCode"
$ cd Desktop/3D_Scanner_SourceCode
$ mkdir build && cd build && cmake .. && make
Move the executable file "openniViewer" to the "3D_Scanner_Group2" folder
Click -> "3D_Scanner"
"Scan and Show obj"
let the scanner finish the process for 50 seconds.
After scanning is done, Obj Viewer will promp.
Arduino code should be uploaded to arduino and after compilation you should open serial monitor from tools menu. Just let it open.
Second ,
From Terminal;
Go to the "3D_Scanner_SourceCode"
$ cd Desktop/3D_Scanner_SourceCode
$ mkdir build && cd build && cmake .. && make
Move the executable file "openniViewer" to the "3D_Scanner_Group2" folder
Click -> "3D_Scanner"
"Scan and Show obj"
let the scanner finish the process for 50 seconds.
After scanning is done, Obj Viewer will promp.
Yazılımın Kullanıcı Arayüzü
Demo Çıktıları
Bir kerpetenin noktasal görünümü
Kerpetenin mesh edilmiş hali
Projenin Geliştirme Aşamaları
Donanım Oluşturulması
Donanım kinect,arduino ve step motordan oluşmaktadır.Step motorun üstüne görüntüsü alınacak olan cisim yerlestiriliyor.691.874 milimetre uzaklıktaki kinect her bir saniyede cismin bir frameni alıyor.Step motor her saniyede 45 derece dönüyor ve 8 frame alarak görüntüyü tamamlıyoruz.
Donanım kinect,arduino ve step motordan oluşmaktadır.Step motorun üstüne görüntüsü alınacak olan cisim yerlestiriliyor.691.874 milimetre uzaklıktaki kinect her bir saniyede cismin bir frameni alıyor.Step motor her saniyede 45 derece dönüyor ve 8 frame alarak görüntüyü tamamlıyoruz.
Yazılım Geliştirilmesi
Kinectten cismin görüntülerini noktalar halinde alıp onları birleştirmek için Microsoft Visual Studio IDE’sinde OpenNI kütüphaneleri kullanıldı. PCL(Point Cloud Library) kullanarak noktaları mesh edip .pcd(point cloud data) uzantılı dosya elde ediliyor..pcd uzantılı dosya Qt Creater Designer’a verilerek 3 boyutlu görüntü görselleştirilip görüntünün milimetrik ölçekte büyültülüp-küçültülmesini ve döndürülmesi sağlanmaktadır.
Yazılım Arayüz Tasarlanması
Arayüz oluşturmak için Qt Creator Designer kullanıldı.Arayüzümüzde dört buton bulunmakta; scan, cancel, exit ve show 3d object.Scan butonu ardinuo motora bağlanıp onu başlatıyor ve step motor dönmeye başlıyor,cancel sistemi durduruyor, exit ile programdan çıkılıyor ve show 3d object ile gelen .pcd uzantılı dosyadaki cismi görüntüleyip fare ile büyütülüp küçültülmesini ve döndürülmesini sağlar.