evarobot Documentation

Ebat: px
Şu sayfadan göstermeyi başlat:

Download "evarobot Documentation"

Transkript

1 evarobot Documentation Release indigo Inovasyon Muhendislik May 30, 2016

2

3 CONTENTS 1 Giriş Başlamadan Önce evarobot Tanıtım evarobot Kullanımı Hazırlık evarobot Kurulumu Bilgisayar Kurulumu Ağ Ayarları Donanımsal Kurulum Talimatları Çalıştırma Bilgisayarı Çalıştırma Evarobot u Çalıştırma Evarobot Servisi Evarobot Kalibrasyon ROS Uygulamaları ROS Uygulamaları MATLAB Uygulamaları MATLAB Uygulamaları Gezgin Robot Nesne Bulma Yarışması Gezgin Robot Nesne Bulma Yarışması Diğer Benzetim Ortamı EvaMobil Görsel Programlama U-PLAT Matlab Kütüphanesi EvaÇocuk API Gözden Geçirme Evarobot Arıza Sıkça Sorulan Sorular i

4 ii

5 Bu doküman PDF olarak indirilebilir. CONTENTS 1

6 2 CONTENTS

7 CHAPTER ONE GIRIŞ Bu kullanım klavuzu kullanıcıların evarobotu kolay ve hızlı bir şekilde çalıştırması ve üzerinde geliştirme yapması için hazırlanmıştır. Robotlar üzerinde ROS yazılımı yüklüdür. ROS hakkında ayrıntılı bilgi için ros.org sitesini ziyaret edebilirsiniz. 1.1 Başlamadan Önce Geliştirme Araçları evarobot a bağlanmak için bir bilgisayar gereklidir. Robota bağlantı kablolu veya kablosuz olarak gerçekleştirilebilir. Linux Linux; Unix ortamının üzerine kurulmuş, neredeyse tüm bilgisayarlar için uygun olan, ücretsiz bir işletim sistemidir. Geliştirmeye başlamadan önce Linux ta kullanılan temel terminal komutlarının öğrenilmesi önerilir. Geliştirme uzak bilgisayardan ssh veya benzer bir araç ile sağlanabileceği gibi robota ekran, fare, klavye bağlanarakta gerçekleştirilebilir. ROS ve evarobot evarobot yazılımı ROS tabanlıdır. evarobot ve ROS un çalışma mantığını anlayabilmek için adresindeki uygulamaları gerçekleştirebilirsiniz. 1.2 evarobot Tanıtım Evarobot, mekaniği, donanımı ve yazılımı ile tamamen yerli üretim olarak İnovasyon Mühendislik tarafından geliştirilmiştir. Bu kılavuzda Evarobot un özellikleri ve üzerinde çalışan donanım EKB(Elektronik Kontrol Birimi) hakkında bilgiler yer almaktadır. evarobot Özellikleri Robot platformuna ait bilgiler aşağıdaki tabloda gösterilmektedir. 3

8 Özellik En x Boy x Yükseklik Yerden Yükseklik Ağırlık(Batarya Dahil) Yük Taşıma Kapasitesi Batarya Gerilimi Batarya Kapasitesi Sürüş Maksimum Hız Sürücü Tekerler Gövde Sensör Kapasitesi Değer 335x425x760mm 55mm 13kg 10kg 12V 2x7Ah Diferansiyel, 2 Sürüş, 2 Sarhoş 1.0m/s 170mm, Dolma Teker 20 Adet Robot üzerinde yer alan sensörler ve sayıları değiştirilebilmektedir. Aşağıdaki tabloda bir sensör konfigürasyonu gösterilmektedir. Sensör İsmi Adet X Marka/Model Sonar 7 X IM-SMO20 Kızılötesi 7 X Sharp GP2YOA21YK Bumper 3 X IM-BMP10 Baş Açısı Referans 1 X Polulu MinIMU9 Enkoder 2 X 64 CPR Derinlik Kamerası 1 X Microsoft Kinect Lidar 1 X RPLidar 360 Lazer 1 X Hokuyo URG-04LX Elektronik Kontrol Birimi (IM-EKB10) IM-EKB10 mobil robot uygulamaları için geliştirilmiş ROS (Robot Operating System) uyumlu kontrol kartıdır. Kart; IM-REG10, IM-DRV10, IM-ADP10 ve IM-SENS10 kartları olmak üzere 4 katlı yapıdadır. 4 katlı yapıda güç, motor sürücü, Raspberry Pi ve sensör katları yer alır. Değiştirilebilir katlı yapısı sayesinde farklı konfigürasyonlarda kullanıma uygundur. Robotik uygulamalarda sıklıkla kullanılan sensörler için güç ve sinyal girişleri bulunur. Kontrol için geliştirilen yazılım kütüphaneleri ve ROS paketleri açık kaynak kod olarak paylaşılmaktadır. Ayrıca paylaşılan açık kaynak kodlu kütüphaneler ile gerçekleştirilen farklı uygulamalar da yer almaktadır. Farklı düzeyde robotik uygulamaları için konfigüre edilebilir, kullanımı kolay ve geliştirilebilir yapısı ile çok yönlü bir kontrol kartıdır. Genel Özellikler Besleme Gerilimi: 7-24V (Kullanılacak motor özelliklerine göre seçilebilir.) Anahtarlamalı ve sigorta korumalı güç kartı 40 pin güç ve sinyal standart dişi PCB pin bağlantıları 4 Chapter 1. Giriş

9 İki kanal motor sürücü Raspberry Pi B+/2 uyumlu adaptör kartı Raspberry Pi için ilave sayısal ve analog bağlantılar ROS uyumlu açık kaynak kodlu yazılımlar Açık kaynak kodlu kütüphaneler Robotikte çok kullanılan sensörler için tasarlanmış sensör girişleri Boyut : 85 x 115 x 90mm Ağırlık : 470g Güç Özellikleri 5 adet anahtarlamalı regülator Güç girişi ve regülatör çıkışları için LED göstergeleri Standart dişi PCB pim çıkışları Sigorta korumalı giriş/çıkış Güç Çıkışı: 80W (!) Güç özelliklerinin detayı için IM-REG10 regülatör kartını inceleyiniz. Motor Sürücü Özellikleri Maksimum PWM Frekansı : 20 khz Motor yönleri için LED göstergeleri Standart erkek 90º PCM pim çıkışları Motorlar için ilave klemens bağlantıları Dahili 5V regülator Enkoder bağlantı arayüzü Maksimum Çıkış Akımı : 30A Sürekli Çıkış Akımı : 12A (!) Motor sürücü özelliklerinin detayı için IM-DRV10 iki kanallı motor sürücü kartını inceleyiniz. Sensör Kartı Özellikleri 8 analog kanal (SPI) 7 genel amaçlı sayısal kanal (I2C) 3 ON/OFF sensör kanalı 1 Buzzer (I2C) 1.2. evarobot Tanıtım 5

10 1 RGB LED (I2C) 4 I2C bağlantısı 1 Kullanıcı LED göstergesi TTL - RS232 dönüştürücü Standart erkek PCB pim çıkışları (!) Sensör kartı özelliklerinin detayı için IM-SENS10 kartını inceleyiniz. evarobot Simülasyon evarobot ile gerçek ortam üzerinde çalışmalar yapabilmenin yanında 3 boyutlu simülasyon ortamı kullanarak da araştırmalar yapılabilmektedir. İçerisinde 4 tane fizik motoru çalıştırabilen 3 boyutlu simülasyon ortamı olan Gazebo da evarobot modeli hazır olarak sizi beklemektedir. Simülasyon ortamında Evarobot ile nasıl çalışabileceğinizi anlatan uygulamaları ilerleyen kılavuzlardan edinebilirsiniz. evarobot Kullanım Alanları Evarobot birden fazla disiplinlerin uygulamaya yönelik çalışmalarında kullanılabilecek bir platformdur. Bunlara örnek olarak yapay zeka, görüntü işleme, kontrol gibi çalışma alanları verilebilir. 1.3 evarobot Kullanımı evarobot ile bir çok farklı varyasyonlarda iletişime geçilerek çalışılabilmektedir. Bu kılavuzda başlangıç seviyesinde önerdiğimiz iki varyasyon üzerinde durulacaktır. Örnekte tekli robot ile çalışmak için ayarlamalar yapılmaktadır. Çoklu robotlar ile çalışmada detay almak için sitemiz üzerinden iletişime geçebilirsiniz. evarobot üzerinde modem kullanarak uzaktan gözlemleme yapabilir veya robotu kontrol edebilirsiniz. Yüksek kapasitede işlemler yapmaya ihtiyaç duyulduğunda minipc ya da dizüstü bilgisayarınızı kullanabilirsiniz. 6 Chapter 1. Giriş

11 1.3. evarobot Kullanımı 7

12 8 Chapter 1. Giriş

13 CHAPTER TWO HAZIRLIK 2.1 evarobot Kurulumu Bu kısımda evarobot üzerine yapılması gereken kurulumlar anlatılmaktadır. Evarobot un içerisinde robotun kontrolü için kullanılan Elektronik Kontrol Birimi (IM-EKB10) bulunmaktadır. Bu kartın içerisinde Raspberry Pi 2 çalışmaktadır. Yapılacak kurulumlar Raspberry Pi 2 ye takılacak olan SD kartın hazırlanmasına yöneliktir. EKB içerinde rt2-v7 linux kerneline sahip raspbian işletim sistemi çalışmaktadır. İşletim sistemi, evarobot sürücüleri ve ros paketlerinin kurulu olduğu image dosyası linkten indirilebilir. Bu kısımda image dosyasının sd karta yazılması için yapılması gerekenlerden bahsedilecektir. Uygulamanın yapıldığı bilgisayar üzerinde Ubuntu işletim sistemi bulunmaktadır. Robot ile gelen mikro SD karta sahip iseniz bu kısmı geçebilirsiniz. Image dosyasının son güncelleme tarihi: Sıkıştırılmış evapi image dosyası indirildikten sonra unxz komutu ile açılır. > unxz evapi-raspberrypi2-raspbian-rt-*.img.xz Ardından,.img dosyası EKB üzerinde çalışacak Micro SD karta kopyalama işlemi yapılır. SD kartın hafızası minimum 4GB olmalıdır. Tavsiye edilen hafıza ise 16GB tır. Örnek olarak verilen kodda çıkış dosyası olarak (of) /dev/sdb verilmiştir. Bu kısmı SD kartınız bilgisayarınızda hangi yolda açıldı ise onu yazmalısınız. Bu aşamada dikkatli olunması gerekmektedir. Aksi takdirde bilgisayardaki diğer harddiskleri biçimlendirme riski bulunmaktadır. Takılan SD kartın hangi yolda açıldığını öğrenmenin birçok yolu vardır. Disks isimli programı açarak resimdeki gibi öğrenebilirsiniz. > sudo dd bs=512 if=evapi-raspberrypi2-raspbian-rt-*.img of=/dev/sdb.img dosyasını sd karta 4GB lık alan kaplamaktadır. Eğer 4GB tan daha büyük bir SD kart kullandıysanız geriye kalan alan ayrılmamış olarak bulunacaktır. Ayrılmamış bölgeyi de kullanmak için yeniden boyutlandırma yapmanız gerekmektedir. Anlatımda gparted programını kullanacağız. Bu program bilgisayarınızda yüklü değil ise yüklemek için terminalde aşağıdaki kodu çalıştırmalısınız. > sudo apt-get install gparted Gparted programı açılıp sağ üst köşeden sd kart seçilir. Büyütülecek partition üzerinde işlem yapabilmek sağ tıklayarak Unmount a tıklayarak çıkartılır. Resimdeki gibi partition üzerinde sağ tıklanarak resize seçilir. İstenilen büyüklük ayarlanır ve değişikliklerin uygulanması için Apply All Operations butonuna tıklanır. Bu aşamadan sonra sd kart kullanıma hazır hale gelmektedir. Kullanım için sd kartı EKB ye takabilirsiniz. İşletim sistemindeki Kullanıcı Adı: pi 9

14 10 Chapter 2. Hazırlık

15 2.1. evarobot Kurulumu 11

16 Şifre: Evarobot kurulumunu aşağıdaki videodan takip edebilirsiniz. 2.2 Bilgisayar Kurulumu Bu kısımda bilgisayar üzerinden kontrol ve görselleştirme için gereken kurulumlar anlatılmaktadır. Evarobot üzerindeki EKB nin yazılımsal olarak görevi motorları sürmek, sonar, kızılötesi, enkoder, bumper gibi sensörleri okumaktır. Kısacası Evarobot un kontrolü bu kart üzerinden gerçekleştirilebilmektedir. Fakat daha yüksek işletim gücüne ihtiyaç duyan algoritmalar veya sensörler kullanıldığı zamanlarda ya da Evarobot çalışırken anlık görselleştirme yapmak istendiğinde başka bir bilgisayar kullanmak gerekmektedir. Bu bilgisayar mini pc veya bir laptop olabilir. Bunların dışında Evarobot u 3B simülasyon ortamı olan Gazebo da da çalıştırmak için bu kurulumu yapmanız gerekmektedir. Evarobot ile birlikte çalıştırmak istediğiniz bilgisayara Ubuntu işletim sistemini ve ROS Indigo yu kurmuş olmanız gerekmektedir. Bir sonraki adıma geçmeden önce Installing and Configuring ROS Environment isimli ROS dersini bilgisayarınızda tamamlamış olmanız gerekmektedir. Anlatım sırasında ROS workspace olarak catkin_ws klasör ismi kullanılacaktır. Eğer sizde bu workspace ın adı farklı ise lütfen komutları kendi bilgisayarınıza göre değiştirerek kullanınız. Yukarıda bahsedilen ROS dersini başarıyla ve harfiyen uyguladıysanız aşağıdaki kodları hiç bir değişiklik yapmadan kullanabilirsiniz. Evarobot PC paketi kurulumu iki şekilde yapılabilmektedir. Bunlardan kaynak kodu ile kurulum tavsiye edilen yöntemdir. Çünkü en güncel hali kaynak kodu üzerinden indirildiğinde elde edilmektedir. Debs ile Kurulum 12 Chapter 2. Hazırlık

17 > sudo apt-get install ros-indigo-evapc-ros Kaynak Kodu ile Kurulum Evarobot un bağımlı olduğu paketler indirilir ve derlenir. > cd ~/catkin_ws/src # rplidar paketi indirilir. > git clone -b slam # teleop paketi indirilir. > sudo apt-get install ros-indigo-teleop-twist-keyboard # gazebo ros paketleri indirilir. > git clone -b indigo-devel > git clone -b indigo-devel > git clone -b indigo-devel > git clone -b indigo-devel # hector gazebo modeli indirilir. > git clone -b indigo-devel # ros navigasyon paketi indirilir. > sudo apt-get install ros-indigo-navigation # çoklu rosmaster çalıştırmak için gerekli paket indirilir. > git clone -b indigo-devel # indirilen paketler derlenir. > cd ~/catkin_ws > catkin_make Evarobot PC paketi indirilir ve derlenir. > cd ~/catkin_ws/src # evarobot pc paketi indirilir. > git clone -b indigo-devel Evarobot simulasyon ortamını kurmak için evarobot_simulation paketinin indirilmesi gerekmektedir. İlgili bilgisayarda simulasyon ortamını kurmadıysanız bu adımı geçebilirsiniz. > git clone -b indigo-devel Indirilen paketler derlenir. > cd ~/catkin_ws > catkin_make 2.3 Ağ Ayarları Bu kısımda evarobot ile bağlantı için yapılması gereken ağ ayarları anlatılmaktadır. Ağ ayarları, bilgisayar ve evarobot için olmak üzere iki kategori altında toplanmıştır. Bilgisayar için Ağ Ayarları 2.3. Ağ Ayarları 13

18 Evarobot a üzerinde bulunan modem sayesinde kablosuz olarak bağlanmak mümkündür. Takip eden bölümde bağlanmak istediğiniz PC nin ağ ayarlarını yapmak için yapmanız gerekenler anlatılacaktır. Anlatım sırasında kullanılacak PC üzerinde Ubuntu işletim sistemi çalışmaktadır ve ROS versiyonu olarak Indigo kullanılmaktadır. Bilgisayarınızı evarobot üzerinde çalıştıracak iseniz ethernet kablosu ile bağlanmanız tavsiye edilir. Bilgisayarınıza kurmak için terminalde aşağıdaki kodu çalıştır- Evarobot a bağlanmak için SSH kullanılacaktır. malısınız. > sudo apt-get install ssh ssh-contact-service ssh-contact-client Ağ ayarlarını yaparken bilgisayarınızın adını bilmek gerekmektedir. Aşağıdaki kodu terminalde çalıştırdığınızda bilgisayarınızın adını öğrenebilirsiniz. > hostname Resimde de gördüğünüz gibi örneğimizde kullanacağımız bilgisayarın hostname i evarobotserver. Uygulamada <hostname> yazan yere biz evarobotserver yazacağız. Sizde kendi hostname inizi yazmanız gerekmektedir. bashrc isimli dosyanın içerisinde ROS_HOSTNAME ve ROS_MASTER_URI değişkenlerini tanımlamamız gerekmedir. Bunun için gedit editörü ile ilgili dosyayı açıyoruz. > gedit ~/.bashrc Açılan editörde en alltaki satıra kendi hostname inizi yazmalı ve kaydederek editörü kapatmalısınız. export ROS_HOSTNAME=<hostname> export ROS_MASTER_URI= Uygulamada kullanıdığımız bilgisayar için aşağıdaki gibi ekleme yapıyoruz. export ROS_HOSTNAME=evarobotserver export ROS_MASTER_URI= bashrc içerisinde herhangi bir değişiklik yapıldığında terminalde değişikliklerin uygulanması için açık terminalleri kapatıp yeniden açmalı ya da açık olan her terminalde aşağıdaki kodun çalıştırılması gerekmektedir. > bash ROS değişkenlerini tanımladıktan sonra, host isimlerini ip adresleri ile ilişkilendireceğiz. Bunun için aşağıdaki gibi super kullanıcı olarak hosts isimli dosyayı açıyoruz. > sudo gedit /etc/hosts gedit editörü ile açtığımız hosts dosyası içerisine Evarobot ve kendi bilgisayarımız için ip ve hostname bilgilerini giriyoruz. Burada dikkat edilmesi gereken konu, aynı ip birden fazla hostname e atanmamalıdır. 14 Chapter 2. Hazırlık

