Nauka_robotyki_z_jezykiem_Python_naropy.pdf

(1360 KB) Pobierz
Tytuł oryginału: Learning Robotics Using Python
Tłumaczenie: Radosław Meryk
ISBN: 978-83-283-2345-2
Copyright © Packt Publishing 2015.
First published in the English language under the title „Learning Robotics Using Python
– (9781783287536)”.
Polish edition copyright © 2016 by Helion SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/naropy
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
O autorze
O recenzentach
Przedmowa
Rozdział 1. Wprowadzenie do robotyki
Czym jest robot?
Historia terminu „robot”
Współczesna definicja robota
Skąd pochodzą roboty?
Co można znaleźć w robocie?
Ciało fizyczne
Sensory
Efektory
Kontrolery
Jak budujemy robota?
Sterowanie reaktywne
Sterowanie hierarchiczne (deliberatywne)
Sterowanie hybrydowe
Podsumowanie
11
13
15
19
20
20
22
25
28
29
29
29
30
31
31
31
32
33
Rozdział 2. Projekt mechaniki robota usługowego
Wymagania dla robota usługowego
Mechanizm napędowy robota
Wybór silników i kół
Podsumowanie projektu
Projekt podwozia robota
35
36
36
36
38
38
Kup książkę
Poleć książkę
Spis treści
Instalacja oprogramowania LibreCAD, Blender i MeshLab
Instalacja programu LibreCAD
Instalacja programu Blender
Instalacja programu MeshLab
Tworzenie rysunku CAD 2D robota z wykorzystaniem programu LibreCAD
Projekt płyty bazowej
Projekt biegunów płyty bazowej
Projekt kół, silnika i uchwytów silnika
Projekt kół kastora
Projekt płyty
środkowej
Projekt płyty górnej
Praca z modelem 3D robota z wykorzystaniem programu Blender
Wykorzystanie skryptów Pythona w programie Blender
Wprowadzenie do API Pythona programu Blender
Skrypt modelu robota w Pythonie
Pytania
Podsumowanie
40
40
40
41
41
43
44
45
47
47
48
48
49
50
51
56
56
Rozdział 3. Symulacja robota z wykorzystaniem systemów ROS i Gazebo
Symulacja robota
Modelowanie matematyczne robota
Wprowadzenie do ROS i Gazebo
Instalacja systemu ROS Indigo w systemie Ubuntu 14.04.2
Symulacja robotów ChefBot i TurtleBot w
środowisku
hotelu
Pytania
Podsumowanie
59
59
62
69
72
96
100
101
Rozdział 4. Projektowanie sprzętu robota ChefBot
Specyfikacje sprzętu robota ChefBot
Schemat blokowy robota
Silnik i enkoder
Sterownik silnika
Płyta wbudowanego kontrolera
Sensory ultradźwiękowe
Inercyjna jednostka pomiarowa
Kinect
Centralna jednostka obliczeniowa
Głośniki i mikrofon
Zasilacz (akumulator)
Opis działania sprzętu robota ChefBot
Pytania
Podsumowanie
103
104
104
104
106
109
110
112
113
114
115
115
115
118
118
4
Kup książkę
Poleć książkę
Spis treści
Rozdział 5. Aktuatory i enkodery kół
Podłączenie motoreduktora DC z kontrolerem Tiva C LaunchPad
Robot kołowy z napędem różnicowym
Instalacja IDE Energia
Kod interfejsu
Podłączenie enkodera kwadraturowego do kontrolera Tiva C LaunchPad
Przetwarzanie danych enkodera
Kod interfejsu z enkoderem kwadraturowym
Praca z aktuatorami Dynamixel
Pytania
Podsumowanie
119
120
122
123
126
130
131
134
137
140
141
Rozdział 6. Wykorzystanie sensorów
Ultradźwiękowe sensory odległości
Podłączenie modułu HC-SR04 z kontrolerem Tiva C LaunchPad
Sensory odległości na podczerwień
Inercyjne jednostki pomiarowe (IMU)
Nawigacja inercyjna
Połączenie sensora MPU 6050 z kontrolerem Tiva C LaunchPad
Kod interfejsu w
środowisku
Energia
Kod interfejsu sensora MPU 6050 z kontrolerem Launchpad
z wykorzystaniem DMP w
środowisku
Energia
Pytania
143
143
144
149
152
152
154
156
159
164
Rozdział 7. Programowanie sensorów wizji
z wykorzystaniem języka Python i systemu ROS
Lista sensorów wizji dla robota i bibliotek przetwarzania obrazu
Wprowadzenie do OpenCV, OpenNI oraz PCL
Czym jest OpenCV?
Co to jest OpenNI?
Co to jest PCL?
Programowanie sensora Kinect za pomocą języka Python
z wykorzystaniem ROS, OpenCV i OpenNI
Jak uruchomić sterownik OpenNI?
Interfejs ROS do biblioteki OpenCV
Przetwarzanie chmur punktów z wykorzystaniem sensora Kinect,
systemu ROS oraz bibliotek OpenNI i PCL
Otwieranie urządzenia i generowanie chmury punktów
Konwersja chmury punktów na dane skanu laserowego
Wykorzystanie techniki SLAM z systemem ROS i sensorem Kinect
Pytania
Podsumowanie
165
166
169
170
174
175
176
176
177
182
182
183
185
186
186
5
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin