Adım Adım Uygulamalı ROS ile Robot Programlama (Robot İşletim Sistemi) Kavram – Tasarım– Uygulama Dr. Uğur Yayan, Dr. A. Taha Arslan, Dr. Hikmet Yücel, Hakan Gençtürk  - Kitap
Adım Adım Uygulamalı

ROS ile Robot Programlama (Robot İşletim Sistemi)

Kavram – Tasarım– Uygulama

1. Baskı, 
Eylül 2020
Kitabın Detayları
Dili:
Türkçe
Ebat:
16x24
Sayfa:
246
Barkod:
9789750261466
Kapak Türü:
Karton Kapaklı
Fiyatı:
280,00
24 saat içerisinde temin edilir.
Kitabın Açıklaması
Eser, her biri konusunda uzman, robot programcılığı konusunda çalışmaları olan ve bu konuda Ar-Ge çalışmaları yapan yazarlar tarafından hazırlanmıştır.
Kitapta, Ros (Robot Operatigin System) programı anlatılırken, tek tek menüler anlatılmamış, bunun yerine örnek ve uygulanmış bir proje en başından en sonuna kadar anlatılmıştır. Bu sayede, okuyucunun bizzat bir projeyi bitirmesi sağlanarak, karşılaşacabileceği sorunları ve çözüm yollarını görmesi sağlanmıştır.
Kitap, ROS'u öğrenmek isteyen ya da bu konuda kendini geliştirmek isteyenlere hitap etmekte olup, kitap içerisinde sunulan tüm kodlara github.com'dan ulaşılabilirsiniz.
Kitabın Konu Başlıkları
.
Linux Kurulumu ve Kullanımı
.
Python Uygulamaları
.
ROS Arakatmanı
.
ROS Kavramları
.
ROS Paket Geliştirme
.
Yayıncı Abone Mimarisi Geliştirme
.
Servis İstemci Mimarisi Geliştirme
.
ROS Komutlarının Kullanımı
.
ROS Dosya Sistemi
.
ROS Araçlarının Kullanımı
.
3B Robot Simülasyonu
.
Otonom Robot Görev Tasarımı ve Uygulaması
Yorumlar
Kitabın İçindekileri
Önsöz 
5
Teşekkür 
7
Sözlük 
15
1. Giriş: Robotik ve ROS 
17
2. Ubuntu İşletim Sistemi ve Linux Temelleri 
25
2.1. Linux Nedir? Linux’un Kısa Bir Tarihçesi 
25
2.2. Linux Dağıtımları 
25
2.3. Ubuntu İşletim Sisteminin Kurulumu 
26
2.4. Kullanıcı Arayüzleri 
32
2.5. Sistemle İlgili Temel Bilgileri Edinme 
33
2.5.1. whoami 
33
2.5.2. hostname 
33
2.5.3. lscpu 
33
2.5.4. uname 
34
2.5.5. lsb_release 
34
2.5.6. pwd 
34
2.5.7. printenv 
34
2.6. Linux Dosya Yapısı 
35
2.7. Linux’te Dosya İşlemleri 
36
2.7.1. Klasör Oluşturmak ve Klasör Değiştirmek 
36
2.7.2. Boş Dosya Oluşturmak: Touch 
36
2.7.3. Dosya Listeleme: ls 
36
2.8. Metin Dosyalarını Oluşturma ve Görüntüleme 
37
2.8.1. nano Metin Editörü 
37
2.8.2. cat 
37
2.8.3. more ve less 
38
2.8.4. head ve tail 
38
2.8.5. echo 
38
2.9. Standart Akışlar 
39
2.9.1. tee 
39
2.9.2. Yönlendirme (Redirection) 
40
2.10. Düzenli İfadeler (Regular Expressions) 
42
2.10.1. tr 
42
2.10.2. grep 
43
2.11. Yardımcı Komutlar ve Programlar 
43
2.11.1. Dosya Aramak: find 
44
2.11.2. cut 
44
2.11.3. Komutlar ve Programlar ile İlgili Bilgi Edinme: man ve info 
44
2.11.4. alias 
45
2.11.5. history 
45
2.12. Bash’te Değişkenler 
46
2.12.1. export 
47
2.12.2. .bashrc Dosyası 
47
2.13. Bash’te Programlama 
48
2.13.1. source 
49
2.14. Ubuntu’da Kullanıcı İşlemleri 
49
2.14.1. Süper Kullanıcı (root) 
49
2.14.2. Yeni Kullanıcılar Eklemek 
50
2.14.3. Başka Bir Kullanıcıya Geçmek 
50
2.14.4. Kullanıcıları Silmek 
51
2.15. Dosya ve Kullanıcı İzinleri 
51
2.15.1. chgrp 
51
2.15.2. chown 
52
2.15.3. chmod 
52
2.16. Ubuntu’da Prosesler (Süreçler) 
54
2.16.1. ps ve top komutları 
55
2.16.2. kill 
56
2.17. Ubuntu’da Paket İşlemleri 
58
2.18. XML ve YAML İşaretleme Dilleri 
59
2.18.1. XML 
59
2.18.2. YAML 
60
3. Python Programlama Diline Giriş 
63
3.1. Programlama Dilleri Nedir? Python Programlama Dilinin Özellikleri Nelerdir? 
63
3.2. rospy Kütüphanesi 
64
3.3. Python Betiklerinin Linux Ortamında Geliştirilmesi 
64
3.4. Python’da Operatörler, Data Türleri ve Değişkenler 
65
3.5. Python’da Birleşik Data Türleri 
67
3.6. Boolean Operatörler ve Kıyaslamalar 
70
3.7. Koşul (if) İfadeleri 
70
3.8. Döngüler (for ve while ifadeleri) 
71
3.9. Fonksiyonlar 
73
3.10. Python’da Hatalar 
73
3.11. Python’da Nesne Yönelimli Programlama 
75
3.12. Python’da Modüller 
77
3.13. Python Paketlerinin Kurulması 
79
3.14. Python içim Sanal Ortamlar 
80
4. ROS, ROS Dağıtımları ve ROS Kinetic Kame Kurulumu 
83
4.1. ROS dağıtımları ve Kinetic Tanıtım 
83
4.1.1. Sürüm Yayımlanma Çizelgesi 
85
4.1.2. Hangi Dağıtımı Kullanmalıyım? 
85
4.1.3. Topluluk – Community Level 
85
4.1.4. ROS Kinetic 
86
4.1.5. ROS Kurulumu 
86
4.2. ROS Kurulumu 
88
4.2.1. Kurulum 
88
4.3. Robot Operating System (ROS) 
89
4.3.1. ROS Dosya Yapısı 
90
4.3.2. ROS Kavramlarının Anlaşılması 
91
4.3.3. Roscore 
93
4.4. ROS Ortamının Hazırlanması 
94
4.4.1. ROS Çalışma Alanı Yaratma Ve Ortamın Yönetilmesi 
94
4.4.2. catkin_make Kullanma 
96
4.4.3. Bir Catkin Paketini Ne Oluşturur? 
97
4.4.4. Bir Catkin Çalışma Alanındaki Paketler 
97
5. ROS Paketi Oluşturma, Yayıncı–Abone Örneği ve Yardımcı Komutlar 
99
5.1. ROS Paketinin Yaratılması 
99
5.1.1. Paketin Özelleştirilmesi 
102
5.1.2. Yeni Paketin Derlenmesi ve Oluşturulması 
104
5.2. Basit Bir Yayıncı ve Abone Düğümünün Yazılması 
107
5.2.1. Hazırlık 
107
5.2.2. Yayıncı Düğümünün Yaratılması 
107
5.2.3. Abone Düğümünün Yaratılması 
112
5.3. Yardımcı ROS Komutları 
114
5.3.1. rosnode 
114
5.3.2. rosrun 
115
5.3.3. Roslaunch 
117
5.4. Düğümlerin Çalıştırılması 
119
5.5. ROS msg Yaratılması 
122
5.5.1. Özel Mesaj Yaratma 
123
6. ROS Paketi Oluşturma, Servis–İstemci Örneği ve Yardımcı Komutlar 
125
6.1. Basit Bir Servis ve İstemci Düğümünün Yazılması 
125
6.1.1. Ön Şartlar 
125
6.1.2. Servis Düğümünün Oluşturulması 
127
6.1.3. İstemci Düğümünün Oluşturulması 
134
6.1.4. Düğümlerin Çalıştırılması 
139
6.2. rosservice ve rosparam Araçları 
140
6.2.1. rosservice Kullanımı 
141
6.2.2. rosparam Kullanımı 
142
6.3. Özel Servis Yaratılması 
144
7. ROS Dosya Sistemi, ROS QT Arayüzü, ROSBag, Rviz 
147
7.1. Ros Dosya Sisteminde Gezinme 
147
7.1.1. Dosya Sistemi Kavramları 
147
7.1.2. Dosya Sistemi Komutları 
147
7.2. ROS'ta Dosyaları Düzenlemek Için Rosed Kullanımı 
150
7.3. ROS QT arayüzü RQT 
151
7.3.1. rqt_console ve rqt_logger_level 
152
7.3.2. rqt_graph 
154
7.3.3. rqt_plot Kullanma 
155
7.4. rosbag ile Verileri Kaydetme ve Oynatma 
157
7.4.1. Tüm Yayınlanan Konuları Kaydetme (bag Dosyası Oluşturma) 
157
7.4.2. bag Dosyasını Inceleme ve Oynatma 
159
7.4.3. Sadece İstenilen Konuları Kaydetme 
160
7.4.4. Rosbag Kayıt / Oynatma Sınırlamaları 
161
7.5. ROS Görselleştirme Arayüzü – rviz 
161
8. Gezgin Robot Alan Süpürme Senaryosunun Kodlanması 
165
8.1. Temizlik Robotu Simülasyon Ortamının Oluşturulması 
166
8.1.1. Ön Şartlar 
166
8.1.2. Temizlik Robotu Simülasyon Ortamının Çalıştırılması 
167
8.2. Temizlik Robotu Paketinin Oluşturulması 
170
8.2.1. Temizlik Robotu Mesafe Hesaplama Düğümünün Oluşturulması 
174
8.2.2. Temizlik Robotu Engelden Sakınma Düğümünün Oluşturulması 
183
8.2.3. Temizlik Robotu Bilgi Servisi Düğümünün Oluşturulması 
192
8.2.4. Temizlik Robotu Süpürme Düğümünün Oluşturulması 
197
8.2.5. Paket Launch Dosyasının Oluşturulması 
218
8.2.6. Düğümlerin Çalıştırılması 
219
8.2.7. Düğümler Üzerinde Uygulamalar 
230
Kaynakça 
241
Kavramlar Dizini 
243