top of page

İÇERİK VE AMAÇ

Projenin Amacı ve Kapsamı

Modüller

Programın Çalıştırılması ve Gerekli Yüklemeler

Irrlicht  ( Windows - Visual Studio ):

Irrlicht  ( Linux ) :

Uygulama için Windows Gereksinimleri:

Windows 7/8/10,

Visual Studio 2013/2015  Visual c++ eklentisi ,

Irrlicht kütüphanesi  Version 1.8.1 => http://irrlicht.sourceforge.net/,

Visual Studio projesine Irrlicht kütüphanesinin eklenmesinin basamakları =>

Visual Studio'da  ilk olarak Project -> Properties seçilmelidir. Daha sonra aşağıdaki fotoğraflarda gözükenler yapılmalıdır. 

Uygulama için Linux Gereksinimleri:

Linux tabanlı bir sistem gerekir(Ubuntu, Fedora, vb.),

Irrlicht kütüphanesi  Version 1.8.1 => http://irrlicht.sourceforge.net/

Irrlicth zipten çıkarıldıktan sonra aşağıdaki adımlar terminalden yapılmalıdr,

cd ~/irrlicht/source/Irrlicht

make

make NDEBUG=1

Küresel bir cismin board üzerinde belirlenen noktaya taşınması ve bu
noktada dengede tutulması, istenen noktanın bilgisayar için hazırlanan
programda değişmesi durumunda belirlenen noktanın yeniden atanması ile topun güncel noktada tekrar denge durumuna getirilmesi.

3D uygulaması ile iletişim Arduino tarafında Serial sınıfı üzerinden
sağlandı. Arduino’dan bilgisayara koordinat ve açı/ivme değerleri, her
iterasyonun başında, tek bufferda binary olarak gönderildi.

Open GL tabanlı Irrlicht Engine kullanıldı. Görüntü kısmı 2D ve 3D olmak
üzere ikiye ayrıldı. 3D kısmında sadece görüntü, 2D kısmında mouse ile
tıklama yaparak topun yönlendirilmesi sağlandı.

Bu modül top, bilgisayar, gyro, touchscreen,  servo motorlar ve pushrodtan oluşmaktadır. Donanım modülü aracılığı arduino ile bilgisayar arasında bağlantı kurularak simülasyonun amacına ulaşması ve  touchscreenin üstünde topun dengelenmesi amaçlanır.

Arduino IDE:

 

Yazılımı Arduinoya yüklemek ve USB sürücüler için gerekli.

 

Kurulumu:

- Buradan uygun platform için dosya indirilir.

 

Windows için exe dosyası çalıştırılarak kurulabilir.

 

Linux için tar.gz dosyası arşivden çıkarılıp, içindeki install.sh çalıştırılarak kurulabilir. Sonrasında ise aşağıdaki yapılandırma yapılmalıdır.

Serial device dosyasına okuma/yazma izni için:

 

# gpasswd -a $USER uucp

# gpasswd -a $USER lock

$USER:  Kullanıcı adı.

 

Sonrasında Arduino IDE→Tools menüsünden eldeki Board ve Processor seçilir. (Bu proje için Board: Mega 2560,  Processor: Atmega2560)

Son olarak, yine aynı menüden cihaz bağlandıktan sonra hangi porttan bağlı olduğuna bakılır.

3D kodundaki default değerler:
    Linux: /dev/ttyACM0
    Windows: COM7
Eğer port doğru değilse aşağıdaki tablodan portun hangi port nr.’a karşılık geldiğine bakılır.

