Programowanie robotów. Sterowanie pracą robotów autonomicznych - ebook
Programowanie robotów. Sterowanie pracą robotów autonomicznych - ebook
W tej książce przedstawiono wszystkie informacje niezbędne do rozpoczęcia samodzielnej pracy z programowaniem różnych robotów: od tych całkiem prostych aż do zaawansowanych, wielofunkcyjnych urządzeń. Wyjaśniono metody programowania telerobotów, robotów autonomicznych, a także strategie programowania robotów hybrydowych. Przedstawiono zasady programowania ruchów robota za pomocą silników i obsługi różnego rodzaju czujników. Zawarto również opis technik programowania algorytmów podejmowania decyzji przez robota, wyjaśniono też kwestie przekładania instrukcji (poleceń) z języka ludzi na język zrozumiały dla robota.
Najważniejsze zagadnienia omówione w książce:
- programowanie czujników i silników robota
- wydawanie robotowi instrukcji
- wizualny plan scenariusza pracy robota
- zaprogramowanie robota tak, aby radził sobie w niespodziewanych sytuacjach
- warunki środowiskowe, autonomia i kwestie bezpieczeństwa pracy robota,
- różne techniki pracy z mikrokontrolerami LEGO Mindstorms EV3, Arduino i innymi
Zaprogramuj robota i stwórz maszynę przyszłości!
Cameron Hughes programuje komputery i roboty. Obecnie zajmuje się technologiami AIM (alternatywna inteligencja maszyn) i AIR (alternatywna inteligencja robotów). Hughes jest również programistą analitykiem na stanowym uniwersytecie Youngstown.
Tracey Hughes jest programistką, tworzy także systemy przeznaczone do wizualizacji epistemicznej. Pracuje nad metodami graficznej wizualizacji „myślenia” robotów i komputerów. Cameron i Tracey Hughes są członkami rady doradczej fundacji National Robotics Education Foundation.
Spis treści
Wstęp - Początek przygody z robotami (11)
- Rozpoczynamy pracę z robotami (11)
- Gotowi, do biegu, start! Ostra jazda bez trzymanki (12)
- Podstawy pracy z robotem (13)
- Najważniejsze techniki programowania robotów zaprezentowane w tej książce (13)
- Podstawowy uniwersalny mechanizm tłumaczący - PUMT (14)
- Inteligentna sieć robotów (ISR) (15)
- Założenia dotyczące robotów posiadanych przez czytelnika (16)
- Jak Midamba nauczył się programować robota (17)
1. Czym właściwie jest robot? (19)
- Siedem kryteriów definiujących robota (20)
- Kryterium nr 1: Wykrywanie zmiennych środowiskowych (20)
- Kryterium nr 2: Programowalne działania i zachowania (20)
- Kryterium nr 3: Reagowanie na zmienne środowiskowe i interakcja z otoczeniem (21)
- Kryterium nr 4: Źródło prądu (21)
- Kryterium nr 5: Język, w którym zapisywane są instrukcje i dane (21)
- Kryterium nr 6: Autonomia bez pomocy z zewnątrz (21)
- Kryterium nr 7: Robot nie jest organizmem żywym (22)
- Kategorie robotów ze względu na środowisko działania (22)
- Co to jest czujnik? (25)
- Co to jest siłownik? (26)
- Co to jest efektor końcowy? (27)
- Co to jest mikrokontroler? (28)
- Jaki jest scenariusz pracy robota? (32)
- Wydawanie instrukcji robotowi (34)
- Każdy robot posługuje się jakimś językiem (34)
- Rozwiązanie problemu niekompatybilności języka ludzkiego i języka zrozumiałego dla robotów (35)
- Reprezentacja scenariusza pracy robota w środowisku programowania wizualnego (38)
- Kłopoty Midamby (39)
- Co dalej? (40)
2. Słownictwo robotów (43)
- Dlaczego korzystanie z tych języków wymaga wysiłku? (43)
- Zidentyfikuj czynności (49)
- Model ontologii języka programowania autonomicznych robotów (49)
- Potencjał robota (51)
- Role odgrywane przez roboty w różnych sytuacjach i scenariuszach pracy (52)
- Co dalej? (54)
3. Wizualne planowanie scenariusza pracy robota (57)
- Mapowanie scenariusza pracy robota (58)
- Tworzenie planu miejsca pracy robota (59)
- Otoczenie robota (61)
- Opis atrybutów środowiska pracy robota (63)
- Wizualne planowanie scenariusza pracy robota za pomocą pseudokodu i schematu blokowego (66)
- Przepływ sterowania i struktury sterujące (70)
- Podprocedury (74)
- Diagramy stanów robotów i obiektów (76)
- Tworzenie diagramu stanów (78)
- Co dalej? (82)
4. Sprawdzanie rzeczywistych możliwości robota (83)
- Testowanie rzeczywistych możliwości mikrokontrolera (85)
- Testowanie rzeczywistej wydajności czujników (89)
- Określanie ograniczeń czujników robota (91)
- Określanie ograniczeń efektorów końcowych (93)
- Ocena efektywności pracy robota (96)
- Co dalej? (98)
5. Czujniki pod lupą (99)
- Co wykrywają czujniki? (99)
- Czujniki analogowe i cyfrowe (103)
- Odczyt sygnałów analogowych i cyfrowych (104)
- Sygnał wyjściowy czujnika (106)
- Gdzie przechowywane są odczyty? (107)
- Czujniki aktywne i pasywne (108)
- Komunikacja między czujnikami a mikrokontrolerami (110)
- Atrybuty czujników (114)
- Zakres i rozdzielczość (114)
- Precyzja i dokładność (116)
- Liniowość (117)
- Kalibracja czujników (118)
- Problemy związane z czujnikami (119)
- Proces kalibracji przez użytkownika (119)
- Metody kalibracji (120)
- Co dalej? (121)
6. Programowanie czujników (123)
- Korzystanie z czujnika koloru (124)
- Tryby pracy czujników koloru (126)
- Zakres wykrywania (126)
- Światło w środowisku pracy robota (127)
- Kalibracja czujnika koloru (128)
- Programowanie czujnika koloru (129)
- Wykrywanie i śledzenie obiektów za pomocą cyfrowych kamer (132)
- Śledzenie kolorowych obiektów za pomocą sprzętu firmy RS Media (132)
- Śledzenie kolorowych obiektów za pomocą czujnika obrazu Pixy (136)
- Uczenie Pixy wykrywania obiektów (137)
- Programowanie kamery Pixy (138)
- Analiza atrybutów (141)
- Czujnik ultradźwiękowy (142)
- Ograniczenia i dokładność czujnika ultradźwiękowego (142)
- Tryby pracy czujnika ultradźwiękowego (147)
- Odczytywanie próbek (147)
- Typy danych używane do przechowywania wartości odczytanych za pomocą czujników (148)
- Kalibracja czujnika ultradźwiękowego (148)
- Programowanie czujnika ultradźwiękowego (150)
- Kompas - czujnik określający zwrot robota (159)
- Programowanie kompasu (161)
- Co dalej? (163)
7. Programowanie silników i serwomotorów (165)
- Siłowniki są przetwornikami wyjściowymi (165)
- Parametry silników (166)
- Napięcie (166)
- Natężenie prądu (166)
- Prędkość (166)
- Moment obrotowy (167)
- Opór elektryczny (167)
- Różne rodzaje silników prądu stałego (167)
- Silniki prądu stałego (167)
- Moment obrotowy i prędkość obrotowa (171)
- Silniki z przekładniami (172)
- Konfiguracja silnika: bezpośrednie i pośrednie układy przeniesienia napędu (182)
- Wyzwania związane z terenem (184)
- Radzenie sobie z wyzwaniami związanymi z terenem (184)
- Moment obrotowy a mechaniczne ramiona i efektory końcowe (187)
- Obliczanie wymagań dotyczących momentu obrotowego i prędkości obrotowej (188)
- Silniki a efektywność pracy robota (189)
- Programowanie ruchu robota (190)
- Ile silników? (191)
- Wykonywanie ruchów (192)
- Programowanie ruchów (192)
- Programowanie silników w celu przemieszczenia się w określone miejsce (197)
- Programowanie silników sterowanych za pomocą Arduino (203)
- Mechaniczne ramiona i efektory końcowe (205)
- Rodzaje mechanicznych ramion (205)
- Moment obrotowy mechanicznego ramienia (208)
- Rodzaje efektorów końcowych (210)
- Programowanie mechanicznego ramienia (212)
- Obliczenia związane z kinematyką (216)
- Co dalej? (220)
8. Początek pracy nad autonomią: tworzenie oprogramowania robota (221)
- Pierwsze spojrzenie na oprogramowanie autonomicznych robotów (223)
- Sekcja Części (225)
- Sekcja Akcje (225)
- Sekcja Zadania (226)
- Sekcja Scenariusze i sytuacje (226)
- Model ontologii języka robota i rama projektowa oprogramowania robota (226)
- Mechanizm tłumaczący PUMT przekształca ramy projektowe oprogramowania na klasy (228)
- Nasze pierwsze podejście do programowania autonomicznego robota (239)
- Co dalej? (240)
9. Środowisko pracy robota (241)
- Robot musi sprawdzać uwarunkowania środowiskowe (242)
- Rozszerzony scenariusz pracy robota (242)
- Elementy, od których zależy efektywność robota (244)
- Co dzieje się w przypadku niespełnienia warunków wstępnych lub końcowych? (249)
- Jakie akcje mogę wybrać w przypadku niespełnienia warunków wstępnych lub końcowych? (249)
- Analiza warunków końcowych inicjalizacji robota (250)
- Warunki wstępne i końcowe procesu rozruchu (251)
- Tworzenie kodu sprawdzającego warunki wstępne i końcowe (252)
- Skąd biorą się warunki wstępne i końcowe? (257)
- Sprawdzanie uwarunkowań środowiskowych za pomocą czujników i wizualne plany scenariusza pracy robota (261)
- Co dalej? (262)
10. Programowanie autonomicznych robotów i technika STORIES (263)
- To nie tylko czynności! (264)
- Impreza urodzinowa - podejście 2. (264)
- STORIES (265)
- Rozszerzony scenariusz pracy robota (267)
- Konwersja scenariusza pracy robota Unit1 na komponenty techniki STORIES (267)
- Ontologia scenariusza pod lupą (267)
- Zwracanie uwagi na intencje robota (278)
- Programowanie obiektowe a wydajność (297)
- Co dalej? (298)
11. Jak Midamba zaprogramował swojego pierwszego autonomicznego robota? (299)
- Midamba i jego początkowy scenariusz (299)
- Midamba w ciągu jednego wieczoru zostaje programistą! (299)
- Krok 1.: Scenariusz pracy robotów w magazynie (302)
- Krok 2.: Słownictwo i model ontologii języka robota w pierwszym scenariuszu pracy w fabryce (303)
- Krok 3.: Wizualne planowanie pierwszego scenariusza pracy wykonywanej przez robota w fabryce (305)
- Wizualny rozkład diagramu pracy z perspektywy robota (305)
- Ulepszony pierwszy scenariusz pracy robotów w fabryce (307)
- Schemat blokowy będący elementem wizualnego planowania scenariusza pracy robota (308)
- Diagram stanów wchodzący w skład wizualnego planu scenariusza pracy robota (316)
- Sprawdzanie uwarunkowań środowiskowych robotów Unit1 i Unit2 (317)
- Autonomiczne roboty pomagają Midambie wyjść z tarapatów (329)
- Co dalej? (332)
12. Otwarte roboty SARAA (333)
- Tanie, otwarte i proste roboty (333)
- Programowanie oparte na scenariuszu a bezpieczeństwo i odpowiedzialność programisty (335)
- Roboty SARAA dla każdego (335)
- Zalecenia dla osób programujących robota po raz pierwszy (338)
- Pełne plany scenariusza pracy robota, komponenty techniki STORIES i kod źródłowy scenariusza pracy robotów Midamby (338)
Glosariusz (339)
Skorowidz (343)
Kategoria: | Hardware |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-2938-6 |
Rozmiar pliku: | 21 MB |