19 <hostname> evarobot Örnekte kullandığımız bilgisayar için aşağıdaki gibi ekleme yaptık. Sizde kendi bilgisayarınızın hostname ine uygun olarak düzeltme yapmalısınız evarobotserver evarobot evarobot ile bilgisayar arasında zaman eşitlemesinin yapılması gerekmektedir. Bunun için bilgisayarı ntp server olarak ayarlayacağız. Böylece, evarobot bilgisayara göre saatini ayarlayacaktır. Ntp nin indirilmesi için aşağıdaki kodu terminalde çalıştırıyoruz. > sudo apt-get install ntp NTP ayarlarını yapmak için ntp.conf dosyası açılır. > sudo gedit /etc/ntp.conf Editörde 23. satıra aşağıdaki satırlar eklenir. server server stratum satıra ise aşadaki satırlara eklenir ve dosya kaydedilerek kapatılır. broadcast evarobot Bilgisayar bir ağda client gibi çalışarak internetten saatini güncellerken, evarobot_wifi ağına girdiğinde ntp sunucu gibi çalışması için yeniden başlatmak gerekmektedir. Bu sebepten dolayı, evarobot_wifi isimli ağa her girildiğinde aşağıdaki kod terminalde çalıştırılarak ntp sunucunun yeniden başlatılması gerekmektedir. > sudo /etc/init.d/ntp restart NTP ağındaki bilgisayarlar hakkında bilgi almak için aşağıdaki kod kullanılabilir. > ntpq --numeric --peers evarobot_wifi ağı için ip ayarlarının yapılması Bu kısımda evarobot_wifi ağından ip sini statik olarak almak için ayarlar yapacağız. Evarobot a güç verdiğinizde bir kaç dakika içerisinde evarobot_wifi isimli ağı görebilirsiniz. Modem bilgileri: SSID: evarobot Şifre: inomuh2015 Aşağıdaki resimlerdeki evarobot isimli ağa girilir. Ağdan şu anda dhcp tarafından otomatik bir ip atandı. Aşağıdaki resimlerdeki gibi Edit Connections.. a tıklandığında açılan ekran evarobot_wifi seçilerek Edit butonuna basılır. Açılan ekranda IPv4 Settings sekmesi altında Method Manual seçilerek resimdeki gibi adresler eklenir. Address: Netmask: Gateway: Yeni girilen ayarların aktif olması için resimdeki gibi Wifi Enable ve ardından Disable edilir. Daha sonra evarobot_wifi ağına girilir. Eğer ayarlamalar hatasız bir şekilde yapıldı ise terminalde aşağıdaki kod çalıştırıldığında resimdeki gibi bilgisayarın no ip yi almış olması beklenmektedir Ağ Ayarları 15

20 evarobot Documentation, Release indigo 16 Chapter 2. Hazırlık

21 evarobot Documentation, Release indigo 2.3. Ag Ayarları 17

22 18 Chapter 2. Hazırlık

23 evarobot Documentation, Release indigo 2.3. Ag Ayarları 19

24 > ifconfig Böylece bilgisayarınızın Evarobot ile sorunsuz haberleşebilmesi için, bilgisayar tarafında yapılması gerekli olan ayarlamaları yapmış bulunmaktasınız. evarobot için Ağ Ayarları Evarobot ağ ayarlarını yapmadan önce Bilgisayar Ağ Ayarlarını yapmış olmasınız. evarobot ağına statik ip ile bağlandıktan sonra, ssh ile Evarobot a bağlanılır. (Şifre: 12345) > ssh pi@evarobot Evarobot içerisindeki hosts isimli dosyaya kendi bilgisayarımızın adını ve IP sini eklemek için açıyoruz. Evarobot a ssh ile bağlandığımız için içeride görsel bir şey çalıştırmak mümküm değildir. Bu yüzden gedit editörü yerine nano editörünü kullanıyoruz. > sudo nano /etc/hosts Aşağıdaki gibi eklemeye yapacağız. Hostname yerine bilgisayarımızın hostname i yazacağız. 20 Chapter 2. Hazırlık

25 <hostname> Örnek için kullandığımız bilgisayar için aşağıdaki gibi bir giriş yapıyoruz evarobotserver Kaydederek çıkmak için Ctrl + X tuş kombinasyonunu kullanıyoruz. Kaydetmek isteyip istemediğimizi soracak Y tuşuna basıyoruz. Ardından dosya isminde değişiklik yapmadan Enter a basıyoruz. Evarobot un bilgisayarınız ile zaman eşitlemesi yapması için bilgisayar tarafında yapılan ayarlara benzer bir ayarlama da Evarobot tarafında yapmak gerekmektedir. Bunun için nano editörü ile ntp.conf dosyasını açıyoruz. > sudo nano /etc/ntp.conf Açılan dosyada 22. satıra aşağıdaki kodu, hostname olarak bilgisayarınızın adı gelecek şekilde düzenleme yaparak eklemeniz gerekmektedir. nano editöründe imlecin hangi satırda olduğunu öğrenmek için Ctrl+C tuş kombinasyonunu kullanabilirsiniz. server <hostname> iburst Örneğimiz için biz aşağıdaki kodu yapıştırdık. Sizde kendinize göre düzenlemeyi unutmayınız. server evarobotserver iburst Dosyanın en sonundaki iki satırın başında # işaretlerini siliniz. #disable auth #broadcastclient Son iki satırıda aşağıdaki formata getirdikten sonra Ctrl+X ile değişiklikleri kaydederek çıkalım. disable auth broadcastclient Aşağıdaki kodu teminalde çalıştırarak ntp yi yeniden başlatmalısınız. > sudo /etc/init.d/ntp restart Böylece Evarobot Ağ Ayarlarını tamamlamış bulunmaktayız. 2.4 Donanımsal Kurulum Talimatları... İçerik Hazırlanıyor Donanımsal Kurulum Talimatları 21

26 22 Chapter 2. Hazırlık

27 CHAPTER THREE ÇALIŞTIRMA 3.1 Bilgisayarı Çalıştırma Bu kısımda bilgisayardan evarobotunuzu kontrol etmek için yapmanız gerekenler anlatılmaktadır. evarobot a güç verildiğinde evarobot isminde kablosuz ağ oluşmakta ve EKB(Elektronik Kontrol Birimi) açılmaktadır. Bilgisayardan evarobot (Şifre: inomuh2015) ağına girilir ve ssh ile Evarobot a bağlanılır. SSH bağlantısı yapmak için aşağıdaki kod çalıştırılır. > ssh pi@evarobot evarobot üzerinde ROS kütüphanelerini çalıştırmak için süper kullanıcı olarak giriş yapmak gerekmektedir. SSH yaptıktan sonra süper kullanıcı girişi aşağıdaki kod çalıştırılarak yapılır. > sudo -s evarobot içerisinde her yeni bir terminal açmak istenildiğinde yukarıdaki iki kod bilgisayar terminalinde çalıştırılmalıdır. 3.2 Evarobot u Çalıştırma Evarobot a açma butonuna bastığınızda ortamda evarobot isimli kablosuz ağ oluşacaktır. Bilgisayarınız ile bu ağa bağlandıktan kısa süre sonra evarobot açılışını tamamlayarak çalışmaya tam performans çalışmaya başlayacaktır. 3.3 Evarobot Servisi Evarobot un üzerindeki bütün sürücüleri ve ros paketlerini kontrol eden bir servis bulunmaktadır. Bu servis robota güç verdiğinizde otomatik olarak çalışmaktadır. Bu servisi kontrol etmek için aşağıdaki komutları kullanabilirsiniz. Başlatmak için > sudo service evarobot start Durdurmak için > sudo service evarobot status Tekrardan başlatmak için > sudo service evarobot restart Servisin durumu hakkında bilgi almak için 23

28 > sudo service evarobot status 3.4 Evarobot Kalibrasyon Evarobot un kendi yönelimini daha iyi hesaplaması için IMU sensörün kalibrasyonunu yapmanız gerekmektedir. Kalibrasyonu başlatmadan önce evarobot servisinin kapalı olduğundan emin olun. > sudo service evarobot status Eğer servis durumu sorgulandığında çalışıyor ise, servisi durdurmak için, > sudo service evarobot stop Kalibrasyonu başlattığınızda robot kendi etrafında belirli bir süre dönecektir. Bu sebepten dolayı robotun bu hareketi düzgün gerçekleştirebileceği ortama koyduğunuzdan emin olun. Etrafı nesnelerden arındırılmış ve düz bir zemine robotu koyduktan sonra kalibrasyonu çalıştırmak için, > sudo -s > roslaunch evarobot_start imu_calibration.launch Ekranda işlemin başarı ile tamamladığını belirten yazı çıktıktan sonra Ctrl+C yaparak işlemi sonlardırabilirsiniz. 24 Chapter 3. Çalıştırma

29 CHAPTER FOUR ROS UYGULAMALARI 4.1 ROS Uygulamaları Bumper Bu kısımda evarobot üzerindeki bumper sensörlerinin nasıl kullanılacağı anlatılmaktadır. Bumper ı Çalıştırma evarobot içerisindeki sürücüler sayesinde robot üzerindeki bumper sensörleri okunabilmektedir. Sensörlerin okuma bilgisi, çarpışma var ya da yok şeklinde bir değere sahiptir. evarobot üzerindeki bumper ı çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobot > sudo -s Bumper sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_bumper isimli launch dosyası bumper sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_bumper sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_bumper evarobot_bumper.launch Bilgisayar ile evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch Bumper ı Terminalden Okuma Bilgisayar tarafında terminalden bumper sensörlerini okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile bumper verisi okunabilir. 25

30 # pc > rostopic echo /bumper Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /bumper Bumper için Basit Subscriber Yazma Catkin çalışma alanında evarobot_bumper_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_bumper_subs im_msgs rospy roscpp Oluşturulan paketin içerinde /src klasörü altında bumper_listener.cpp isminde c++ dosyası oluşturulur. > cd ~/catkin_ws/src/evarobot_bumper_subs > mkdir -p ~/catkin_ws/src/evarobot_bumper_subs/src > cd src > gedit bumper_listener.cpp bumper_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. #include "ros/ros.h" #include "im_msgs/bumper.h" /** * Bu örnekte evarobot üzerindeki bumper sensörleri ROS sistemi üzerinden okuyan basit bir subscriber */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte görevi gelen verileri ekrana yazdırmakdır. */ void chattercallback(const im_msgs::bumper::constptr& msg) { ROS_INFO("New Data: %d", msg->header.seq); for(int i = 0; i < msg->state.size(); i++) { if(msg->state[i].bumper_state) ROS_INFO("Bumper[%d] True", i); else ROS_INFO("Bumper[%d] False", i); } } int main(int argc, char **argv) { /** * ROS ilklendiriliyor. */ ros::init(argc, argv, "bumper_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. 26 Chapter 4. ROS Uygulamaları