port nr.    Linux    windows
0    ttyS0    COM1
1    ttyS1    COM2
2    ttyS2    COM3
3    ttyS3    COM4
4    ttyS4    COM5
5    ttyS5    COM6
6    ttyS6    COM7
7    ttyS7    COM8
8    ttyS8    COM9
9    ttyS9    COM10
10    ttyS10    COM11
11    ttyS11    COM12
12    ttyS12    COM13
13    ttyS13    COM14
14    ttyS14    COM15
15    ttyS15    COM16
16    ttyUSB0    n.a.
17    ttyUSB1    n.a.
18    ttyUSB2    n.a.
19    ttyUSB3    n.a.
20    ttyUSB4    n.a.
21    ttyUSB5    n.a.
22    ttyAMA0    n.a.
23    ttyAMA1    n.a.
24    ttyACM0    n.a.
25    ttyACM1    n.a.
26    rfcomm0    n.a.
27    rfcomm1    n.a.
28    ircomm0    n.a.
29    ircomm1    n.a.
30    cuau0    n.a.
31    cuau1    n.a.
32    cuau2    n.a.
33    cuau3    n.a.
34    cuaU0    n.a.
35    cuaU1    n.a.
36    cuaU2    n.a.
37    cuaU3    n.a.

Sonrasında 3D’nin kaynak kodunda, serial dizini altındaki serial.h dosyasındaki
 

COM_PORT makrosu, çalışılan işletim sistemine göre değiştirilir.

(Windows için #ifdef _WIN32 #else arasındaki define, Linux için #else, #endif arasındaki define)

 

Gerekli Arduino kütüphaneleri:

 

Bu dosyalar Arduinonun kurulu olduğu dizindeki libraries dizini altına kopyalanır.

 

PID_v1

Touch Screen Library

Ve burdaki kütüphanenin Arduino dizini altındaki MPU6050 ve I2Cdev klasörleri.

 

- OpenCV ve ArUco: Vision mode için gerekli.

 

Not: 3D’nin kaynak kodundaki main.cpp dosyasının

#define VISION

satırı yoruma alınıp veya silinip derlenirse, program bunlar kurulu olmadan da çalışır.

 

OpenCV:

 

Wikisinde ayrıntılı olarak hazırlanmış kurulum rehberi var. Linux ve Windows için olanlar aşağıda.

 

Windows kurulumu: Link

Linux kurulumu: Link

Not:   3D’nin kaynak kodundaki main.cpp dosyasının   #define VISION

satırı yoruma alındıktan veya silindikten sonra makefile dosyasında USERLDFLAGS değişkenindeki “-lpthread” ten sonraki kısım -aşağıda seçili olan- silinip derlenirse, program bunlar kurulu olmadan, vision modu devre dışı olarak çalışır.

Not: Program başlarken topun plakanın üzerinde olmaması gerek. Top program açıldıktan sonra koyulmalı.

Proje Raporu :

ArUco:

Öncesinde OpenCVnin kurulmuş olması gerekli.

 

Buradan kaynak kod indirilir.

 

Linux kurulumu:

 

Bağımlılıklar: cmake. (Dağıtımın paket deposundan kurulabilir.)

 

Kurulum:

- İndirilen arşiv klasöre çıkarılır.

- Klasör içinde build diye bir klasör oluşturulur.

- Terminalden bu klasöre girilip:

         $ cmake ..

         $ make

         # make install

 

Not: Kurulumdan sonra “error while loading shared libraries: libaruco.so.2.0” hatası verebilir. Bu durumda aşağıdaki komutlar çalıştırılmalı.

 

         # cd  /usr/local/lib

         # ls | grep libaruco.so*

 

Sonrasında /usr/lib dizininde bu dosyaların kısayolları oluşturulur. Benim sistemimde şu şekilde

         # ln -s libaruco.so /usr/lib/libaruco.so

         # ln -s libaruco.so.2.0 /usr/lib/libaruco.so.2.0

         # ln -s libaruco.so.2.0.14 /usr/lib/libaruco.so.2.0.14

Son olarak

         # ldconfig

© 2016

Gebze Teknik Üniversitesi - Bilgisayar Mühendisliği  Bil 395 - Grup 2

bottom of page