31 * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("bumper", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_bumper_subs) find_package(catkin REQUIRED COMPONENTS im_msgs roscpp rospy ) catkin_package() include_directories( ${catkin_include_dirs} ) add_executable(bumper_listener src/bumper_listener.cpp) add_dependencies(bumper_listener im_msgs_generate_messages_cpp) target_link_libraries(bumper_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız bumper_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmektedir. > rosrun evarobot_bumper_subs bumper_listener Kızılötesi Bu kısımda evarobot üzerindeki kızılötesi sensörlerinin nasıl kullanılacağı anlatılmaktadır. Kızılötesini Çalıştırma Evarobot üzerindeki kızılötesi sensörleri çalıştırmadan önce Evarobot a ssh ile bağlanılır ROS Uygulamaları 27

32 # evarobot > ssh > sudo -s Kızılötesi sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_infrared isimli launch dosyası kızılötesi sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_infrared sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_infrared evarobot_infrared.launch Bilgisayar ile Evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch Kızılötesi Sensörlerini Terminalden Okuma Bilgisayar tarafında terminalden kızılötesi sensörlerini okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile kızılötesi verisi okunabilir. Varsayılan ayarlarda kullanılan topik ismi /sensor/ir<n> şeklindedir. n senörün numarasını belirtmektedir. 3 tane sensör kullanığı örneği üzerinden bakarsak /sensor/ir0, /sensor/ir1, /sensor/ir2 isimli topiklerden veriler okunabilecektir. Örnek olarak 0 nolu sensörün verisini okumak için aşağıdaki kodu kullanıbiliriz. # pc > rostopic echo /sensor/ir0 Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /sensor/ir0 Kızılötesi Sensör için Basit Subscriber Yazma Catkin çalışma alanında evarobot_infrared_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_infrared_subs sensor_msgs rospy roscpp Oluşturulan paketin içerinde /src klasörü altında infrared_listener.cpp isminde c++ dosyası oluşturulur. Örnek kapsamında kızılötesi sensörlerden sadece 0 nolu sensörün okuması yapılacaktır. > cd ~/catkin_ws/src/evarobot_infrared_subs > mkdir -p ~/catkin_ws/src/evarobot_infrared_subs/src > cd src > gedit infrared_listener.cpp infrared_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. 28 Chapter 4. ROS Uygulamaları

33 #include "ros/ros.h" #include "sensor_msgs/range.h" /** * Bu örnekte evarobot üzerindeki kızılötesi sensörleri ROS sistemi üzerinden okuyan basit bir subscr */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte, görevi gelen mesafe verileri ekrana yazdırmakdır. */ void chattercallback(const sensor_msgs::range::constptr& msg) { ROS_INFO("Infrared Seq: [%d]", msg->header.seq); ROS_INFO("Infrared Range: [%f]", msg->range); } int main(int argc, char **argv) { /** * ROS ilklendiriliyor. */ ros::init(argc, argv, "infrared_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("sensor/ir0", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_infrared_subs) find_package(catkin REQUIRED COMPONENTS sensor_msgs roscpp rospy ) catkin_package() include_directories( ${catkin_include_dirs} ) 4.1. ROS Uygulamaları 29

34 add_executable(infrared_listener src/infrared_listener.cpp) add_dependencies(infrared_listener sensor_msgs_generate_messages_cpp) target_link_libraries(infrared_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız infrared_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmektedir. > rosrun evarobot_infrared_subs infrared_listener Kızılötesi Sensör Verisini Görselleştirme > rosrun rviz rviz Kızılötesi Bu kısımda evarobot üzerindeki kızılötesi sensörlerinin nasıl kullanılacağı anlatılmaktadır. 30 Chapter 4. ROS Uygulamaları

35 Kızılötesini Çalıştırma Evarobot üzerindeki kızılötesi sensörleri çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobot > sudo -s Kızılötesi sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_infrared isimli launch dosyası kızılötesi sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_infrared sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_infrared evarobot_infrared.launch Bilgisayar ile Evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch Kızılötesi Sensörlerini Terminalden Okuma Bilgisayar tarafında terminalden kızılötesi sensörlerini okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile kızılötesi verisi okunabilir. Varsayılan ayarlarda kullanılan topik ismi /sensor/ir<n> şeklindedir. n senörün numarasını belirtmektedir. 3 tane sensör kullanığı örneği üzerinden bakarsak /sensor/ir0, /sensor/ir1, /sensor/ir2 isimli topiklerden veriler okunabilecektir. Örnek olarak 0 nolu sensörün verisini okumak için aşağıdaki kodu kullanıbiliriz. # pc > rostopic echo /sensor/ir0 Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /sensor/ir0 Kızılötesi Sensör için Basit Subscriber Yazma Catkin çalışma alanında evarobot_infrared_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_infrared_subs sensor_msgs rospy roscpp Oluşturulan paketin içerinde /src klasörü altında infrared_listener.cpp isminde c++ dosyası oluşturulur. Örnek kapsamında kızılötesi sensörlerden sadece 0 nolu sensörün okuması yapılacaktır ROS Uygulamaları 31

36 > cd ~/catkin_ws/src/evarobot_infrared_subs > mkdir -p ~/catkin_ws/src/evarobot_infrared_subs/src > cd src > gedit infrared_listener.cpp infrared_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. #include "ros/ros.h" #include "sensor_msgs/range.h" /** * Bu örnekte evarobot üzerindeki kızılötesi sensörleri ROS sistemi üzerinden okuyan basit bir subscr */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte, görevi gelen mesafe verileri ekrana yazdırmakdır. */ void chattercallback(const sensor_msgs::range::constptr& msg) { ROS_INFO("Infrared Seq: [%d]", msg->header.seq); ROS_INFO("Infrared Range: [%f]", msg->range); } int main(int argc, char **argv) { /** * ROS ilklendiriliyor. */ ros::init(argc, argv, "infrared_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("sensor/ir0", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_infrared_subs) find_package(catkin REQUIRED COMPONENTS sensor_msgs roscpp rospy ) 32 Chapter 4. ROS Uygulamaları

37 catkin_package() include_directories( ${catkin_include_dirs} ) add_executable(infrared_listener src/infrared_listener.cpp) add_dependencies(infrared_listener sensor_msgs_generate_messages_cpp) target_link_libraries(infrared_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız infrared_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmektedir. > rosrun evarobot_infrared_subs infrared_listener Kızılötesi Sensör Verisini Görselleştirme > rosrun rviz rviz Sonar Bu kısımda evarobot üzerindeki sonar sensörlerinin nasıl kullanılacağı anlatılmaktadır. Sonar Sensörünü Çalıştırma Evarobot üzerindeki sonarları çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobot > sudo -s Sonar sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_sonar isimli launch dosyası sonar sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_sonar sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_sonar evarobot_sonar.launch Bilgisayar ile Evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch 4.1. ROS Uygulamaları 33

38 34 Chapter 4. ROS Uygulamaları

39 Sonar Sensörlerini Terminalden Okuma Bilgisayar tarafında terminalden sonar sensörlerini okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile sonar verisi okunabilir. Varsayılan ayarlarda kullanılan topik ismi /sensor/sonar<n> şeklindedir. n senörün numarasını belirtmektedir. 3 tane sensör kullanığı örneği üzerinden bakarsak /sensor/sonar0, /sensor/sonar1, /sensor/sonar2 isimli topiklerden veriler okunabilecektir. Örnek olarak 0 nolu sensörün verisini okumak için aşağıdaki kodu kullanıbiliriz. # pc > rostopic echo /sensor/sonar0 Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /sensor/sonar0 Sonar Sensör icin Basit Subscriber Yazma Catkin çalışma alanında evarobot_sonar_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_sonar_subs sensor_msgs rospy roscpp Örnek kap- Oluşturulan paketin içerinde /src klasörü altında sonar_listener.cpp isminde c++ dosyası oluşturulur. samında sonar sensörlerden sadece 0 nolu sensörün okuması yapılacaktır. > cd ~/catkin_ws/src/evarobot_sonar_subs > mkdir -p ~/catkin_ws/src/evarobot_sonar_subs/src > cd src > gedit sonar_listener.cpp sonar_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. #include "ros/ros.h" #include "sensor_msgs/range.h" /** * Bu örnekte evarobot üzerindeki sonar sensörleri ROS sistemi üzerinden okuyan basit bir subscriber */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte, görevi gelen mesafe verileri ekrana yazdırmakdır. */ void chattercallback(const sensor_msgs::range::constptr& msg) { ROS_INFO("Sonar Seq: [%d]", msg->header.seq); ROS_INFO("Sonar Range: [%f]", msg->range); } int main(int argc, char **argv) { /** 4.1. ROS Uygulamaları 35

40 * ROS ilklendiriliyor. */ ros::init(argc, argv, "infrared_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("sensor/sonar0", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_sonar_subs) find_package(catkin REQUIRED COMPONENTS sensor_msgs roscpp rospy ) catkin_package() include_directories( ${catkin_include_dirs} ) add_executable(sonar_listener src/sonar_listener.cpp) add_dependencies(sonar_listener sensor_msgs_generate_messages_cpp) target_link_libraries(sonar_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız sonar_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmektedir. 36 Chapter 4. ROS Uygulamaları

41 > rosrun evarobot_sonar_subs sonar_listener Sonar Sensör Verisini Görselleştirme > rosrun rviz rviz Lidar Bu kısımda evarobot üzerindeki RPLidar sensörünün nasıl kullanılacağı anlatılmaktadır. Evarobot üzerindeki lidar sensör hakkında daha detaylı bilgi için rplidar ros paketi incelenebilir. Ders kapsamında Türkçe kaynak oluşturması adına yüklemek ve çalıştırmak için yapılması gerekenlerden kısaca bahsedilecektir. Paketin kaynak kodu indirilir ve derlenir. > cd ~/catkin_ws/src > git clone -b slam > cd ~/catkin_ws > catkin_make Rplidar ı çalıştırmak için usb sürücüsüne izin vermek gerekmektedir ROS Uygulamaları 37

42 > sudo chmod 777 /dev/ttyusb0 Sadece rplidar ı çalıştırmak için, > roslaunch rplidar_ros rplidar.launch Rplidar ile birlikte rviz de görselleştirme de yapmak için view_rplidar.launch dosyası kullanılabilir. > roslaunch rplidar_ros view_rplidar.launch Enkoder Bu kısımda enkoderlerden veri okuma ve odom konum hesabı anlatılmaktadır. Enkoder Sensörünü Çalıştırma Evarobot üzerindeki enkoder sensörleri çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobot > sudo -s Enkoder sensörleri çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_odometry isimli launch dosyası enkoder sensörlerini çalıştırmakta ve robotun bağıl konumu ve hızını hesaplamaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_odometry sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_odometry evarobot_odometry.launch 38 Chapter 4. ROS Uygulamaları

43 Bilgisayar ile Evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch Enkoder Sensörlerini Terminalden Okuma Bilgisayar tarafında terminalden enkoderlerden gelen veri ile hesaplanan konum ve hız bilgilerini okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile hesaplanan robotun bağıl konum ve hız okunabilir. # pc > rostopic echo /odom Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /odom Enkoder Konum Bilgisini Okumak icin Basit Subscriber Yazma Catkin çalışma alanında evarobot_odom_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_odom_subs nav_msgs rospy roscpp Oluşturulan paketin içerinde /src klasörü altında odom_listener.cpp isminde c++ dosyası oluşturulur. > cd ~/catkin_ws/src/evarobot_odom_subs > mkdir -p ~/catkin_ws/src/evarobot_odom_subs/src > cd src > gedit odom_listener.cpp odom_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. #include "ros/ros.h" #include "nav_msgs/odometry.h" /** * Bu örnekte evarobot üzerindeki bağıl konum ve hız ROS sistemi üzerinden okuyan basit bir subscribe */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte, görevi gelen mesafe verileri ekrana yazdırmakdır. */ void chattercallback(const nav_msgs::odometry::constptr& msg) { ROS_INFO("Seq: [%d]", msg->header.seq); 4.1. ROS Uygulamaları 39

44 } ROS_INFO("Position-> x: [%f], y: [%f], z: [%f]", msg->pose.pose.position.x,msg->pose.pose.position. ROS_INFO("Orientation-> x: [%f], y: [%f], z: [%f], w: [%f]", msg->pose.pose.orientation.x, msg->pos ROS_INFO("Vel-> Linear: [%f], Angular: [%f]", msg->twist.twist.linear.x,msg->twist.twist.angular.z) int main(int argc, char **argv) { /** * ROS ilklendiriliyor. */ ros::init(argc, argv, "odom_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("odom", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_odom_subs) find_package(catkin REQUIRED COMPONENTS nav_msgs roscpp rospy ) catkin_package() include_directories( ${catkin_include_dirs} ) add_executable(odom_listener src/odom_listener.cpp) add_dependencies(odom_listener nav_msgs_generate_messages_cpp) target_link_libraries(odom_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız odom_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmekte- 40 Chapter 4. ROS Uygulamaları

45 dir. > rosrun evarobot_odom_subs odom_listener IMU Bu kısımda evarobot üzerinde bulunan minimu9 v3 sensörünün kullanımı anlatılmaktadır. IMU Sensörünü Çalıştırma Evarobot üzerindeki imu sensörünü çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobot > sudo -s IMU sensörünü çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_minimu9 isimli launch dosyası imu sensörünü çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_minimu9 sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_minimu9 evarobot_minimu9.launch Bilgisayar ile Evarobot un konuşabilmesi için multimaster_fkie paketinde keşif ve senkronizasyon için kullanılan iki düğümü çalıştırmamız gerekmektedir. # evarobot > roslaunch evarobot_start master_discovery.launch # evarobot > roslaunch evarobot_start master_sync.launch IMU Sensörünü Terminalden Okuma Bilgisayar tarafında terminalden imu sensörünü okumak için senkronizasyon düğümlerini çalıştırmak gerekmektedir. # pc > roslaunch evapc_start sync.launch Başka bir terminalde rostopic komutu ile imu verisi okunabilir. # pc > rostopic echo /imu Topik hakkında bilgi almak için ise aşağıdaki kod kullanılır. # pc > rostopic info /imu IMU Sensör icin Basit Subscriber Yazma Catkin çalışma alanında evarobot_imu_subs adında paket oluşturulur. > cd ~/catkin_ws/src > catkin_create_pkg evarobot_imu_subs sensor_msgs rospy roscpp 4.1. ROS Uygulamaları 41

46 Oluşturulan paketin içerinde /src klasörü altında imu_listener.cpp isminde c++ dosyası oluşturulur. > cd ~/catkin_ws/src/evarobot_imu_subs > mkdir -p ~/catkin_ws/src/evarobot_imu_subs/src > cd src > gedit imu_listener.cpp imu_listener.cpp dosyasının içerisine yazılacak kod aşağıda verilmektedir. #include "ros/ros.h" #include "sensor_msgs/imu.h" /** * Bu örnekte evarobot üzerindeki imu sensörünü ROS sistemi üzerinden okuyan basit bir subscriber yap */ /** * Dinlenen topikten veri geldiğinde çalışacak callback fonksiyonudur. * Bu örnekte, görevi gelen mesafe verileri ekrana yazdırmakdır. */ void chattercallback(const sensor_msgs::imu::constptr& msg) { ROS_INFO("Imu Seq: [%d]", msg->header.seq); ROS_INFO("Imu Orientation x: [%f], y: [%f], z: [%f], w: [%f]", msg->orientation.x,msg->orientation. } int main(int argc, char **argv) { /** * ROS ilklendiriliyor. */ ros::init(argc, argv, "imu_listener"); ros::nodehandle n; /** * Subscriber tanımlanıyor. * İlk parametre olarak dinlenecek topiğin adı, ardından bufferın büyüklüğü ve callback fonksiyonu */ ros::subscriber sub = n.subscribe("imu", 1000, chattercallback); ros::spin(); } return 0; Kod bu linten indirilebilir. Paket derlenirken yazdığımız cpp dosyasını derlemesi için CMakeLists.txt dosyasını aşağıdaki gibi düzenliyoruz. > cd.. > gedit CMakeLists.txt cmake_minimum_required(version 2.8.3) project(evarobot_imu_subs) find_package(catkin REQUIRED COMPONENTS sensor_msgs roscpp rospy 42 Chapter 4. ROS Uygulamaları

47 ) catkin_package() include_directories( ${catkin_include_dirs} ) add_executable(imu_listener src/imu_listener.cpp) add_dependencies(imu_listener sensor_msgs_generate_messages_cpp) target_link_libraries(imu_listener ${catkin_libraries} ) Yazdığımız ROS paketini derliyoruz. > cd ~/catkin_ws/ > catkin_make Yazdığımız imu_listener düğümünü aşağıdaki gibi çalıştırıldığında, okunan verilerin ekrana yazılması beklenmektedir. > rosrun evarobot_imu_subs imu_listener Kinect Bu kısımda Kinect verisinin kullanılması ve görselleştirilmesi anlatılmaktadır. Kinect i çalıştırmak için OpenNI ve NITE kurmamız gerekmektedir. İlgili yazılımları kurmadan önce bağlı oldukları kütüphaneleri indiriyoruz. > sudo apt-get install g++ python libusb dev freeglut3-dev > sudo apt-get install doxygen graphviz mono-complete > sudo apt-get install openjdk-7-jdk OpenNI kurmak için aşağıdaki işlemleri sırası ile yapmamız gerekmektedir. > git clone > cd OpenNI > git checkout Unstable > cd Platform/Linux/CreateRedist > sudo chmod +x RedistMaker >./RedistMaker > cd../redist/openni-bin-dev-linux-[xxx] > sudo./install.sh Kinect donanımı ile haberleşmeyi sağlamak için ise NITE i kuruyoruz. > git clone git://github.com/ph4m/sensorkinect.git > cd SensorKinect/Platform/Linux/CreateRedist > sudo chmod +x RedistMaker >./RedistMaker > cd../redist/sensor-bin-linux-x64-v* > sudo./install.sh Kinect ten gelen verileri ROS ortamına aktarmak için kullanabileceğimiz launch dosyasını indirmemiz gerekmektedir. openni ve freenect olmak üzere iki tane launch dosyası bulunmaktadır. Bunlardan bir tanesini kurarak çalıştırmamız yeterlidir. Fakat bazı bilgisayarlarda openni.launch çalışmadığı için ikisininde kurulumu va çalıştırılmasını ders kapsamında anlatacağız. Openni kurulumu aşağıdaki gibidir ROS Uygulamaları 43

48 > sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch Çalıştırmak için ise aşağıdaki gibi launch dosyasını çalıştırmamız yeterlidir. > roslaunch openni_launch openni.launch Kinect, Evarobot ile birlikte çalıştırıldığında koordinat dönüşümlerinde hata olmaması için derinlik frame i olarak kinect_dummy nin argumanlarda verilmesi gerekmektedir. > roslaunch openni_launch openni.launch depth_frame_id:=kinect_dummy Openni launch dosyasını açmada problem yaşarsak, aşağıdaki gibi freenect kurabiliriz. > sudo apt-get install libfreenect-dev ros-indigo-freenect-launch freeenect in çalıştırılmak için ise aşağıdaki gibi launch dosyasını çalıştırmamız yeterlidir. > roslaunch freenect_launch freenect.launch Kinect verisini görselleştirmek için rviz i kullabiliriz. > rosrun rviz rviz Joystick ile Kontrol Bu kısımda evarobotun joystick ile kontrolü anlatılmaktadır. 44 Chapter 4. ROS Uygulamaları

49 SLAM Harita Oluşturma Bu kısımda gmapping ve hector_slam kullanarak SLAM harita oluşturma anlatılmaktadır. Sistem Tanıtımı hector_slam Kullanarak Harita Çıkarma SLAM yapmamız için gerekli olan düğümleri çalıştıran evarobot_slam.launch dosyasını açalım. evarobot_slam.launch dosyası hector_slam in parametrelerini ayarlarak çalıştırmaktadır. > roslaunch evarobot_slam evarobot_slam.launch İyi bir konumlandırma için SLAM yaparken evarobot u klavye ile sürerek haritanın tamamının kaydedilmesini sağlamamız gerekmektedir. Bunun için aşağıdaki kod ile klavye ile kontrol düğümünü açıyoruz. > rosrun teleop_twist_keyboard teleop_twist_keyboard.py Tüm ortamın haritasını çıkarma işlemi tamamlandıktan sonra haritayı konumlandırma düğümlerinde kullanmak için kaydetmemiz gerekmektedir. map_saver düğümü ile evarobot_navigation/map klasörü altına kaydediyoruz. > rosrun map_server map_saver -f $(rospack find evarobot_navigation)/map/map Böylece ortamın haritasını hector_slam paketini kullanarak çıkarmış olduk. Örnek uygulamayı videodan takip edebilirsiniz ROS Uygulamaları 45

50 Uygulamalar: Otonom Evarobot Navigasyonu Bu kısımda daha önceden çıkartılmış haritada evarobot un otonom robot navigasyonu anlatılmaktadır. Sistem Tanıtımı Navigasyon evarobot u otonom hareket ettirmek için önceden ortamın haritasını çıkarmış olmanız gerekmektedir. Gerçek ortamda, Evarobot un otonom navigasyonu için aşağıdaki kodu terminalde çalıştırmanız yeterli olacaktır. Çalıştırılan launch dosyası; Daha önceden kaydedilen haritayı, amcl isimli konumlandırma düğümünü, global ve lokal planlayıcıyı içeren move_base_real.launch dosyasını, rviz i çalıştırmaktadır. > roslaunch evarobot_navigation evarobot_navigation.launch evarobot a otonom gitmesini istediğiniz noktayı bu örnek için rviz üzerinden verebilirsiniz. Bunun için rviz de 2D Nav Goal ile harita üzerinde işaretlemeniz yeterli olacaktır. rviz i kullanmadan kendi yazacağınız düğüm ile hedef 46 Chapter 4. ROS Uygulamaları

51 konumları evarobot a vererek otonom hareket ettirebilirsiniz. Hedefleri move_base e vermek için /move_base/goal isimli topikten hedef konum basmanız yeterli olacaktır. Örnek uygulamayı videodan takip edebilirsiniz ROS Uygulamaları 47

52 48 Chapter 4. ROS Uygulamaları

53 CHAPTER FIVE MATLAB UYGULAMALARI 5.1 MATLAB Uygulamaları MATLAB uygulamaları geliştirilirken evarobotcommunicator sınıfı kullanılmıştır Bumper Bu kısımda evarobot üzerindeki bumper verilerinin MATLAB da nasıl okunacağı anlatılmaktadır. Bumper ı Çalıştırma evarobot içerisindeki sürücüler sayesinde robot üzerindeki bumper sensörleri okunabilmektedir. Sensörlerin okuma bilgisi, çarpışma var ya da yok şeklinde bir değere sahiptir. evarobot üzerindeki bumper ı çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobotdsk > sudo -s Bumper sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_bumper isimli launch dosyası bumper sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_bumper sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_bumper evarobot_bumper.launch Bumper Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable bumper data enablebumper(evarobot); %enablebumper(evarobot, [ /bumper0 ; /bumper1 ]); % you can pause the script to wait for the subscribers to set up properly. pause(5); 49

54 % get subscribed data bumper0 = evarobot.bumperdata0; bumper1 = evarobot.bumperdata1; bumper2 = evarobot.bumperdata2; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir Kızılötesi Bu kısımda evarobot üzerindeki kızılötesi verilerinin MATLAB da nasıl kullanılacağı anlatılmaktadır. Kızılötesini Çalıştırma Evarobot üzerindeki kızılötesi sensörleri çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobotdsk > sudo -s Kızılötesi sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_infrared isimli launch dosyası kızılötesi sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_infrared sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_infrared evarobot_infrared.launch Kızılötesi Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable IR data enableir(evarobot); %enableir(evarobot, [ /ir0 ; /ir1 ]); % you can pause the script to wait for the subscribers to set up properly. pause(5); % get subscribed data ir0 = evarobot.irdata0; ir1 = evarobot.irdata1; ir2 = evarobot.irdata2; ir3 = evarobot.irdata3; ir4 = evarobot.irdata4; ir5 = evarobot.irdata5; ir6 = evarobot.irdata6; 50 Chapter 5. MATLAB Uygulamaları

55 ir7 = evarobot.irdata7; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir Sonar Bu kısımda evarobot üzerindeki sonar verilerinin MATLAB da nasıl kullanılacağı anlatılmaktadır. Sonar Sensörünü Çalıştırma Evarobot üzerindeki sonarları çalıştırmadan önce Evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobotdsk > sudo -s Sonar sensörlerini çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_sonar isimli launch dosyası sonar sensörleri çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_sonar sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_sonar evarobot_sonar.launch Sonar Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable Sonar data enablesonar(evarobot); %enablesonar(evarobot, [ /sonar0 ; /sonar1 ; /sonar2 ; /sonar3 ]); % you can pause the script to wait for the subscribers to set up properly. pause(5); % get subscribed data sonar0 = evarobot.sonardata0; sonar1 = evarobot.sonardata1; sonar2 = evarobot.sonardata2; sonar3 = evarobot.sonardata3; sonar4 = evarobot.sonardata4; sonar5 = evarobot.sonardata5; sonar6 = evarobot.sonardata6; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown 5.1. MATLAB Uygulamaları 51

56 Kod bu linten indirilebilir Lidar Bu kısımda evarobot üzerindeki RPLidar sensörünün MATLAB da nasıl kullanılacağı anlatılmaktadır. RPLidar Sensörünü Çalıştırma Evarobot üzerindeki lidar sensör hakkında daha detaylı bilgi için rplidar ros paketi incelenebilir. Ders kapsamında Türkçe kaynak oluşturması adına yüklemek ve çalıştırmak için yapılması gerekenlerden kısaca bahsedilecektir. Paketin kaynak kodu indirilir ve derlenir. > cd ~/catkin_ws/src > git clone -b slam > cd ~/catkin_ws > catkin_make Rplidar ı çalıştırmak için usb sürücüsüne izin vermek gerekmektedir. > sudo chmod 777 /dev/ttyusb0 Sadece rplidar ı çalıştırmak için, > roslaunch rplidar_ros rplidar.launch RPLidar Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable Lidar data enablelidar(evarobot); %enablelidar(evarobot, /lidar ); % If you are running all the lines consecutively, % you can pause the script to wait for the subscribers to set up properly. pause(5); % get subscribed data lidar = evarobot.lidardata; % plot lidar data lidar.plot % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir. 52 Chapter 5. MATLAB Uygulamaları

57 5.1.5 Enkoder Bu kısımda enkoderlerden MATLAB da veri okuma anlatılmaktadır. Enkoder Sensörünü Çalıştırma evarobot üzerindeki enkoder sensörleri çalıştırmadan önce evarobot a ssh ile bağlanılır. # evarobot > ssh pi@evarobotdsk > sudo -s Enkoder sensörleri çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_odometry isimli launch dosyası enkoder sensörlerini çalıştırmakta ve robotun bağıl konumu ve hızını hesaplamaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_odometry sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_odometry evarobot_odometry.launch Enkoder Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable Encoder data enableodom(evarobot); %enableodom(evarobot, /odom ); % If you are running all the lines consecutively, % you can pause the script to wait for the subscribers to set up properly. pause(5); % get subscribed data odom_data = evarobot.odomdata; odom_pose = evarobot.odompose; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir IMU Bu kısımda evarobot üzerinde bulunan minimu9 v3 sensörünün MATLAB da kullanımı anlatılmaktadır. IMU Sensörünü Çalıştırma Evarobot üzerindeki imu sensörünü çalıştırmadan önce Evarobot a ssh ile bağlanılır MATLAB Uygulamaları 53

58 # evarobot > ssh > sudo -s IMU sensörünü çalıştırmak için aşağıdaki kodu terminalde çalıştırmak yeterli olacaktır. evarobot_minimu9 isimli launch dosyası imu sensörünü çalıştırmaktadır. Launch dosyasının aldığı parametreler hakkında bilgi almak için evarobot_minimu9 sayfasını kullanabilirsiniz. # evarobot > roslaunch evarobot_minimu9 evarobot_minimu9.launch IMU Verilerinin Okunması % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable Encoder data enableimu(evarobot); %enableimu(evarobot, /imu ); % If you are running all the lines consecutively, % you can pause the script to wait for the subscribers to set up properly. pause(5); % get subscribed data imu = evarobot.imudata; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir Kinect Kinect i Çalıştırma Bu kısımda Kinect verisinin kullanılması ve görselleştirilmesi anlatılmaktadır. Kinect i çalıştırmak için OpenNI ve NITE kurmamız gerekmektedir. İlgili yazılımları kurmadan önce bağlı oldukları kütüphaneleri indiriyoruz. > sudo apt-get install g++ python libusb dev freeglut3-dev > sudo apt-get install doxygen graphviz mono-complete > sudo apt-get install openjdk-7-jdk OpenNI kurmak için aşağıdaki işlemleri sırası ile yapmamız gerekmektedir. > git clone > cd OpenNI > git checkout Unstable > cd Platform/Linux/CreateRedist > sudo chmod +x RedistMaker 54 Chapter 5. MATLAB Uygulamaları

59 >./RedistMaker > cd../redist/openni-bin-dev-linux-[xxx] > sudo./install.sh Kinect donanımı ile haberleşmeyi sağlamak için ise NITE i kuruyoruz. > git clone git://github.com/ph4m/sensorkinect.git > cd SensorKinect/Platform/Linux/CreateRedist > sudo chmod +x RedistMaker >./RedistMaker > cd../redist/sensor-bin-linux-x64-v* > sudo./install.sh Kinect ten gelen verileri ROS ortamına aktarmak için kullanabileceğimiz launch dosyasını indirmemiz gerekmektedir. openni ve freenect olmak üzere iki tane launch dosyası bulunmaktadır. Bunlardan bir tanesini kurarak çalıştırmamız yeterlidir. Fakat bazı bilgisayarlarda openni.launch çalışmadığı için ikisininde kurulumu va çalıştırılmasını ders kapsamında anlatacağız. Openni kurulumu aşağıdaki gibidir. > sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch Çalıştırmak için ise aşağıdaki gibi launch dosyasını çalıştırmamız yeterlidir. > roslaunch openni_launch openni.launch Kinect, Evarobot ile birlikte çalıştırıldığında koordinat dönüşümlerinde hata olmaması için derinlik frame i olarak kinect_dummy nin argumanlarda verilmesi gerekmektedir. > roslaunch openni_launch openni.launch depth_frame_id:=kinect_dummy Openni launch dosyasını açmada problem yaşarsak, aşağıdaki gibi freenect kurabiliriz. > sudo apt-get install libfreenect-dev ros-indigo-freenect-launch freeenect in çalıştırılmak için ise aşağıdaki gibi launch dosyasını çalıştırmamız yeterlidir. > roslaunch freenect_launch freenect.launch Kinect Verilerini Okuma % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % enable kinect data enablecameradepthimage(evarobot); %enablecameradepthimage(evarobot, /camera/depth/image ); enablecameradepthpoints(evarobot); %enablecameradepthpoints(evarobot, /camera/depth/points ); enablecamerairimage(evarobot); %enablecamerairimage(evarobot, /camera/ir/image ); enablecamerargbimageraw(evarobot); %enablecamerargbimageraw(evarobot, /camera/rgb/image_raw ); % you can pause the script to wait for the subscribers to set up properly MATLAB Uygulamaları 55

60 pause(5); % get subscribed data camera_depth_image_data = evarobot.cameradepthimagedata; camera_depth_points_data = evarobot.cameradepthpointsdata; camera_ir_image_data = evarobot.camerairimagedata; camera_rgb_image_raw_data = evarobot.camerargbimagerawdata; % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir Motor Sürme Bu kısımda evarobot üzerindeki motorların MATLAB üzerinden kontrolü anlatılmaktadır. Motorlara Hız Verme % ROS initilization rosinit( ) % Create an instance of the evarobotcommunicator class, % which allows for easy control of the evarobot evarobot = evarobotcommunicator(); % set linear and angular velocities setvelocity(evarobot, 0.7, 0.2); % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown Kod bu linten indirilebilir. 56 Chapter 5. MATLAB Uygulamaları

61 CHAPTER SIX GEZGIN ROBOT NESNE BULMA YARIŞMASI 6.1 Gezgin Robot Nesne Bulma Yarışması Bu kısımda Gezgin Robot Nesne Bulma Yarışmasına ait bilgiler verilmektedir. 29 Eylül 01 Ekim 2016 tarihlerinde Eskişehir Osmangazi Üniversitesinde düzenlenecek olan Otomatik Kontrol Ulusal Toplantısı (TOK2016) sırasında gezgin robotlara yönelik simülasyon yarışması düzenlenecektir. Benzetim ortamı olarak Gazebo5 kullanılacaktır Amaç Yarışma kapsamında ortama kırmızı, yeşil ve mavi renklerde 5 er tane olmak üzere toplam 15 tane nesne saklanacaktır. Bu nesnelerin büyüklükleri m arasında ve küp, silindir ya da küre şeklinde olacaktır. Yarışmadaki amaç bu nesneleri en kısa sürede bulmaktır Ön Kayıt Gezgin Robot Nesne Bulma Yarışması na ön kayıt yaptırmak için ön kayıt formu nu doldurarak tok2016yarisma@gmail.com adresine göndermeniz gerekmektedir Önemli Tarihler Yarışma Detaylarının Verilmesi 09 Mayıs 2016 Başvuru Tarihleri 09 Mayıs Temmuz 2016 Ücretsiz Ön Kayıt için Son Tarih 13 Temmuz 2016 Uygulamalı ROS Eğitimi(opsiyonel) Temmuz 2016 Kesin Kayıt 1 Ağustos Eylül 2016 Sunum Tarihi 29 Eylül 2016 Yarışma Tarihi 30 Eylül 2016 Ödül Töreni 30 Eylül Simülasyon Ortamı Yarışma sırasında simülasyonun çalışacağı ortam sunucu bilgisayarda çalışacak şekilde katılımcılara sunulacaktır. Katılımcılar geliştirdikleri kontrol yazılımlarını kendi bilgisayarlarında çalıştıracaklardır. Simülasyon ortamının çalışacağı sunucu ile katılımcıların bilgisayarları ethernet üzerinden haberleşecektir. Bu haberleşmenin detaylarına Kılavuzlar başlığının altından ulaşabilirsiniz. Sunucu üzerinde işletim sistemi olarak Ubuntu yüklüdür. 57

62 evarobot Documentation, Release indigo 58 Chapter 6. Gezgin Robot Nesne Bulma Yarıs ması

63 Ayrıca robot işletim sistemi (ROS) nin Jade versiyonu çalışacaktır. Simülasyon ortamı olarak ise Gazebo5 bulunmaktadır. Katılımcıların geliştirdikleri kontrol yazılımını test etmeleri için yarışmada sırasında sunucuda çalışacak olan simülasyon ortamı github üzerinden erişilebilmektedir. Kurulum ve nasıl çalıştırılacağın hakkındaki bilgilere sırasıyla Kurulum ve Kılavuzlar başlıkları altından erişilebilmektedir Evarobot Hakkında Yarışmada kullanılacak olan gezgin robot platformu evarobot tur. Robotun özellikleri ve yarışma sırasında üzerinde takılı olacak olan sensorlar adetleri ile birlikte aşağıdaki tablolarda paylaşılmıştır. Robotun kullanımı hakkında daha detaylı bilgilere ve adreslerinden ulaşabilirsiniz. Robot platformuna ait bilgiler aşağıdaki tabloda gösterilmektedir. Özellik En x Boy x Yükseklik Yerden Yükseklik Ağırlık(Batarya Dahil) Sürüş Maksimum Hız Sürücü Tekerler Değer 335x425x760mm 55mm 13kg Diferansiyel, 2 Sürüş, 2 Sarhoş 1.0m/s 170mm, Dolma Teker Robot üzerinde yer alan sensörler ve sayıları değiştirilebilmektedir. Aşağıdaki tabloda bir sensör konfigürasyonu gösterilmektedir. Sensör İsmi Adet X Marka/Model Sonar 7 X IM-SMO20 Kızılötesi 7 X Sharp GP2YOA21YK Bumper 3 X IM-BMP10 Derinlik Kamerası 1 X Microsoft Kinect Lidar 1 X RPLidar Harita Yarışma sırasında kullanılacak ortam haritasının ölçülendirilmiş hali aşağıdaki gibidir. Bu ortamın simülasyon için hazırlanan sdf uzantılı dosyaya yazılımda evarobot_gazebo/worlds/esc2016.sdf yolu izlenerek ulaşılabilir. Yarışmada robot 0,0 konumunda derecelik bir oryantasyonda başlatılacaktır Kurallar Yarışmada evarobot gezgin robot platformu kullanılacaktır. Yarışma Gazebo benzetim ortamında düzenlenecektir. Gazebo benzetim ortamı, yarışmada sağlanacak sunucu bilgisayar üzerinde çalışacaktır. Takımlar en fazla 3 er kişilik gruplardan oluşabilecektir. Nesnelerin bulunması için verilecek süre 20dk dır. Her ekip için 2 adet 20dk lık deneme hakkı verilecektir. Belirlenen sürede(20dk) doğru tespit edilen nesne sayılarına göre sıralama yapılacaktır. Eşit sayıda nesne tespiti yapan gruplar tespit sürelerine göre sıralanacaktır. Yarışmada her katılımcıya aynı ortam ve nesneler verilecektir Gezgin Robot Nesne Bulma Yarışması 59

64 60 Chapter 6. Gezgin Robot Nesne Bulma Yarışması

65 Yarışmadan önce katılımcıların bilgisayarları toplanacaktır ve yarışma sırasında değişiklik yapılamayacaktır. Robot üzerinde değişiklik yapılamayacaktır. Nesneler küp, silindir veya küre şeklinde olacaktır. Nesnelerin renkleri kırmızı, yeşil veya mavi olacaktır. Her bir renkten 5 er tane olmak üzere toplam 15 nesne ortama saklanacaktır. Ortama yerleştirilecek olan nesnelerin büyüklükleri 0.1m m arasında olacaktır. Nesnelerin konumu katılımcılar ile paylaşılmayacaktır. Yarışmada kullanılacak olan harita katılımcılar ile paylaşılacaktır. Haritanın büyüklüğü 17x19m olacaktır. Bulunan nesnenin konumu, nesnenin büyüklüğünün 0.75 katı içerisinde ise doğru kabul edilecektir. Robotun nesneye yakınlığı 5m den fazla ise kabul edilmeyecektir. Duvarların yüksekliği 1.0m olacaktır. SLAM ile çıkartılmış harita sunucu tarafından yayınlanmayacaktır. İsteyen katılımcılar kendileri oluşturup kullanabileceklerdir. Yarışmada sırasında sunucuda çalışacak yazılım github üzerinden paylaşılacaktır. Katılımcılar robotun kontrolünü istedikleri yazılım platformu ile kontrol edebilirler. ROS ya da MAT- LAB ı kullanmaları tavsiye edilmektedir. İnovasyon Mühendislik kurallarda ve ödüllerde değişiklik yapma hakkına sahiptir Gezgin Robot Nesne Bulma Yarışması 61

66 6.1.8 Kurulum UBUNTU Kurulumu Sunucuda çalışacak olan işletim sistemi Ubuntu dir. adresinde bulabilirsiniz. Kurulum dosyası ve kurulum ile ilgili bilgileri ROS JADE Kurulumu ROS Jade kurulumuna linkten ulaşabilirsiniz. > sudo sh -c echo "deb $(lsb_release -sc) main" > /etc/apt/source > sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116 > sudo apt-get update > sudo apt-get install ros-jade-desktop-full > sudo rosdep init > rosdep update > echo "source /opt/ros/jade/setup.bash" >> ~/.bashrc > source ~/.bashrc GAZEBO5 Kurulumu Gazebo5 kurulumuna linkten erişebilirsiniz. > wget -O /tmp/gazebo5_install.sh > sudo sh /tmp/gazebo5_install.sh EVAROBOT Yazılımlarının Kurulumu > wget -O - sudo apt-key add - > sudo apt-get update; sudo apt-get install libignition-math-dev > cd ~/catkin_ws/src > git clone -b jade-devel > git clone -b jade-devel > git clone -b jade-devel > git clone -b jade-devel > cd ~/catkin_ws > catkin_make Kılavuzlar Benzetim Ortamının Açılması Yarışmada kullanılacak olan harita ve robot simülasyonunu çalıştırmak için ilgili komut aşağıdadır. yarışma sırasında sunucu bilgisayarda çalışacaktır. Bu yazılım > roslaunch evarobot_gazebo evarobot_competition.launch evarobot_competition bulunan nesnelerin doğruluğunu kontrol eden ros paketidir. Çalıştırmak için aşağıdaki komut kullanılmaktadır. Bu paket de yarışma sırasında sunucu bilgisayar üzerinde çalışacaktır. 62 Chapter 6. Gezgin Robot Nesne Bulma Yarışması

67 > roslaunch evarobot_competition evarobot_competition.launch Bu iki komut da katılımcıların yarışmadan önce geliştirdikleri yazılımı test etmeleri sağlamak amacıyla paylaşılmaktadır. Ortama Nesne Eklenmesi evarobot simülasyon programı çalıştırıldığında aşağıdaki gibi bir ortam ve sol üst köşede Add Object isimli bir pencere açılmaktadır. Katılımcılar yazılımlarını test etmek için ortama Add Object isimli araç kutusunu kullanarak nesneler ekleyebilirler. Ortama Add BOX, Add Cylinder ve Add Sphere butonlarını kullanılarak kutu, silindir ve küre olmak üzere üç farklı tipte nesneler eklenebilmektedir. Eklenecek nesnelerin renk, pozisyon ve ebat bilgileri girildikten sonra ilgili sütunun altındaki buton yardımı ile ekleme işlemi tamamlanır. Start butonuna basıldığında 20dk lık yarışma süresi başlatılmış olmaktadır. Bu aşamadan sonra geliştirdiğiniz kontrol yazılımı, servis üzerinden evarobot_competition isimli düğüm ile haberleşerek bulunun nesnelerin konum ve renk bilgilerini göndermesi gerekmektedir. Yarışma süresi tamamlandığında bulduğunuz nesneler ve zaman bilgisi içeren yarışma raporunu bu düğüm size üretecektir. Buradaki amaç yarışma sırasındaki ortamı simüle ederek geliştirdiğiniz yazılımı test etmenize olanak sağlamaktır. Yarışma Kontrol Yazılımı ile Haberleşme Yarışma sırasında bulduğunuz nesneleri evarobot_competition/checkobject isimli ros servisi ile haberleşerek bildirmek sorundasınız. Aksi takdirde bulduğunuz hiçbir nesne değerlendirmeye alınmayacaktır. Bu servis im_msgs/addobject tipinde bir servistir. Servis tipi aşağıdaki gibidir. geometry_msgs/point object_pose int8 color Gezgin Robot Nesne Bulma Yarışması 63

68 bool ret float32 remaining_time int8 achieved geometry_msgs/point tipinde olan object_pose isimli değişkende bulunan nesnenin pozisyon bilgisi yer almalıdır. int8 tipindeki color isimli değişkende ise bulunan nesnenin renk bilgisi yer almalıdır. Kırmızı için 0, yeşil için 1, mavi için ise 2 olarak color değişkeni atanmalıdır. Servis dönüş olarak bulunan nesne doğru ise ret değişkeni true aksi halde false değerine sahip olacaktır. remaining_time değişkeninde ise yarışmanın bitmesine kalan süre saniye olarak yer alacaktır. Ayrıca achieved isimli değişken ile o zamana kadar doğru bulduğunuz nesne sayısının dönüşü yapılacaktır. Sunucuya Bağlanma Sunucuya bağlanmak bilgisayarınız Ethernet üzerinden bağlanacaktır. Bunun için nolu ip yi almak için bilgisayarınızda gerek ayarlamaları yapmalısınız. MATLAB da Servis Mesaj Tipinin Derlenmesi Bu kısımda MATLAB da kendi oluşturduğumuz ROS mesaj ve servislerini nasıl derleyip kullanabileceğimiz anlatılmaktadır. MATLAB komut satırına roboticssupportpackages yazılır ve çalıştırılır. Standart kurulum talimatları uygulanarak eklenti yüklenir. Ayrıntılı bilgi için: Daha sonra içerisinde servisi bulunduran im_msgs ROS paketi catkin_ws dışarısında bir klasöre kopyalanır. MATLAB komut satırında rosgenmsg( klasör yolu ) komutu çalıştırılır. Aşağıdaki gibi bir çıktı oluşması beklenmektedir. Checking subfolder "A" for custom messages. Checking subfolder "B" for custom messages. 64 Chapter 6. Gezgin Robot Nesne Bulma Yarışması

69 Checking subfolder "C" for custom messages. Building custom message files for the following packages: A B C Generating MATLAB classes for message packages in C:\MATLAB\custom_msgs\matlab_gen\jar Loading file A-1.0.jar. Generating MATLAB code for A/DependsOnB message type. Generating MATLAB code for B/Standalone message type. Loading file B-1.0.jar. Loading file C-1.0.jar. Generating MATLAB code for C/DependsOnB message type. To use the custom messages, follow these steps: 1. Edit javaclasspath.txt, add the following file locations as new lines, and save the file: C:\MATLAB\custom_msgs\matlab_gen\jar\A-1.0.jar C:\MATLAB\custom_msgs\matlab_gen\jar\B-1.0.jar C:\MATLAB\custom_msgs\matlab_gen\jar\C-1.0.jar 2. Add the custom message folder to the MATLAB path by executing: addpath( C:\MATLAB\custom_msgs\matlab_gen\msggen ) savepath 3. Restart MATLAB and verify that you can use the custom messages. Type "rosmsg list" and ensure that the output contains the generated custom message types. javaclasspath.txt dosyası modifiye edilir ya da oluşturulur. İçerisine tabloda belirtilen satırlar eklenir. C:\MATLAB\custom_msgs\matlab_gen\jar\A-1.0.jar C:\MATLAB\custom_msgs\matlab_gen\jar\B-1.0.jar C:\MATLAB\custom_msgs\matlab_gen\jar\C-1.0.jar Tabloda verilen komutlar komut satırında çalıştırılır. addpath( C:\MATLAB\custom_msgs\matlab_gen\msggen ) savepath MATLAB yeniden başlatılır, mesaj ve servislerin kurulumu test edilir. custommsg = rosmessage( B/Standalone ) Ayrıntılı bilgi için: MATLAB da Servisin Çağrılması MATLAB üzerinde, bulunan bir nesneye ait konumun, servis ile sunucu bilgisayar üzerinde çalışan yazılıma gönderilmesini sağlayan kod aşağıdaki gibidir Gezgin Robot Nesne Bulma Yarışması 65

70 % ROS initilization rosinit( ); % you can pause the script to wait for the connection to set up properly. pause(5); % call service with required data testclient = rossvcclient( /evarobot_competition/checkobject ); testreq = rosmessage(testclient); testreq.objectpose.x = 2.34; testreq.objectpose.y = 7.89; testreq.objectpose.z = 0.12; testreq.color = 1; testresp = call(testclient,testreq, Timeout,3); % It is recommended to use rosshutdown once you are done working % with the ROS network. Shut down the global node and disconnect from the evarobot. rosshutdown; Kod bu linten indirilebilir. evarobotun MATLAB üzerinden kontrolü ve sensörlerden verilerin okunması ile ilgili örnekler MATLAB Uygulamaları kısmında verilmiştir. C++ da Servisin Çağrılması C++ üzerinde, bulunan bir nesneye ait konumun, servis ile sunucu bilgisayar üzerinde çalışan yazılıma gönderilmesini sağlayan kod aşağıdaki gibidir. #include "ros/ros.h" #include "im_msgs/checkobject.h" int main(int argc, char **argv) { ros::init(argc, argv, "eva_yarisma"); ros::nodehandle n; ros::serviceclient client = n.serviceclient<im_msgs::checkobject>("/evarobot_competition/checkobjec im_msgs::checkobject srv; srv.request.object_pose.x = 1.23; srv.request.object_pose.y = 4.56; srv.request.object_pose.z = 0.12; srv.request.color = 1; if (client.call(srv)) { ROS_INFO_STREAM("Dogru mu:\t" << srv.response.ret); ROS_INFO_STREAM("Kalan zaman:\t" << srv.response.remaining_time); ROS_INFO_STREAM("Toplam bulunan:\t" << srv.response.achieved); } else { ROS_ERROR("Hata olustu."); } } return 0; 66 Chapter 6. Gezgin Robot Nesne Bulma Yarışması

71 Uygulamalı ROS Eğitimi ROS konusunda kendisini geliştirmek isteyenler ESOGUSEM bünyesinde Robot İşletim Sistemi (ROS) eğitimine %25 indirim ile katılabilecektir Önemli Linkler Ödüller Birincilik Ödülü: EVAROBOT ( İkincilik Ödülü: EVA-KİT ( Üçüncülük Ödülü: IM-EKB10 ( Genel Detaylar Konaklama ve ulaşım katılımcıya aittir. Yarışmaya katılan gruplar kongre katılım ücreti ödemeyeceklerdir. Katılımcıların öğle yemeği ve dereceye girenlerin gala yemeği sponsor firma tarafından karşılanacaktır İletişim Yarışma ve evarobot hakkındaki her konuda bizimle adresinden iletişime geçebilirsiniz. Ayrıca yarışma ile ilgili kodların paylaşılacağı github adresimize üye olarak en güncel kodları takip edebilirsiniz Gezgin Robot Nesne Bulma Yarışması 67

72 68 Chapter 6. Gezgin Robot Nesne Bulma Yarışması

73 CHAPTER SEVEN DIĞER 7.1 Benzetim Ortamı Evarobot Gazebo Modeli Tanıtımı Bu kısımda evarobot gazebo modelinin çalıştırılması ve sensörlerin kullanmaası anlatılmaktadır. Gazebo da çalıştırmak için aşağıdaki gibi launch dosyasını kullanabilirsiniz. Evarobot u > roslaunch evarobot_gazebo evarobot.launch Varsayılan model üzerinde kullanılan sensörler; - Bumper x3 - Kızılötesi x4 - Sonar x7 - Kinect x1 - Lidar x1 Model üzerindeki sensör sayılarını ve konumlarını evarobot_description/urdf klasörü içindeki.urdf dosyalarını kullanarak değiştirebilirsiniz. Simulasyonu çalıştırdıktan sonra aşağıdaki komutu kullanarak, topikleri listeleyebilirsiniz. > rostopic list 69

74 info komutu ile <topic_ismi> yerine yazılacak topik hakkında bilgi edibilirsiniz. > rostopic info /<topic_ismi> Robot üzerindeki sensörleri rviz ile görselleştirilebilmektedir. Aşağıdaki gibi rviz açılabilir. > rosrun rviz rviz Sol menüdeki Add butonu kullanılarak robot modeli veya sensörler eklenerek görselleştirmeler yapılır. Robot modelini eklemek için Add butonuna tıkladıktan sonra By display type sekmesinde robotmodel seçilir. Koordinat dönüşümlerinde hata almamak için Fixed Frame odom seçilmelidir. Sensörleri eklemek için Add->By Topic sekmesi yolu izlendiğinde yayınlanan sensör topiği seçilir. Bütün sensörler eklendiğinde resimdeki gibi bir çıktı alınabilir Gazebo da Evarobot ile SLAM Bu kısımda gmapping ve hector_slam kullanarak Gazebo da SLAM harita oluşturma anlatılmaktadır. SLAM yapabilmek için hector_slam ros paketi ve evarobot simulator paketi indirilir ve derlenir. > cd ~/catkin_ws/src > git clone > git clone > cd ~/catkin_ws > catkin_make SLAM yapmaya başlamadan önce açılması gereken bir kaç düğüm bulunmaktadır. İlk olarak Evarobot gazebo modelini açalım. Örneğimizde SLAM yapacağımız harita UPlat.sdf haritasıdır. Kendi haritanız isim ve yoluna göre world_path isimli argümanda değişiklik yapmalısınız. > roslaunch evarobot_gazebo evarobot.launch world_path:=$(rospack find evarobot_gazebo)/worlds/uplat. 70 Chapter 7. Diğer

75 7.1. Benzetim Ortamı 71

76 72 Chapter 7. Diğer

77 SLAM yapmamız için gerekli olan düğümleri çalıştıran gazebo_slam.launch dosyasını açalım. gazebo_slam.launch dosyası hector_slam in parametrelerini ayarlarak çalıştırmaktadır. > roslaunch evarobot_slam gazebo_slam.launch Ayrıca rviz i açarak görselleştirme yapmak için; > roslaunch evarobot_viz view_evarobot.launch İyi bir konumlandırma için SLAM yaparken evarobot u klavye ile sürerek haritanın tamamının kaydedilmesini sağlamamız gerekmektedir. Bunun için aşağıdaki kod ile klavye ile kontrol düğümünü açıyoruz. > rosrun teleop_twist_keyboard teleop_twist_keyboard.py Tüm ortamın haritasını çıkarma işlemi tamamlandıktan sonra haritayı konumlandırma düğümlerinde kullanmak için kaydetmemiz gerekmektedir. map_saver düğümü ile evarobot_slam/gazebo_map klasörü altına kaydediyoruz. > rosrun map_server map_saver -f $(rospack find evarobot_slam)/gazebo_map/map Böylece ortamın haritasını hector_slam paketini kullanarak çıkarmış olduk. Bir sonraki kısımda bu haritayı kullanarak Evarobot un otonom hareket etmesine değineceğiz Gazebo da Evarobot Navigasyonu Bu kısımda çıkartılmış harita üzerinden Gazebo da otonom evarobot navigasyonu anlarılmaktadır. Evarobot u otonom hareket ettirmek için önceden ortamın haritasını çıkarmış olmanız gerekmektedir. Gazebo simülasyon ortamında, Evarobot un otonom navigasyonu için aşağıdaki kodu terminalde çalıştırmanız yeterli olacaktır. Çalıştırılan launch dosyası; Argüman olarak aldığı dünya içerisinde Evarobot ile birlikte gazebo yu, Daha önceden kaydedilen haritayı, amcl isimli konumlandırma düğümünü, global ve lokal planlayıcıyı içeren move_base.launch dosyasını, rviz i çalıştırmaktadır. > roslaunch evarobot_navigation gazebo_navigation.launch world_path:=$(rospack find evarobot_gazebo)/ evarobot a otonom gitmesini istediğiniz noktayı bu örnek için rviz üzerinden verebilirsiniz. Bunun için rviz de 2D Nav Goal ile harita üzerinde işaretlemeniz yeterli olacaktır. rviz i kullanmadan kendi yazacağınız düğüm ile hedef konumları evarobot a vererek otonom hareket ettirebilirsiniz. Hedefleri move_base e vermek için /move_base/goal isimli topikten hedef konum basmanız yeterli olacaktır. Örnek uygulamayı videodan takip edebilirsiniz. 7.2 EvaMobil Bu kısımda evarobot un Android cihazlardan kontrolü için gelişitirilen EvaMobil isimli uygulama anlatıllmaktadır. Uygulama Google Play üzerinden bu linkten indirilebilir. Uygulama ile ilgili ayarların yapılabildiği arayüz aşağıdaki resimde gösterilmektedir. Bu arayüz üzerinden yapılabilen ayarlar; Robotun IP adresi, Kontrol yöntemi, 7.2. EvaMobil 73

78 Maksimum doğrusal hız, Maksimum açısal hız, Tehlikeli alan mesafesi, Güvenli alan mesafesi parametreleri ayarlanabilmektedir. evarobot un kontrolü için açısal ve doğrusal hız değerlerinin üretildiği ekran aşağıdaki resimde gösterilmektedir. Bu arayüz üzerinden yapılan ayarlara göre robota IMU ya da butonlar kullanılarak doğrusal ve açısal hız değerleri gönderilmektedir. Ayarlar sayfasından belirlenen değerlere göre sensör verileri görselleştirilmektedir. 7.3 Görsel Programlama Görsel programlama kullanıcılara blokları bir araya getirerek kod yazma imkanı sağlayan sistemdir. Bu kısımda evarobot için özelleştirilmiş Google Blockly kullanılarak hazırlanan görsel programlama anlatılmaktadır. Görsel programlama sayesinde daha önce hiç programlama ile uğraşmamış ya da programlamaya yeni başlayan kişiler rahatlıkla kodlama yapabilmektedir. Hazırlanan bloklar kullanılarak evarobot üzerinde bulunan sensör bilgileri okunabilmekte ve evarobot a veri gönderilebilmektedir. Hazırlanan paket evablockly_ros olarak adlandırılmıştır açık kaynak kodlu olarak paylaşılmaktadır Başlangıç evablockly_ros u çalıştırmak için adımlar; Kodun indirilmesi: evapc_ros paketinin yüklenmesi: (ROS indigo nun indirilip kurulmuş olması gereklidir.) evarobot gazebo simulasyonun başlatılması: > roslaunch evarobot_description evarobot.launch haberleşme için gerekli paketin başlatılması: > roslaunch rosbridge_server rosbridge_websocket.launch start from terminal: > rosrun rosapi rosapi_node indirilen kod içerisinden demos/fixed/index.html sayfasının açılması Kullanım evablockly_ros evarobot u sürmek ve kontrol etmek için çeşitli görsel plokları içermektedir. Hazırlanan bloklar başka robotlar içinde kullanılabilir fakat test edilmemiştir. Bloklar ROS-Communication, ROS-Sensors ve ROS-Behaviours olmak üzere 3 kategoriye ayrılmıştır. ROS-Communication Bu kategori ROS ile haberleşme ile ilgili blokları içermektedir. Blokların işlevleri aşağıda listelenmektedir. CONNECT TO ROS: ROS sunucusuna bağlanmayı sağlar. CREATE PUBLISHER: ROS sunucusuna veri göndermek için yayınlayıcı oluşturur. Mesajın ismi ve mesaj tipi bloğa paraemtre olarak girilir. 74 Chapter 7. Diğer

79 7.3. Görsel Programlama 75

80 PUBLISH DATA: Oluşturulan yayınlayıcı kullanarak veri göndermeyi sağlar. Gönderilecek veri parametre olarak girilir. CREATE SUBSCRIBER: ROS sunucusundan veri almak için abone oluşturur. Mesajın ismi ve mesaj tipi bloğa paraemtre olarak girilir. SUBSCRIBE: Abone olunan veri geldiğinde yapılacak işler bu blok içerisinde tanımlanır. ROS-Sensors Bu kategori sensör ile ilgili ROS bloklarını içermektedir. Blokların işlevleri aşağıda listelenmektedir. GET RANGE VALUE: sensor_msgs/range mesaj tipinde yer alan verilerden seçileni döndürür. GET ODOMETRY VALUE: nav_msgs/odometry mesaj tipinde yer alan verilerden seçileni döndürür. GET BUMPER VALUE: im_msgs/bumper mesaj tipinde yer alan verilerden seçileni döndürür. GET CLOCK VALUE: rosgraph_msgs/clock mesaj tipinde yer alan verilerden seçileni döndürür. GET CUSTOM VALUE: Herhangi bir tipte abone olunan mesaj tipinde parametre olarak girilen veriyi döndürür. CMD_VEL: geometry_msgs/twist tipinden basılmak üzere hız verilerini oluşturur. ROS-Behaviours Bu kategori davranış tabanlı ROS bloklarını içermektedir. Blokların işlevleri aşağıda listelenmektedir. TELEOP: Bu blok klavye üzerindeki yön tuşlarını dinleyerek basılan tuşa göre robot hareketini gerçekleştirir. Yukarı ok tuşu robotu ileriye hareket ettirir, aşağı ok tuşu robotu geriye hareket ettirir, sağ ok tuşu robotu sağa döndürür, sol ok tuşu robotu sola döndürür, boşluk tuşu robotu durdurur. WANDER: Bu blok robotun üzerindeki sonar sensörü bilgilerini kullanarak etrafındaki engellere çarpmadan etrafta dolaşmasını sağlar. Eğer sensör değerleri belirlenen değerin altında ise robot başka bir yöne döner ve ilerlemeye devam eder. 76 Chapter 7. Diğer

81 7.3. Görsel Programlama 77

82 78 Chapter 7. Diğer

83 SET PID PARAMETERS: Bu blok robotun sağ ve sol tekerleri için pid parametrelerini ayarlar. Her iki teker içinde kp, kd, ki değerlerini parametre olarak alır Örnekler Sonar sensörüne abone olma Aşağıdaki şekilde sonar sensörüne nasıl abone olunacağı gösterilmektedir. İlk olarak ROS sunucusuna bağlanma, ardından mesaj tipi ve ismi ile abone oluşturma, daha sonra okunan verileri gösterilmesi işlemleri gerçekleştirilmiştir. Kızılötesi sensörüne abone olma Benzer şekilde kızılötesi sensörüne nasıl abone olunacağı gösterilmektedir. Bumper sensörüne abone olma Benzer şekilde bumper sensörüne nasıl abone olunacağı gösterilmektedir. Enkoder sensörüne abone olma Benzer şekilde enkoder sensörüne nasıl abone olunacağı gösterilmektedir. Herhangi bir mesaja abone olma Benzer şekilde herhangi bir mesaja nasıl abone olunacağı gösterilmektedir. Bu yöntemde abone olunacak mesaj ve mesaj tipi elle girilmektedir. Mesaj Yayınlama Aşağıdaki şekilde cmd_vel topiğinden geometry_msgs/twist tipinde mesajın nasıl yayınlanacağı gösterilmektedir. 7.4 U-PLAT Uzaktan Erişim Platformu evarobot a veya evarobot simülasyonuna web üzerinden bağlanmayı, deneyler yapmayı sağlayan sisteme verilen isimdir. Sistem Kamera, Simülasyon, Blockly, Konsol, Analiz ve Kontrol olmak üzere 6 sayfadan oluşmaktadır. Kamera Bu sayfadan evarobot un açlıştığı ortam 4 farklı kamera ile izlenebilmektedir. Kameraların bakış açısı arayüz üzerinden değiştirilebilmektedir. Simülasyon Bu sayfada evarobot ve ortam simülasyonu gösterilmektedir. Blockly Bu sayfa üzerinden görsel programlama ile evarobot kontrolü sağlanmaktadır. Konsol Bu sayfa üzerinden U-PLAT sisteminin çalıştığı sunucu bilgisayara terminal bağlantısı sağlanmaktadır. Analiz Bu sayfa üzerinden evarobot üzerindeki tüm sensör değerlerine ait zamana bağlı grafikler çizdirilebilmektedir. Kontrol Bu sayfada evarobot üzerindeki tüm sensör değerleri gösterilmektedir. Aynı zamanda robota açısal ve doğrusal hızlar uygulanabilmektedir U-PLAT 79

84 80 Chapter 7. Diğer

85 7.4. U-PLAT 81

86 82 Chapter 7. Diğer

87 7.4. U-PLAT 83

88 84 Chapter 7. Diğer

89 7.5 Matlab Kütüphanesi Bu kısımda evarobot üzerindeki sensör verilerinin MATLAB da görüntülenebilmesi ve MATLAB dan evarobot a veri gönderilmesi için geliştirilen evarobotcommunicator kütüphanesi anlatılmaktadır. Fonksiyonlar Bu fonksiyonlar kütüphane sınıfından public olarak erişilebilir durumdadır. Sensörlerden veri okuma ve hız gönderme işlemlerini gerçekleştirir. enablesonar - Sonar sensörlerine abone olur disablesonar - Sonar sensörlerinden aboneliği kaldırır enableir - Kızılötesi sensörlerine abone olur disableir - Kızılötesi sensörlerinden aboneliği kaldırır enablebumper - Bumper sensörlerine abone olur disablebumper - Bumper sensörlerinden aboneliği kaldırır enableimu - IMU sensörüne abone olur disableimu - IMU sensöründne aboneliği kaldırır enableodom - Enkoder sensörüne abone olur disableodom - Enkoder sensöründen aboneliği kaldırır enablelaser - Lazer sensörüne abone olur 7.5. Matlab Kütüphanesi 85

90 86 Chapter 7. Diğer

91 7.5. Matlab Kütüphanesi 87

92 disablelaser - Lazer sensöründen aboneliği kaldırır enablelidar - Lidar sensörüne abone olur disablelidar - Lidar sensöründen aboneliği kaldırır enablecameradepthimage - Kamera sensörünün derinlik fotoğrafı bilgisine abone olur enablecameradepthimage - Kamera sensörünün derinlik fotoğrafı bilgisinden aboneliği kaldırır enablecameradepthpoints - Kamera sensörünün derinlik noktaları bilgisine abone olur enablecameradepthpoints - Kamera sensörünün derinlik noktaları bilgisinden aboneliği kaldırır enablecamerairimage - Kamera sensörünün kızılötesi fotoğrafı bilgisine abone olur enablecamerairimage - Kamera sensörünün kızılötesi fotoğrafı bilgisinden aboneliği kaldırır enablecamerargbimageraw - Kamera sensörünün renkli fotoğraf bilgisine abone olur enablecamerargbimageraw - Kamera sensörünün renkli fotoğraf bilgisinden aboneliği kaldırır setvelocity - Parametre olarak girilen açısal ve doğrusal hız değerlerini robota uygular Değerler Bu değerler kütüphane sınıfından public olarak erişilebilir durumda olan sensörlerden okunan verileri tutan değişkenlerdir. SonarData0 % Sonar0 dan okunan değer SonarData1 % Sonar1 den okunan değer SonarData2 % Sonar2 den okunan0 değer SonarData3 % Sonar3 ten okunan değer SonarData4 % Sonar4 ten okunan değer SonarData5 % Sonar5 ten okunan değer SonarData6 % Sonar6 dan okunan değer IRData0 % Kızılötesi0 dan okunan değer IRData1 % Kızılötesi1 den okunan değer IRData2 % Kızılötesi2 den okunan değer IRData3 % Kızılötesi3 ten okunan değer IRData4 % Kızılötesi4 ten okunan değer IRData5 % Kızılötesi5 ten okunan değer IRData6 % Kızılötesi6 dan okunan değer IRData7 % Kızılötesi7 den okunan değer BumperData0 % Bumper0 dan okunan değer BumperData1 % Bumper1 den okunan değer BumperData2 % Bumper2 den okunan değer IMUData % IMU dan okunan değer OdomData % Enkoder den okunan değer OdomPose % Enkoder den okunan değer kullanılarak hesaplanan konum 88 Chapter 7. Diğer

93 LaserData % Lazer den okunan değer LidarData % Lidar dan okunan değer CameraDepthImageData % Kameradan (Kinect, Asus xtion pro) okunan derinlik resim verisi CameraDepthPointsData % Kameradan okunan derinlik noktaları verisi CameraIrImageData % Kameradan okunan kızılötesi resim verisi CameraRgbImageRawData % Kameradan okunan renkli ham veri Kullanım % ip adresi girilerek robota bağlanılıyor rosinit( ) % robottan sensör verilerini almak ve hız verilerini göndermek için kullanılabilen sınıftan nesne olu evarobot = evarobotcommunicator(); % sonar, kızılötesi, bumper, imu, enkoder, lazer, lidar, kinect ya da asus xtion pro sensörlerine var %enablesonar(evarobot); %enablesonar(evarobot, [ /sonar0 ; /sonar1 ; /sonar2 ; /sonar3 ]); %enableir(evarobot); %enableir(evarobot, [ /ir0 ; /ir1 ]); %enablebumper(evarobot); %enablebumper(evarobot, [ /bumper0 ; /bumper1 ]); %enableimu(evarobot); %enableimu(evarobot, /imu ); %enableodom(evarobot); %enableodom(evarobot, /odom ); %enablelaser(evarobot); %enablelaser(evarobot, /laser ); %enablelidar(evarobot); %enablelidar(evarobot, /lidar ); %enablecameradepthimage(evarobot); %enablecameradepthimage(evarobot, /camera/depth/image ); %enablecameradepthpoints(evarobot); %enablecameradepthpoints(evarobot, /camera/depth/points ); %enablecamerairimage(evarobot); %enablecamerairimage(evarobot, /camera/ir/image ); %enablecamerargbimageraw(evarobot); %enablecamerargbimageraw(evarobot, /camera/rgb/image_raw ); % Abone olma işleminin tamamlanması için 5 saniye bekleniyor. pause(5); % sonar sensörleri, kızılötesi sensörleri, bumper sensörleri, imu sensörü, enkoder, lazer, lidar, kin %sonar0 = evarobot.sonardata0; %sonar1 = evarobot.sonardata1; %sonar2 = evarobot.sonardata2; %sonar3 = evarobot.sonardata3; %sonar4 = evarobot.sonardata4; %sonar5 = evarobot.sonardata5; %sonar6 = evarobot.sonardata6; %ir0 = evarobot.irdata0; %ir1 = evarobot.irdata1; %ir2 = evarobot.irdata2; %ir3 = evarobot.irdata3; %ir4 = evarobot.irdata4; %ir5 = evarobot.irdata5; 7.5. Matlab Kütüphanesi 89

94 %ir6 = evarobot.irdata6; %ir7 = evarobot.irdata7; %bumper0 = evarobot.bumperdata0; %bumper1 = evarobot.bumperdata1; %bumper2 = evarobot.bumperdata2; %imu = evarobot.imudata; %odom_data = evarobot.odomdata; %odom_pose = evarobot.odompose; %laser = evarobot.laserdata; %lidar = evarobot.lidardata; %lidar.plot %camera_depth_image_data = evarobot.cameradepthimagedata; %camera_depth_points_data = evarobot.cameradepthpointsdata; %camera_ir_image_data = evarobot.camerairimagedata; %camera_rgb_image_raw_data = evarobot.camerargbimagerawdata; % robota uygulanmak istenen doğrusal ve açısal hzılar parametre olarak veriliyor. %setvelocity(evarobot, 0, 0); % ROS sunucusuyla olan bağlantı kapatılıyor. rosshutdown 7.6 EvaÇocuk Günümüz teknolojisinin geldiği noktada robotik ve programlama alanlarında yaşanan gelişmeler artık hayatımızın vazgeçilmez alanlarını oluşturmaya başlamıştır. Hızla hayatımıza giren bu teknolojilerin öğrenilmesi ve geliştirilmesi için çocuk yaşlarda eğitimlerinin verilmesi de büyük önem arz eden bir konudur. Bu çalışmada gezgin robotların öğrenilmesi için görsel programlama kullanarak etkileşimli ciddi oyunların geliştirilmesi üzerine bir çalışma yapılmıştır. Unity ortamında geliştirilen eğitici robotik oyun internet üzerinden küçük yaştaki kullanıcılara sunulmuştur. Oyun içerisindeki robot karakterin bulunduğu konumdan gideceği hedef noktasına, en kısa yoldan ve en kısa zamanda, görsel programlama kullanılarak ulaştırılması planlanmıştır. Bu sayede kullanıcının analitik düşünme, programlama ve problemlere çözüm getirebilme yeteneğinin geliştirilmesi hedeflenmiştir. Bu çalışmada gezgin robotların öğrenilmesi için görsel programlama kullanarak etkileşimli ciddi oyunlar geliştirilmiştir. Oyuna erişim adresinden sağlanabilir. Geliştirme aşamasında olan oyun şu anda Internet Explorer tarayısıcında çalışmaktadır. Oyuna giriş esnasında öncelikle şekildeki kullanıcı kayıt ekranından kullanıcı kaydı yapılmaktadır. Buradaki amaç sisteme kayıt olan kullanıcıların oyun skorlarının takibi ve buna bağlı olarak gösterdikleri gelişimin incelenmesidir. Ayrıca kullanıcılar arasında yapılan skor sıralamalarında yer almalarını sağlamaktır. 90 Chapter 7. Diğer

95 Kullanıcı kaydı yapılmış olan kullanıcılar, kullanıcı adı ve parolalarıyla oyuna giriş yapabilmektedir. Oyun içerisinde ise bir noktadan harekete başlayan robot karakter, hedeflenen varış yerine en kısa zamanda ve en az hareket sayısıyla ulaşmaya çalışmaktadır. Kullanıcıların oyun içerisindeki hareket sayıları, robot karakterin şarj durumuna bağlı olarak kısıtlanmıştır. Şarjın bitmesi durumunda Şekil 2 deki şarj bitti sayfası ekrana gelmekte ve kullanıcı oyunda başarısız sayılmaktadır. Robotun başlangıçtan hedef noktasına kadar şekil 3 teki gibi kullanabileceği hedef noktasına ulaşan veya ulaşamayan birden fazla yol güzergâhı bulunmaktadır. Burada kullanıcıdan mümkün olan en kısa yolu tercih etmesi ve bunu yaparken de süreyi minimum seviyede tutması beklenmektedir. Uygulamada robot karakterin yol güzergâhını belirlemek için kullanılacak Şekil 3 de gösterilen bir algoritma oluşturma bölümü mevcuttur. Kullanıcıların oyun esnasında harcadıkları süreye, kullandıkları hareket sayısına ve algoritmalarını işletecek butonun kaç kere kullanıldığına bağlı olarak oyun puanı hesaplanmaktadır. 7.7 API Gözden Geçirme Bu kısımda robottan sensör verilerinin alınması ve robota açısal, doğrusal hızların uygulanması anlatılmaktadır. Bu işlemler sırasında kullanılan mesaj tiplerinden bahsedilmektedir. Motor Motorlara verilecek hızlar için /cmd_vel topiğine geometry_msgs/twist mesaj tipinde veri gönderilir. Bu mesaj tipinde sadece linear.x ve angular.z değerleri kullanılmaktadır. Uygulanmak istenene doğrusal hız için linear.x, açısal hız için angular.z değeri ayarlanır. Sonar 7.7. API Gözden Geçirme 91

96 Sonarlardan veri okumak için /sonar0 topiğine abone olunur. Bu topik sensor_msgs/range tipinde mesaj basmaktadır. Alınan mesaj içerisinden range değeri sonarın okuduğu mesafe bilgisini tutmaktadır. Kızılötesi Kızılötesi sensörlerden veri okumak için /ir0 topiğine abone olunur. Bu topik sensor_msgs/range tipinde mesaj basmaktadır. Alınan mesaj içerisinden range değeri sensörün okuduğu mesafe bilgisini tutmaktadır. Bumper Bumper sensörlerden veri okumak için /bumper0 topiğine abone olunur. Bu topik std_msgs/bool tipinde mesaj basmaktadır. Alınan mesaj içerisinden data değeri sensörün okuduğu değeri tutmaktadır. IMU IMU sensöründen veri okumak için /imu topiğine abone olunur. Bu topik sensor_msgs/imu tipinde mesaj basmaktadır. Enkoder Enkoder sensöründen veri okumak için /odom topiğine abone olunur. Bu topik nav_msgs/odometry tipinde mesaj basmaktadır. Lidar Lidar sensöründen veri okumak için /lidar topiğine abone olunur. Bu topik sensor_msgs/laserscan tipinde mesaj basmaktadır. Lazer Lazer sensöründen veri okumak için /laser topiğine abone olunur. Bu topik sensor_msgs/laserscan tipinde mesaj basmaktadır. Kinect ya da Asus xtion pro Kinect ya da Asus xtion pro sensöründen veri okumak için; /camera/depth/image topiğine abone olunur. Bu topic /sensor_msgs/image tipinde mesaj basmaktadır. /camera/depth/points topiğine abone olunur. Bu topic sensor_msgs/pointcloud2 tipinde mesaj basmaktadır. /camera/ir/image topiğine abone olunur. Bu topic /sensor_msgs/image tipinde mesaj basmaktadır. /camera/rgb/image_raw topiğine abone olunur. Bu topic /sensor_msgs/image tipinde mesaj basmaktadır. 7.8 Evarobot Arıza Evarobot Arıza Tespiti Evarobot arıza tespiti için yapılması gerekenlerden bahsedilecektir. Aşağıdaki hatalardan biri veya birkaçı karşılaşılması durumunda karşılaşılan soruna ait akış diyagramının gerçekleştirilmesi gerekmektedir. Sorunun çözülmemesi durumunda karşılaşılan arıza kodu ve log klasörünü iletişim ve taranmış fatura bilgileri ile birlikte adresine gönderiniz. Log dosyasının nasıl oluşturulacağı Evarobot Arıza->Evarobot Arıza Klavuzları->TTL03 Log Alma kısmında anlatılmaktadır. 92 Chapter 7. Diğer

97 7.8. Evarobot Arıza 93

98 TBS01 Güç Butonu Ledi Yanmıyor TBS02 Modeme Bağlanamıyorum TBS03 SSH ile Robota Bağlanamıyorum TBS04 HDMI ile Robota Bağlanamıyorum TBS05 Sonar Sensor Çalışmıyor 94 Chapter 7. Diğer

99 7.8. Evarobot Arıza 95

100 TBS06 Kızılötesi Sensor Çalışmıyor TBS07 Bumper Sensor Çalışmıyor TBS08 IMU Sensor Çalışmıyor TBS09 Lidar Sensor Çalışmıyor TBS10 Lazer Sensor Çalışmıyor TBS11 3D Sensör Çalışmıyor Evarobot Arıza Kılavuzları Kılavuzlar TTL01 Modem Ayarlarını Tekrardan Yükleme Tarayıcınızdan ip sine bağlanın. Kullanıcı adı admin şifre olacak şekilde modem web arayüzüne giriş yapın. Linkten gerekli modem ayarlarını içeren konfigürasyon dosyasını indirin. Dosyayı zipten çıkartın. Modem web arayüzünde solda yer alan Files seçeneğine tıklayın. Choose File seçeneği ile indirilen konfigürasyon dosyasını seçin ve yükleyin. Sol menüden New Terminal seçeneğini tıklayın. Aşağıdaki komutu çalıştırın. system backup load name=modem_ayarlari Yeniden başlatma için sorulan soruya y olarak giriş yapın ve modemin yeniden başlatılmasını bekleyin. 96 Chapter 7. Diğer

PERKON PDKS Kurulum ve hızlı başlangıç rehberi

PERKON PDKS Kurulum ve hızlı başlangıç rehberi Oluşturma 02.11.2015 Revizyon: 19.01.2016 Rev. No: 03 Yazan: Süleyman FAKİR Düzenleyen: F. DELİRİ PERKON PDKS Kurulum ve hızlı başlangıç rehberi 1) PDKS Kurulumu, Lisans Onaylaması Ve Veri Tabanı Ayarları

Detaylı

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu

MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu MAC İşletim Sistemine Sahip Makineler İçin Elektronik İmza Kurulumu nda, aşağıdaki adımlar sırası ile takip edilmelidir. 1 - MAC İçin

Detaylı

ETA:MOBİL KURULUM TALİMATI

ETA:MOBİL KURULUM TALİMATI ETA:MOBİL KURULUM TALİMATI ETA:Mobil Kurulum Adımları Kuruluma başlamadan önce ana bilgisayarınızda kontrol etmeniz gereken minimum gereksinimler aşağıda belirtilmiştir. 1. Microsoft Windows Versiyon Kurulum

Detaylı

08224 Sunucu İşletim Sistemleri

08224 Sunucu İşletim Sistemleri 08224 Sunucu İşletim Sistemleri Server Operating System Elbistan Meslek Yüksek Okulu 2015 2016 Bahar Yarıyılı Öğr.Gör.Murat KEÇECİOĞLU 24 Şub. 2016 Server Operating System And Network Printer Öğr. Gör.

Detaylı

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman WiFi RS232 Converter Sayfa 1 / 12 WiFi RS232 Converter Teknik Döküman WiFi RS232 Converter Sayfa 2 / 12 1. ÖZELLĐKLER 60.20mm x 40.0mm devre boyutları (5-15)VDC giriş gerilimi Giriş ve çalışma gerilimini

Detaylı

Checkpoint SSL-VPN Kurulum Prosedürü. Checkpoint Endpoint VPN Client

Checkpoint SSL-VPN Kurulum Prosedürü. Checkpoint Endpoint VPN Client Checkpoint SSL-VPN Kurulum Prosedürü Checkpoint Endpoint VPN Client SSL-VPN Kurulum Dökümanı 2 İçerik 1 Giriş... 3 1.1 Dökümanın amacı... 3 1.2 Platform Destek... 3 2 Kurulum aşamasında yapılması gerekenler...

Detaylı

FOG SERVER (FREE GHOST SERVER) YAZILIMININ KURULUMU

FOG SERVER (FREE GHOST SERVER) YAZILIMININ KURULUMU FOG SERVER (FREE GHOST SERVER) YAZILIMININ KURULUMU 1. KURULUM ÖNCESİ HAZIRLIKLAR VE ORTAM / SÜRÜM ÖZELLİKLERİ: FOG Server yazılımı, Linux işletim sistemleri üzerine kurulan Apache2, PHP ve MySQL uygulamalarının

Detaylı

BİL BİLGİSAYAR PROGRAMLAMA (JAVA)

BİL BİLGİSAYAR PROGRAMLAMA (JAVA) BİL 141 - BİLGİSAYAR PROGRAMLAMA (JAVA) KURULUM DÖKÜMANI Ders kapsamında lab saatlerinde veya lab saatleri dışında Java kodları yazabilmek ve çalıştırabilmek için bilgisayarınıza bazı yazılımların kurulması

Detaylı

http://www.fatihbasaran.com.tr

http://www.fatihbasaran.com.tr http://www.fatihbasaran.com.tr FmB Network Tools Kurulum ve Kullanım Rehberi 1) Kurulum a) Hazırlık Eğer indirmediyseniz, yazılımın bir kopyasını aşağıdaki adresten edinebilirsiniz. Kurulum öncesinde tüm

Detaylı

01 HAZİRAN 2015 İZİBİZEDEFTER SON KULLANICI KLAVUZU

01 HAZİRAN 2015 İZİBİZEDEFTER SON KULLANICI KLAVUZU 01 HAZİRAN 2015 İZİBİZEDEFTER SON KULLANICI KLAVUZU İçindekiler 1. Giriş... 2 2. Organizasyon Tanımı... 5 3. Açılış... 17 4. Defter Sihirbazı... 17 5. İmzalama... 22 6. Berat Oluşturma... 22 7. Berat İmzalama...

Detaylı

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI

INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI INTERNET BAĞLANTISININ KURULMASI İÇİN GEREKLİ YÖNLENDİRİCİ AYARLARI Not: Bu klavuza geçmeden önce, ürününüzün paketinden çıkan Hızlı Kullanım Klavuzu nda açıklanan adımları gerçekleştiriniz. Internet Bağlantısının

Detaylı

Kablosuz 802.11N USB Adaptör

Kablosuz 802.11N USB Adaptör Kablosuz 802.11N USB Adaptör Hızlı Kurulum Kılavuzu ve Garanti Belgesi NWD-270N Kablosuz 802.11n USB Adaptör Genel Bakış NWD-270N, WPS (Kablosuz Gu venlik Yapılandırması) destekli USB arayu zu ne sahip

Detaylı

Elektronik Belge Yönetim Sistemi Kullanım Kılavuzu

Elektronik Belge Yönetim Sistemi Kullanım Kılavuzu Elektronik Belge Yönetim Sistemi Kullanım Kılavuzu İçindekiler E-İmza PIN Kodunun Alınması...2 Windows İşletim Sisteminde Yapılması Gereken işlemler...8 Windows XP ve 7 için Sürücü Kurulumu...8 Microsoft.NET

Detaylı

Horoz Programlanabilir Zaman Rölesi

Horoz Programlanabilir Zaman Rölesi Horoz lanabilir Zaman Rölesi 1 Giriş: Horoz programlanabilir zaman rölesi android işletim sistemine sahip mobil cihazlar ile bluetooth üzerinden programlanabilen bir zaman rölesidir. Röle üzerinde 1 adet

Detaylı

MCR02-AE Ethernet Temassız Kart Okuyucu

MCR02-AE Ethernet Temassız Kart Okuyucu MCR02-AE Ethernet Temassız Kart Okuyucu Teknik Özellikleri Ethernet 10BaseT Dahili TCP/IP Stack TCP/IP Client-Server Bağlantı Özelliği Dahili DNS İstemcisi DHCP veya Statik IP ile çalışabilme UDP, TCP,ARP,ICMP(ping)

Detaylı

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz:

2. SCADA PROGRAMI. TEOS' un size sunduğu bir çok hizmet içerisinde en önemlilerini şöyle sıralayabiliriz: 2. SCADA PROGRAMI Bu bölümde ülkemizde sıklıkla kullanılmaya başlayan, ülkemiz mühendislerince geliştirilmiş bir scada yazılım programı olan TEOS SCADA programı hakkında bilgiler vereceğiz. TEOS SCADA

Detaylı

UBNT. UniFi mfi Ububntu. Ubuntu İşletim Sistemi ve UniFi/mFi Yazılımlarının Kurulumu

UBNT. UniFi mfi Ububntu. Ubuntu İşletim Sistemi ve UniFi/mFi Yazılımlarının Kurulumu UBNT UniFi mfi Ububntu Ubuntu İşletim Sistemi ve UniFi/mFi Yazılımlarının Kurulumu İlknur Duran - Net Vizyon Bilgi İşlem A.Ş. Ubiquiti Networks (UBNT) UniFi ve mfi ürün ailesinin kurulumu, konfigurasyonu

Detaylı

e-imzatr Kurulum Klavuzu

e-imzatr Kurulum Klavuzu e-imzatr Kurulum Klavuzu Sürüm 0.0.1 İçindekiler İşletim Sistemi Sistem Türü Öğrenme Java yükleme Akis Kurulum Kullanıcı Doğrulama İşletim Sistemi Sistem Türü Öğrenme Bu başlıkta bilgisayarımızın mevcut

Detaylı

KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER

KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB İÇİNDEKİLER KULLANICI KILAVUZU: UEA FİX KULLANICILARININ SSLVPN ERİŞİMİ İMKB Tarih: 29/01/2013 Versiyon Tarih Açıklama 1.0 29-01-13 İlk yazımı İÇİNDEKİLER 1. AMAÇ... 1-2 2. SSLVPN BAĞLANTI ADIMLARI... 2-2 2.1 Linux

Detaylı

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman WiFi Relay Sayfa 1 / 11 WiFi Relay Teknik Döküman WiFi Relay Sayfa 2 / 11 1. ÖZELLĐKLER 100.0mm x 80.0mm devre boyutları 12/24 VDC giriş gerilimi Giriş ve çalışma gerilimini gösteren LED ler 4 adet, 12/24V,

Detaylı

GÖRÜNTÜ TABANLI ALGILAMA İLE QUADROTORUN HAREKETLİ BİR CİSMİ TAKİBİ

GÖRÜNTÜ TABANLI ALGILAMA İLE QUADROTORUN HAREKETLİ BİR CİSMİ TAKİBİ GÖRÜNTÜ TABANLI ALGILAMA İLE QUADROTORUN HAREKETLİ BİR CİSMİ TAKİBİ 1 PROJENİN TANIMI Bu projede bir quadrotora, görüntü tabanlı algılama ile hareketli bir nesneyi otonom olarak takip etme özelliği kazandırılmıştır.

Detaylı

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları

SM 100 Terazi Ayarları. Digi SM 100. SM 100 Terazi Ayarları Digi SM 100 SM 100 Terazi Ayarları Digi SM 100 Terazi Ayarları Teraziyi ayarlamaya başlamak için öncelikle X S Z ENTER Raporlar Program Ayarlar FONKSIYON Bölümlerine geçiş yapabilmemiz gerekmektedir. Bunun

Detaylı

Access Point Mod Kurulumu

Access Point Mod Kurulumu Access Point Mod Kurulumu A. Kurulum Öncesi 1. Statik IP Tanımlama Cihazın ayarlarını yapılandırabilmeniz için cihazda varsayılan olarak tanımlı IP adresi (ör:192.168.1.254) ile aynı network bloğundan

Detaylı

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU)

UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU) UNIVERSAL REPEATER (TEKRARLAYICI/GENİŞLETİCİ MODU) Tekrarlayıcı modu var olan bir kablosuz bağlantıyı tekrarlayarak daha uzak mesafelere genişletmek ve yaymak amacıyla kullanılır. Aşağıdaki adımları takip

Detaylı

WebInstaller. 1. Kurulum Đçin Gereksinimler

WebInstaller. 1. Kurulum Đçin Gereksinimler WebInstaller Ürün Grubu [X] Fusion@6 [X] Fusion@6 Standard Kategori [X] Yeni Fonksiyon Versiyon Önkoşulu @6 Uygulama E-Netsis.Net uygulamasının kurulumu Netsis\ENetsis.Net\Kurulum dizininde bulunan NetsisWebInstall.exe

Detaylı

Harita güncelleme direktifleri

Harita güncelleme direktifleri Harita güncelleme direktifleri ilk olarak Türkiye haritasını güncellemeniz için http:// www.mlsnavigasyon.com.tr web sitesine üye olarak kaydolmanız gerekiyor. 1) Yeni üye kaydı ve Güncelleme A) Web sitesinden

Detaylı

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım

Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım Windows 10 için Java JDK 8 ve NetBeans IDE 8.2 Kurulumu Detaylı Anlatım Merhaba arkadaşlar bu yazımızda sizlere windows 10 platforumunda java development kit (java geliştirme kiti) Java JDK nın kurulumundan

Detaylı

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur.

Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Arduino nedir? Arduino donanım ve yazılımın kolayca kullanılmasına dayalı bir açık kaynak elektronik platformdur. Açık kaynak nedir? Açık kaynak, bir bilgisayar yazılımının makina diline dönüştürülüp kullanımından

Detaylı

Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu

Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu Ubuntu Terminal Server Ve Uzak Masaüstü Sunucusu Ünal YILMAZ unalyilmaz@hotmail.com Hakkımda 1976 da İstanbul da doğdum. Haydarpaşa Endüstri Meslek Lisesi Elektrik, Anadolu Üni. Önlisans Halkla ilişkiler,

Detaylı

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır?

Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır? Bilindik engelleme yöntemlerinin dışında olan, kurumsal web filitreleri nasıl aşılır? Not : Yazdıklarım tamamen öğretim amaçlıdır. Yaşanacak her türlü sıkıntının sorumlusu uygulayan kişidir. Sorumluluk

Detaylı

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır.

Ekrana gelen diyalog penceresinden Typical radyo düğmesi seçilir ve Next düğmesine basılır. Windows 2012 Server Windows Server 2012 Programını VmWare Altına Kurma Microsoft firmasının ürettiği en son Server İşletim Sistemi 2012 dir. Bu işletim sistemi sürümleri 64 bit olarak yazılmış 32 bit sürümü

Detaylı

New Project. User guide

New Project. User guide New Project User guide Table of Contents New Project... 3 Katman Yöneticisi... 4 Katman Yöneticisi Araçları... 6 Katman İşlemleri... 8 Katman Görünümü... 9 Katman Ekleme... 10 Aktif Katman Yapma... 12

Detaylı

Bilgi ve iletişim teknolojileri

Bilgi ve iletişim teknolojileri Bilgi ve iletişim teknolojileri 1 Bilgisayar, Hesap makinesi gibi araçlara neden ihtiyaç duyulmuştur? Zaman tasarrufu Bilginin depolanması ihtiyacı Hatasız işlem yapma isteği İletişim ihtiyacı 30\2 Bilişim

Detaylı

FOUR FAİTH F2114 GPRS MODEM İLE ZR AUTOMATION KULLANIMI KILAVUZU

FOUR FAİTH F2114 GPRS MODEM İLE ZR AUTOMATION KULLANIMI KILAVUZU FOUR FAİTH F2114 GPRS MODEM İLE ZR AUTOMATION KULLANIMI KILAVUZU Z Telemetri Telekomünikasyon Yazılım San. Tic. LTD. ŞTI. Kavaklıdere Mah. Atatürk Bulvarı No: 151/804 Çankaya / Ankara info@ztelemetry.com

Detaylı

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM ŞEMASI x.x x.x x.x x.

Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır.  KURULUM ŞEMASI x.x x.x x.x x. KURULUM ŞEMASI 192.168.x.x 192.168.x.x 192.168.x.x 192.168.x.x ANA BİLGİSAYAR Kurulum; Ana Bilgisayar ve Tahtalara ayrı ayrı yapılmaktadır. KURULUM SİHİRBAZI adresine girerek aktahta_kur.exe dosyasını

Detaylı

Kabuk Programlama (Bash)

Kabuk Programlama (Bash) Kabuk Programlama (Bash) Erkan Esmer Ocak, 2013 İçindekiler 1 Giriş.................................................... 2 2 Kabuk(Shell)............................................... 3 3 Çekirdek(Kernel).............................................

Detaylı

300 BANT KABLOSUZ ERİŞİM NOKTASI YÖNLENDİRİCİ

300 BANT KABLOSUZ ERİŞİM NOKTASI YÖNLENDİRİCİ 300 BANT KABLOSUZ ERİŞİM NOKTASI YÖNLENDİRİCİ Hızlı Kurulum Kılavuzu DN-7059-2 İçindekiler Paket İçeriği... Sayfa 1 Ağ Bağlantılarını Oluşturma... Sayfa 2 Ağ Kurulumu... Sayfa 3 Paket İçeriği Bu yönlendiriciyi

Detaylı

Simulink Kullanılarak ROS Tabanlı Gezgin Robot Kontrol Benzetimi

Simulink Kullanılarak ROS Tabanlı Gezgin Robot Kontrol Benzetimi 2016 Published in 4th International Symposium on Innovative Technologies in Engineering and Science 3-5 November 2016 (ISITES2016 Alanya/Antalya - Turkey) Simulink Kullanılarak ROS Tabanlı Gezgin Robot

Detaylı

Windows XP Professional Kurulumu

Windows XP Professional Kurulumu Windows XP Professional Kurulumu ve YönetimiY Kuruluma Geçmeden Önce XP HOME EDİTİON / XP PROFESSİONAL ONAL ARASINDAKİ FARK Şimdi Kuruluma Geçelim elim XP Cd mizi takıyoruz ve bilgisayarımızı yeniden başlatıyoruz

Detaylı

www.airties.com 7/24 destek hattı 444 0 239 Kolay kurulum CD si Üç yıl garanti Üç yıl garanti YM.WR.5341.UM.TR.D01REV07062011

www.airties.com 7/24 destek hattı 444 0 239 Kolay kurulum CD si Üç yıl garanti Üç yıl garanti YM.WR.5341.UM.TR.D01REV07062011 www.airties.com Kolay kurulum CD si Üç yıl garanti 7/24 destek hattı 444 0 239 7/24 destek hattı 444 0 239 Üç yıl garanti YM.WR.5341.UM.TR.D01REV07062011 Kablosuz yaşam Hızlı kurulum kılavuzu Kablosuz

Detaylı

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine)

Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine) Ağ Üzerinde MATLAB kurulum rehberi (Sunucu makine) İçindekiler Tablosu Dosyaların Bilgisayara İndirilmesi... 3 Dosyaların Bilgisayara Yüklenmesi... 5 1. İnternet Üzerinden Kurulum 5 1.1. Lisans Dosyasının

Detaylı

GPSTURK SL350D Navigasyon İçin 2009/2 Güncellemesi Ve Yapılması Gerekenler!!!!!!!!

GPSTURK SL350D Navigasyon İçin 2009/2 Güncellemesi Ve Yapılması Gerekenler!!!!!!!! GPSTURK SL350D Navigasyon İçin 2009/2 Güncellemesi Ve Yapılması Gerekenler!!!!!!!! Değerli GPSTURK SL350D GPS NAVİGASYON Kullanıcıları; Yapacağımız 15 aşamalı işlem ile GPSTURK SL350D NAVİGASYON cihazlarımız

Detaylı

Q-Biz İş Zekası 5.1. Versiyon Yenilikleri

Q-Biz İş Zekası 5.1. Versiyon Yenilikleri Q-Biz İş Zekası 5.1 Versiyon Yenilikleri İçindekiler Q-Biz İş Zekası 5.1 Versiyon Yenilikleri... 1 1. Performans Gösterim Sahası... 3 2. Anahtar Performans Tanımları (KPI)... 5 3. Dashboard Özellikleri...

Detaylı

AKS SOFT V4.0 KULLANMA KILAVUZU. Geçiş Kontrol Yönetimi Personel Tanımlama Geçiş Kontrol Raporları Ziyaretçi Yönetimi

AKS SOFT V4.0 KULLANMA KILAVUZU. Geçiş Kontrol Yönetimi Personel Tanımlama Geçiş Kontrol Raporları Ziyaretçi Yönetimi AKS SOFT V4.0 KULLANMA KILAVUZU Geçiş Kontrol Yönetimi Personel Tanımlama Geçiş Kontrol Raporları Ziyaretçi Yönetimi Masaüstünde AKS SOFT V4.0 kısa yolu oluşur. Bu kısa yol kullanılarak program çalıştırılır.

Detaylı

MAC OS X E- İMZA KURULUMU VE ÖRNEK E-İMZA ATMA İŞLEMLERİ 1. Kullanılan MAC Bilgisayar, MAC OS X El Capitan ve üzeri bir sürüm ise csrutil disable

MAC OS X E- İMZA KURULUMU VE ÖRNEK E-İMZA ATMA İŞLEMLERİ 1. Kullanılan MAC Bilgisayar, MAC OS X El Capitan ve üzeri bir sürüm ise csrutil disable MAC OS X E- İMZA KURULUMU VE ÖRNEK E-İMZA ATMA İŞLEMLERİ 1. Kullanılan MAC Bilgisayar, MAC OS X El Capitan ve üzeri bir sürüm ise csrutil disable ayarı yapılması gereklidir. Bu işlem için; Bilgisayarın

Detaylı

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010

Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Kullanım Kılavuzu Milli Eğitim Bakanlığı 2010 Bu belge BT Sınıfı Etkinliklerinde Kullanılmak Üzere Hazırlanmıştır İÇİNDEKİLER GİRİŞ... 3 ÜYE (KAYIT) OLMA... 3 YÖNETİM PANELİ İŞLEMLERİ... 5 ŞABLON AYARLARI...

Detaylı

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7 PROJE RAPORU Proje Adı: Pedalmatik Projemizle manuel vitesli araçlarda gaz, fren ve debriyaj pedallarını kullanması mümkün olmayan engelli bireylerin bu pedalları yönetme kolu (joystick) ile sol el işaret

Detaylı

Windows Server 2012 DHCP Kurulum ve Yapılandırma

Windows Server 2012 DHCP Kurulum ve Yapılandırma Windows Server 2012 DHCP Kurulum ve Yapılandırma DHCP, TCP/IP ağındaki makinelere IP adresi, DNS, Wins vb. ayarların otomatik olarak yapılması için kullanılır. Bu özellik ADSL modemlerin içerisinde de

Detaylı

EKLER EK 12UY0106-5/A4-1:

EKLER EK 12UY0106-5/A4-1: Yayın Tarihi: 26/12/2012 Rev. :01 EKLER EK 12UY0106-5/A4-1: nin Kazandırılması için Tavsiye Edilen Eğitime İlişkin Bilgiler Bu birimin kazandırılması için aşağıda tanımlanan içeriğe sahip bir eğitim programının

Detaylı

Yerel Okul Sunucusu Uygulama Yazılımları Prototipi

Yerel Okul Sunucusu Uygulama Yazılımları Prototipi TECHNOLOGY SOLUTIONS Yerel Okul Sunucusu Uygulama Yazılımları Prototipi Test ve Kabul Raporu TRscaler Technology Solutions 2013 A N K A R A Ü N İ V E R S İ T E S İ T E K N O L O J İ G E L İ Ş T İ R M E

Detaylı

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: 1.1 16.11.2015 BQTEK

BQ101 GSM Access Kontrol Ünitesi Windows Programı. Kullanım Kılavuzu. Doküman Versiyon: 1.1 16.11.2015 BQTEK BQ101 GSM Access Kontrol Ünitesi Windows Programı Kullanım Kılavuzu Doküman Versiyon: 1.1 16.11.2015 BQTEK İçindekiler İçindekiler... 2 1. Genel Bilgi... 3 2. Program Ayarlarının ve Cihaz Bağlantısının

Detaylı

LUNUX UBUNTU İŞLETİM SİSTEMİ ÜZERİNDE SES KARTI ESASLI APRS SİSTEMİNİN KURULMASI(SOUNDMODEM-XASTIR)

LUNUX UBUNTU İŞLETİM SİSTEMİ ÜZERİNDE SES KARTI ESASLI APRS SİSTEMİNİN KURULMASI(SOUNDMODEM-XASTIR) LUNUX UBUNTU İŞLETİM SİSTEMİ ÜZERİNDE SES KARTI ESASLI APRS SİSTEMİNİN KURULMASI(SOUNDMODEM-XASTIR) TA9J Prof.Dr. İsmail Çakmak, e-mail: ismailcakmak@gmail.com ÖZET: Ototamik Pozisyon Belirleme Sistemi(APRS)

Detaylı

NBG416N. Kullanım Kılavuzu ve Garanti Kartı NBG416N

NBG416N. Kullanım Kılavuzu ve Garanti Kartı NBG416N NBG416N Kullanım Kılavuzu ve Garanti Kartı NBG416N Ürün Bakım ve Muhafaza Ürünü sadece orijinal adaptörü ile çalıştırınız. Ürünün kasasını hiçbir koşulda açmayınız, herhangi bir parçasını sökmeyiniz. Arıza

Detaylı

ENERJİ TAKİP YAZILIMI. elektrometre, elektropan ın tescilli markasıdır.

ENERJİ TAKİP YAZILIMI. elektrometre, elektropan ın tescilli markasıdır. ENERJİ TAKİP YAZILIMI elektrometre, elektropan ın tescilli markasıdır. Giriş Değerli Müşterimiz, Yazılımınızı verimli bir şekilde kullanmak için bu kılavuzun tamamını dikkatle okumanızı ve bir başvuru

Detaylı

Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI!

Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI! Fisheye IP Kamera Hızlı Kurulum Kılavuzu MODELLER P4320, P4520 UYARI! Kurulum işlemine geçmeden önce kurulum kılavuzunu dikkatlice okuyunuz. Bu kılavuzunun içeriği, fonksiyonlardaki değişiklikler önceden

Detaylı

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu

Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr. Gölhisar Meslek Yüksekokulu Öğr.Gör. Gökhan TURAN www.gokhanturan.com.tr Gölhisar Meslek Yüksekokulu İnternet Nedir? Internet, birçok bilgisayar sisteminin birbirine bağlı olduğu, dünya çapında yaygın olan ve sürekli büyüyen bir

Detaylı

TachoMobile Server Uygulaması Kullanım Kılavuzu

TachoMobile Server Uygulaması Kullanım Kılavuzu TachoMobile Yönetim Sistemi Proje Destek Dokümanı / Server Uygulaması v1.00.01 İÇİNDEKİLER Server Uygulaması 1. YAZILIM KURULUMLARI 1.1 Java 1.1.1 Kurulum 1.2 TachoMobile Server Uygulaması 1.2.1 Kurulum

Detaylı

Q-P 50 B KULLANIM KILAVUZU

Q-P 50 B KULLANIM KILAVUZU Q-P 50 B KULLANIM KILAVUZU BÖLÜM 1: ÜRÜN ÖZELLİKLERİ Bu Q-P 50 B okuyucu özellikle, akıllı binalar, yerleşim alanlarındaki toplu geçişlerde, ofislerin binaların, fabrika girişlerinin kontrolü için dizayn

Detaylı

Bu bölüm V- Ray License Server lisans sunucusu uygulamasının kurulumundan

Bu bölüm V- Ray License Server lisans sunucusu uygulamasının kurulumundan Lisans Sunucusu Kurulumu bahsedecektir. Bu bölüm V- Ray License Server lisans sunucusu uygulamasının kurulumundan V-Ray in bazı dağıtımlarında V-Ray License Server uygulamasını kuruludur. Yine de V- Ray

Detaylı

Qt ile Bir Ağ Uygulaması

Qt ile Bir Ağ Uygulaması Qt ile Bir Ağ Uygulaması Aykut Aksoy aykutaksoy@myway.com sürüm 1.0 Özet Bu belge Qt ile hazırlanmış bir ağ uygulamasını anlatır. C++ bilinmesi beklenir. Bu belgede "QProcess.h" kütüphanesine ağırlık verilmiştir.

Detaylı

Hızlı Kurulum Rehberi. ASUS AAM6030BI ADSL 4 Port Modem

Hızlı Kurulum Rehberi. ASUS AAM6030BI ADSL 4 Port Modem Hızlı Kurulum Rehberi ASUS AAM6030BI ADSL 4 Port Modem Gerekli olduğu durumda yetkili kişilerin servis yapması uygundur. Yalnızca ürünle beraber gelen güç kaynağını kullanınız. Yalnızca ürünle beraber

Detaylı

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon : 1.02.01

Wolvox Kapı Ekranı. AKINSOFT Wolvox Kapı Ekranı Yardım Dosyası. Doküman Versiyon : 1.02.01 AKINSOFT Yardım Dosyası Doküman Versiyon : 1.02.01 Tarih : 15.11.2014 1 1. KULLANIM AMACI Personel takip sistemi kullanmak isteyen tüm işletmeler için geliştirilmiştir. WOLVOX İnsan Kaynakları programı

Detaylı

NPratik Yazılım Kurulum Kılavuzu. Yedekleme İşlemi

NPratik Yazılım Kurulum Kılavuzu. Yedekleme İşlemi NPratik Yazılım Kurulum Kılavuzu Herhangi bir neden ile bilgisayarınızı formatlamadan önce NPratik Yazılım Verilerinizi yedeklemeniz gerekmektedir. Programı ilk defa kuruyorsanız NPratik Yazılım Kurulum

Detaylı

1. Portala Giriş. 2. Portalın Kullanımı Genel

1. Portala Giriş. 2. Portalın Kullanımı Genel 1. Portala Giriş Masraf beyanı portalına girmek için http://www.agmasraf.com adresine girilir. Sistem sizi tanıyarak girişi gerçekleştirir, şifre sorması durumunda Kullanıcı adı kısmına; sicil numarası,

Detaylı

Ledler turuncu yanıyorsa iki modem arasınta fiziksel bağlantı var demektir.

Ledler turuncu yanıyorsa iki modem arasınta fiziksel bağlantı var demektir. Schmid Watson Zürih te 1967 yılında kurulan Schmid Telecom ses, data ve video konferans iletiminde dünya lideri bir firmadır ve bu tarihten beri yüksek kaliteli ürünler dizayn etmiş, üretmiş ve uygulamıştır.

Detaylı

TÜRKİYE CUMHURİYETİ ORMAN GENEL MÜDÜRLÜĞÜ DASDIFFUSION DEPARTMENTAL EDITION 1. FAZ TARAMA PC KURULUM KILAVUZU

TÜRKİYE CUMHURİYETİ ORMAN GENEL MÜDÜRLÜĞÜ DASDIFFUSION DEPARTMENTAL EDITION 1. FAZ TARAMA PC KURULUM KILAVUZU TÜRKİYE CUMHURİYETİ ORMAN GENEL MÜDÜRLÜĞÜ DASDIFFUSION DEPARTMENTAL EDITION 1. FAZ TARAMA PC KURULUM KILAVUZU Hazırlayan: DAS A.Ş. 1 S a y f a D A S R & D Amaç ve Kapsam Bu doküman ile, Türkiye Cumhuriyeti

Detaylı

SpamTitan CD'den kurulum

SpamTitan CD'den kurulum SpamTitan CD'den kurulum Hazırlık 1. Sadece Mail Güvenlik Duvarı olarak kullanacağınız uygun bir sunucu seçin. Tavsiye edilen özellikler: o Pentium 4 işlemci, 1024MB RAM Bellek, 80GB sabit disk, 1 Ethernet

Detaylı

BQ370-02 Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: 1.0 03.05.2016 BQTEK

BQ370-02 Modbus Analog Giriş Kartı 6 Kanal 4 20mA. Kullanım Kılavuzu. Doküman Versiyon: 1.0 03.05.2016 BQTEK Modbus Analog Giriş Kartı 6 Kanal 4 20mA Kullanım Kılavuzu Doküman Versiyon: 1.0 03.05.2016 BQTEK İçindekiler İçindekiler... 2 1. Cihaz Özellikleri... 3 2. Genel Bilgi... 3 1. Genel Görünüm... 4 2. Cihaz

Detaylı

Paket İçeriği. AC1200 WiFi Router Model R6100 Kurulum Kılavuzu

Paket İçeriği. AC1200 WiFi Router Model R6100 Kurulum Kılavuzu Ticari markalar NETGEAR, NETGEAR logosu ve Connect with Innovation NETGEAR, Inc.in ve/veya bağlı şirketlerinin ABD'de ve/veya diğer ülkelerde ticari markaları ve/ veya kayıtlı ticari markalarıdır. Bilgiler,

Detaylı

Temel masaüstü bileşenleri

Temel masaüstü bileşenleri Temel masaüstü bileşenleri Bu bölümde önce kısaca masaüstünün ne olduğundan, nasıl kullanılabileceğinden bahsedip, ardından da masaüstünün temel bileşenlerini anlatacağız. Masaüstü, simgeler, pencereler,

Detaylı

İçindekiler Hitit Sayım Cihazı Kurulum ve Kullanım Kılavuzu... 2 Sayım Cihazı Kurulum İşlemleri... 2 Hitit Kurulum işlemleri...

İçindekiler Hitit Sayım Cihazı Kurulum ve Kullanım Kılavuzu... 2 Sayım Cihazı Kurulum İşlemleri... 2 Hitit Kurulum işlemleri... 1 İçindekiler Hitit Sayım Cihazı Kurulum ve Kullanım Kılavuzu... 2 Sayım Cihazı Kurulum İşlemleri... 2 Hitit Kurulum işlemleri... 5 Cihazdan Sayım İşlemleri... 8 Sayım Dosyasının Hitit e Okutulması...

Detaylı

F8914 ZİGBEE RF MODEM İLE MODBUS HABERLEŞME KILAVUZU

F8914 ZİGBEE RF MODEM İLE MODBUS HABERLEŞME KILAVUZU F8914 ZİGBEE RF MODEM İLE MODBUS HABERLEŞME KILAVUZU Z Telemetri Telekomünikasyon Yazılım San. Tic. LTD. ŞTI. Kavaklıdere Mah. Atatürk Bulvarı No: 151/804 Çankaya / Ankara info@ztelemetry.com Tel: +90

Detaylı

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon

Ecat 8. Hakbim Bilgi İşlem A.Ş. Versiyon Ecat 8 Hakbim Bilgi İşlem A.Ş. Versiyon 2015 01.01 1 Ecat8 Nedir? Firmaların elektronik yedek parça kataloğu ihtiyacını karşılamak için Hakbim Bilgi İşlem tarafından geliştirilmiş ve geliştirilmeye devam

Detaylı

Coslat Monitor (Raporcu)

Coslat Monitor (Raporcu) Coslat Monitor (Raporcu) Coslat Monitor, Coslat Firewall, Hotspot ve Mirror uygulamalarında oluşturulan zaman damgalı kayıtların analiz edilmesini ve raporlanmasını sağlayan uygulamadır. Coslat Monitor

Detaylı

FOUR FAİTH ROUTER LARDA IPSEC GÜVENLİ HABERLEŞME KILAVUZU

FOUR FAİTH ROUTER LARDA IPSEC GÜVENLİ HABERLEŞME KILAVUZU FOUR FAİTH ROUTER LARDA IPSEC GÜVENLİ HABERLEŞME KILAVUZU Z Telemetri Telekomünikasyon Yazılım San. Tic. LTD. ŞTI. Kavaklıdere Mah. Atatürk Bulvarı No: 151/804 Çankaya / Ankara info@ztelemetry.com Tel:

Detaylı

BİLGİ NOTU. SpeedTouch 580. Kablosuz ADSL Modem

BİLGİ NOTU. SpeedTouch 580. Kablosuz ADSL Modem BİLGİ NOTU SpeedTouch 580 Kablosuz ADSL Modem SpeedTouch 580 Kablolu USB Kurulumu (MS Windows 98) 1. 2. SpeedTouch Kurulum CD sini taktıktan sonra lütfen bekleyiniz. SpeedTouch Kurulum Sihirbazı ekranı

Detaylı

Useroam Kurulum Rehberi

Useroam Kurulum Rehberi Useroam Kurulum Rehberi User roaming service İndirme Useroam güncel sürümünü www.useroam adresinden indirebilirsiniz. İndirmiş olduğunuz iso dosyasını Useroam ürününü kuracağınız platforma taşıyınız. Vmware

Detaylı

Ortam İzleyici Kullanım Kılavuzu

Ortam İzleyici Kullanım Kılavuzu Ortam İzleyici Kullanım Kılavuzu BARAN ELEKTRONİK SİSTEMLERİ SAN. TİC. LTD. ŞTİ İçindekiler Ana Ekran... 2 Mail kurulum Ekranı... 3 Cihaz Ekleme ve Otomatik Tarama Ekranı... 4 Manuel Cihaz Ekleme ve Adlandırma...

Detaylı

SHERIFF PROTEK V7.37

SHERIFF PROTEK V7.37 SHERIFF PROTEK V7.37 KURULUM: Güvenlik koruma yazılımının kurulumu çift aşamalıdır. Birincisi DOS ortamında BOOT edilebilir CD den ikinci aşama ise Windows üzerindeki programın çalıştırılması ile. A DOS

Detaylı

Sistem Konfigrasyonu ;

Sistem Konfigrasyonu ; Sistem Konfigrasyonu ; Konfigrasyon emisyon sisteminde tanımlanan modbus ID numaralarının yetkili firma tarafından belirlenmesinin ardından yandaki görülen resimdeki şekilde set edilir. Ayrıca Channel

Detaylı

Universal Repeater Mod Kurulumu

Universal Repeater Mod Kurulumu Universal Repeater Mod Kurulumu A. Kurulum Öncesi 1. Statik IP Tanımlama Cihazın ayarlarını yapılandırabilmeniz için cihazda varsayılan olarak tanımlı IP adresi (ör:192.168.1.254) ile aynı network bloğundan

Detaylı

ACR-Net 100 Kullanım Kılavuzu

ACR-Net 100 Kullanım Kılavuzu ACR-Net 100 Kullanım Kılavuzu Ayrıntılı bilgi için web sayfamızı ziyaret edin. www.acrelektronik.com.tr 1 İçindekiler 1. ACR-Net 100... 3 1.1. ACR-Net 100 Özellikleri... 3 1.2. Kullanım Alanları... 3 1.3.

Detaylı

Kuruluma başlamadan önce gerekli tüm bileşenlerin mevcut olup olmadığını kontrol edin. Kutuda şunlar bulunmalıdır:

Kuruluma başlamadan önce gerekli tüm bileşenlerin mevcut olup olmadığını kontrol edin. Kutuda şunlar bulunmalıdır: E L K I TA B I N I - 7 0 7 5 0 2 1 P A K E T I N I Ç I N D E K I L E R 4 T E K N I K Ö Z E L L I K L E R 4 U Y G U L A M A Y E L P A Z E S I 4 D O N A N I M K U R U L U M U 5 Y Ö N L E N D I R I C I YA

Detaylı

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe

Turquaz Windows kurulum dökümanı. ftp://ftp.mirror.ac.uk/sites/ftp.postgresql.org/binary/v7.3.1/windows/pgsql731wina1.exe 1. Giriş Turquaz programını windows üzerinde çalıştırmak için öncelikle bilgisayarınızda postgresql ve Java nın kurulu olması gerekli. Aşağıdaki bilgi ve dökümanlar windows 2000 işletim sistemi üzerinde

Detaylı

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT

AKINSOFT. Eofis NetworkAdmin. AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu. Doküman Versiyon : 1.01.01 Tarih : 10.01.2008. Copyright 2008 AKINSOFT AKINSOFT EOfis NetworkAdmin Kurulumu Bilgi Notu Doküman Versiyon : 1.01.01 Tarih : 10.01.2008 1 - Çalışma Şekli Hakkında Kısa Bilgi modülü kısaca aşağıdaki işlemleri yapar. Bu özelliklerin çalışabilmesi

Detaylı

Ağ Projektörü Çalıştırma Kılavuzu

Ağ Projektörü Çalıştırma Kılavuzu Ağ Projektörü Çalıştırma Kılavuzu İçindekiler Hazırlık...3 Projektörü bilgisayarınıza bağlama...3 Kablolu bağlantı... 3 Projektörün uzaktan bir web tarayıcısı vasıtasıyla kontrol edilmesi...5 Desteklenen

Detaylı

Program Kurulum. Turquaz Muhasebe. İçindekiler

Program Kurulum. Turquaz Muhasebe. İçindekiler Program Kurulum Turquaz Muhasebe İçindekiler İÇİNDEKİLER 1 1. TEK KULLANICI 2 2. AĞ KURULUMU 4 2.1 VERİTABANI SERVER KURULUMU 4 2.2 VERİTABANI SERVER AYARLARI 11 2.3 DATALARIN YÜKLENMESİ 11 2.4 İSTEMCİ

Detaylı

Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcıyı Yazılım ve Belgeler CD'sini kullanarak kurma. Bağlantı Kılavuzu

Bağlantı Kılavuzu. Desteklenen işletim sistemleri. Yazıcıyı Yazılım ve Belgeler CD'sini kullanarak kurma. Bağlantı Kılavuzu Sayfa 1 / 6 Bağlantı Kılavuzu Desteklenen işletim sistemleri Yazılım ve Belgeler CD'sini kullanarak, yazıcıyı aşağıdaki işletim sistemlerine kurabilirsiniz: Windows 7 Windows Server 2008 R2 Windows Server

Detaylı

1 USCPluS+ Yapılandırma Kılavuzu (SERVİS)

1  USCPluS+ Yapılandırma Kılavuzu (SERVİS) 1 www.mepsan.com.tr USCPluS+ Yapılandırma Kılavuzu (SERVİS) 2 www.mepsan.com.tr İÇİNDEKİLER 1. USCPluS Bağlantı Ayarları 2. USCPluS Arayüze Giriş İşlemi 3. USCPluS Konfigürasyon Sayfası 4. USCPluS Yapılandırma

Detaylı

www.airties.com 7/24 destek hattı 444 0 239 Kolay kurulum CD si Üç yıl garanti Üç yıl garanti YM.WR.6372.UM.TR.D00REV24032011

www.airties.com 7/24 destek hattı 444 0 239 Kolay kurulum CD si Üç yıl garanti Üç yıl garanti YM.WR.6372.UM.TR.D00REV24032011 www.airties.com Kolay kurulum CD si Üç yıl garanti 7/24 destek hattı 444 0 239 7/24 destek hattı 444 0 239 Üç yıl garanti YM.WR.6372.UM.TR.D00REV24032011 Kablosuz yaşam Hızlı kurulum kılavuzu 2 VoIP Portlu

Detaylı

KULLANIM KILAVUZU NFH-0115 VIP KONTROL SİSTEMLERİ HABERLEŞME ÜNİTESİ

KULLANIM KILAVUZU NFH-0115 VIP KONTROL SİSTEMLERİ HABERLEŞME ÜNİTESİ KULLANIM KILAVUZU NFH-0115 VIP KONTROL SİSTEMLERİ HABERLEŞME ÜNİTESİ DOKÜMAN VERSİON: 1.0 SON GÜNCELLEME: 29.04.2013 ÜRÜN GRUBU: VIP KONTROL SİSTEMLERİ ÜRÜN KODU: NFH-0115 ÜRÜN: VIP KONTROL SİSTEMİ HABERLEŞME

Detaylı

Kurumsal Güvenlik ve Web Filtreleme

Kurumsal Güvenlik ve Web Filtreleme S a y f a 1 antikor Kurumsal Güvenlik ve Web Filtreleme SshClient, Putty v.s. S a y f a 2 S a y f a 3 Yönetici olarak AntiKor a girmek için SshClient veya Putty programı kullanılır. IP olarak kurum içinden

Detaylı

1. Yardım Masası 3. 2. SWEP Web Uygulaması Ayarları 3. 2.1. Tarayıcı Ön Belleğinin Silinmesi 3. 3. Güvenlik Ayarları 5

1. Yardım Masası 3. 2. SWEP Web Uygulaması Ayarları 3. 2.1. Tarayıcı Ön Belleğinin Silinmesi 3. 3. Güvenlik Ayarları 5 1 1 1 2 1. Yardım Masası 3 2. SWEP Web Uygulaması Ayarları 3 2.1. Tarayıcı Ön Belleğinin Silinmesi 3 3. Güvenlik Ayarları 5 3.1. Açılır Pencere Engelleyicisi 5 3.2. Güvenilen Sitelere Anadolu Sigorta Adresini

Detaylı

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi

TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi TecCom TecLocal Programı Kurulum ve Yapılandırma Rehberi Giriş: TecLocal programı TecCom elektronik ticaret platformu üzerinden sisteme kayıtlı tedarikçi/distribütör firmalara bağlanmayı sağlayan ücretsiz

Detaylı

ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI

ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI ROBOTİK VE KODLAMA EĞİTİMİ ÇERÇEVESİNDE 2018 2019 ÖĞRETİM YILI BİLİŞİM TEKNOLOJİLERİ DERSİ ÜNİTELENDİRİLMİŞ YILLIK DERS PLANI Hazırlayan : Özel Öğretim Kurumları Birliği (ÖZKURBİR) Dersin Adı : Bilişim

Detaylı

CLIENT MODE KURULUMU

CLIENT MODE KURULUMU CLIENT MODE KURULUMU Client Mode Nedir? Client mod varolan kablosuz bağlantıyı kabloluya çeviren bir tekniktir. Client özelliği bulunan kablosuz bir TP-LINK AP cihazımız ile herhangibir kablosuz erişim

Detaylı

TachoMobile Web Uygulaması v1.00.

TachoMobile Web Uygulaması v1.00. TachoMobile Yönetim Sistemi Proje Destek Dokümanı / Web Uygulaması v1.00.01 İÇİNDEKİLER Web Uygulaması 1. TANIMLAMALAR 1.1 Araçlar 1.2 Sürücüler 2. TAKOGRAF VERİLERİ 2.1 Veri İndirme 2.2 Gelen Kutusu 2.3

Detaylı

INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK

INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK INTERNET INFORMATION SERVICES 6.0 DA WEB SAYFASI YAYINLAMAK INTERNET INFORMATION SERVICES 6.0 da (IIS 6.0) Web Sayfası yayınlamak için ilk olarak IIS 6.0 ın kurulu olması gereklidir. IIS Windows ta default

Detaylı

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür.

Mikro Ayarları. Mikro Programının kurulu olduğu veritabanı ve web servisi için bağlantı ayarlarının yapıldığı menüdür. Mikro Ayarları Mikro muhasebe sistemini kullanan müşterilemizin, muhasebe sistemleri ile E Ticaret sitesi arasındaki entegrasyon parametrelerini tanımladıkları menüdür. Bu menü altındaki alt menüler kullanılarak

Detaylı

GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı-

GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı- GMTCNT PLC ile MODBUS MASTER Haberleşmesi -MICNO Serisi Hız Kontrol ile Bağlantı- RS485 Bağlantı: 1- RS485 bağlantı için PLC nin RS485 bağlantısı için olan COM2 girişini kullanınız. (Şekildeki gibi takınız)

Detaylı