Elementy robotyki dla początkujących - ebook
Elementy robotyki dla początkujących - ebook
Elementy robotyki dla początkujących
Robotyka jest bardzo ciekawą dziedziną inżynierii o ogromnym znaczeniu praktycznym. Wymaga znajomości kilku dyscyplin wiedzy, takich jak algorytmika, matematyka czy mechanika. Równocześnie roboty oddziałują na wyobraźnię i są przedmiotem zainteresowania uczniów na każdym poziomie edukacji, od przedszkolnego po uniwersytecki. O ile jednak początkowe zapoznawanie się z robotami polega głównie na zabawie i eksperymentach, o tyle poważniejsze studiowanie robotyki oznacza konieczność przyswojenia złożonych zagadnień, takich jak algorytmy robotyczne.
W tej książce gruntownie wyjaśniono reguły robotyki, pokazano także, w jaki sposób przechodzi się od teoretycznych algorytmów do działania rzeczywistego robota. Znajdziemy tutaj przegląd różnego rodzaju robotów, jak również tworzących je podzespołów, jednak najważniejszą częścią publikacji jest omówienie algorytmów robotycznych - od odometrii i sterowania ze sprzężeniem zwrotnym po przetwarzanie obrazów i uczenie maszynowe. Poszczególne algorytmy zostały przedstawione za pomocą pseudokodu, co pozwoli na ich implementację w różnych językach programowania. Mogą zostać użyte w większości robotów edukacyjnych wyposażonych w dwusilnikowy napęd różnicowy, czujniki zbliżeniowe i moduł wyświetlania wyników użytkownikowi. Zawarty tu materiał pozwoli się dobrze przygotować do zaawansowanych studiów robotyki.
W książce między innymi:
- roboty i ich zastosowanie
- czujniki i zachowanie reaktywne robota
- ruch robota i sterowanie nim
- nawigacja robota mobilnego: omijanie przeszkód i wykorzystywanie map
- zastosowanie sieci neuronowych i uczenia maszynowego w robotach
- robotyka roju i kinematyka manipulatora robotycznego
Algorytmy robotyczne: zrozum i zaimplementuj!
Spis treści
Przedmowa
Rozdział 1. Roboty i ich zastosowania
- 1.1. Klasyfikacja robotów
- 1.2. Roboty przemysłowe
- 1.3. Autonomiczne roboty mobilne
- 1.4. Roboty humanoidalne
- 1.5. Roboty edukacyjne
- Gotowe roboty mobilne
- Zestawy robotyczne
- Ramiona robota
- Środowisko programistyczne
- 1.6. Robot ogólny
- 1.6.1. Napęd różnicowy
- 1.6.2. Czujniki zbliżeniowe
- 1.6.3. Czujniki podłoża
- 1.6.4. Wbudowany komputer
- 1.7. Formalizm algorytmiczny
- 1.8. Przegląd treści książki
- 1.9. Podsumowanie
- 1.10. Literatura uzupełniająca
- Bibliografia
Rozdział 2. Czujniki
- 2.1. Podział czujników
- 2.2. Czujniki odległości
- 2.2.1. Ultradźwiękowe czujniki odległości
- 2.2.2. Czujniki zbliżeniowe na podczerwień
- 2.2.3. Optyczne czujniki odległości
- 2.2.4. Czujniki triangulacyjne
- 2.2.5. Skanery laserowe
- 2.3. Kamery
- 2.4. Pozostałe czujniki
- 2.5. Zakres, rozdzielczość, precyzja, dokładność
- 2.6. Nieliniowość
- 2.6.1. Czujniki liniowe
- 2.6.2. Czujniki nieliniowe
- 2.7. Podsumowanie
- 2.8. Literatura uzupełniająca
- Bibliografia
Rozdział 3. Zachowanie reaktywne
- 3.1. Pojazdy Braitenberga
- 3.2. Reagowanie na wykrycie obiektu
- 3.3. Reagowanie i skręcanie
- 3.4. Podążanie za linią
- 3.4.1. Podążanie za linią za pomocą dwóch czujników podłoża
- 3.4.2. Podążanie za linią za pomocą tylko jednego czujnika podłoża
- 3.4.3. Bezgradientowe podążanie za linią
- 3.5. Prezentacja pojazdów Braitenberga
- 3.6. Podsumowanie
- 3.7. Literatura uzupełniająca
- Bibliografia
Rozdział 4. Maszyny stanów skończonych
- 4.1. Maszyny stanowe
- 4.2. Zachowanie reaktywne sterowane stanem
- 4.3. Szukaj i podjedź
- 4.4. Implementacja maszyn stanów skończonych
- 4.5. Podsumowanie
- 4.6. Literatura uzupełniająca
- Bibliografia
Rozdział 5. Ruch robota i odometria
- 5.1. Droga, prędkość i czas
- 5.2. Przyspieszenie jako zmiana prędkości
- 5.3. Od odcinków do ruchu ciągłego
- 5.4. Nawigacja za pomocą odometrii
- 5.5. Odometria liniowa
- 5.6. Odometryczne mierzenie zakrętów
- 5.7. Błędy odometryczne
- 5.8. Kodery (enkodery) kół
- 5.9. Bezwładnościowe systemy nawigacji
- 5.9.1. Akcelerometry (przyspieszeniomierze)
- 5.9.2. Żyroskopy
- 5.9.3. Zastosowania
- 5.11. Względna liczba elementów wykonawczych i stopni swobody
- 5.12. Ruch holonomiczny i nieholonomiczny
- 5.13. Podsumowanie
- 5.14. Literatura uzupełniająca
- Bibliografia
Rozdział 6. Sterowanie
- 6.1. Modele sterowania
- 6.1.1. Sterowanie w pętli otwartej
- 6.1.2. Sterowanie w pętli zamkniętej
- 6.1.3. Okres algorytmu sterowania
- 6.2. Sterowanie typu "on-off"
- 6.3. Regulator proporcjonalny
- 6.4. Regulator proporcjonalno-całkujący
- 6.5. Sterownik proporcjonalno-całkująco-różniczkujący
- 6.6. Podsumowanie
- 6.7. Literatura uzupełniająca
- Bibliografia
Rozdział 7. Nawigacja lokalna: omijanie przeszkód
- 7.1. Unikanie przeszkód
- 7.1.1. Podążanie wzdłuż ściany
- 7.1.2. Ukierunkowane podążanie wzdłuż ściany
- 7.1.3. Algorytm Pledge'a
- 7.2. Podążanie wzdłuż oznakowanej linii
- 7.3. Mrówki poszukujące źródła pożywienia
- 7.4. Model probabilistyczny zachowania mrówek
- 7.5. Maszyna stanów skończonych dla algorytmu wyszukiwania ścieżki
- 7.6. Podsumowanie
- 7.7. Literatura uzupełniająca
- Bibliografia
Rozdział 8. Lokalizacja
- 8.1. Punkty charakterystyczne
- 8.2. Określanie pozycji na podstawie obiektów o znanym położeniu
- 8.2.1. Określanie położenia za pomocą kąta i odległości
- 8.2.2. Określanie położenia za pomocą triangulacji
- 8.3. Globalny system pozycjonowania
- 8.4. Lokalizacja probabilistyczna
- 8.4.1. Pomiary czujników zwiększają pewność
- 8.4.2. Niepewność w pomiarach
- 8.5. Niepewność ruchu
- 8.6. Podsumowanie
- 8.7. Literatura uzupełniająca
- Bibliografia
Rozdział 9. Budowanie map
- 9.1. Mapy dyskretne i ciągłe
- 9.2. Zawartość komórek na mapie z siatką współrzędnych
- 9.3. Tworzenie mapy przez eksplorację: algorytm rubieżowy
- 9.3.1. Mapa z siatką współrzędnych i prawdopodobieństwami obłożenia
- 9.3.2. Algorytm rubieżowy
- 9.3.3. Priorytet w algorytmie rubieżowym
- 9.4. Budowanie mapy na podstawie znajomości środowiska
- 9.5. Przykład numeryczny algorytmu SLAM
- 9.6. Czynności ukazujące działanie algorytmu SLAM
- 9.7. Formalizacja algorytmu SLAM
- 9.8. Podsumowanie
- 9.9. Literatura uzupełniająca
- Bibliografia
Rozdział 10. Nawigacja na podstawie map
- 10.1. Algorytm Dijkstry dla map z siatką współrzędnych
- 10.1.1. Algorytm Dijkstry dla map z siatką współrzędnych o stałym koszcie
- 10.1.2. Algorytm Dijkstry dla map z siatką współrzędnych o zmiennych kosztach
- 10.2. Algorytm Dijkstry dla map ciągłych
- 10.3. Planowanie trasy za pomocą algorytmu A*
- 10.4. Podążanie za ścieżką i unikanie przeszkód
- 10.5. Podsumowanie
- 10.6. Literatura uzupełniająca
- Bibliografia
Rozdział 11. Sterowanie za pomocą logiki rozmytej
- 11.1. Rozmycie
- 11.2. Stosowanie reguł
- 11.3. Wyostrzenie
- 11.4. Podsumowanie
- 11.5. Literatura uzupełniająca
- Bibliografia
Rozdział 12. Przetwarzanie obrazów
- 12.1. Otrzymywanie obrazów
- 12.2. Przegląd typów przetwarzania obrazów cyfrowych
- 12.3. Usprawnianie obrazów
- 12.3.1. Filtry przestrzenne
- 12.3.2. Manipulowanie histogramem
- 12.4. Wykrywanie krawędzi
- 12.5. Wykrywanie rogów
- 12.6. Wykrywanie plam
- 12.7. Podsumowanie
- 12.8. Literatura uzupełniająca
- Bibliografia
Rozdział 13. Sieci neuronowe
- 13.1. Biologiczny układ nerwowy
- 13.2. Model sztucznej sieci neuronowej
- 13.3. Implementacja pojazdu Braitenberga za pomocą sieci ANN
- 13.4. Sztuczne sieci neuronowe: topologie
- 13.4.1. Topologia wielowarstwowa
- 13.4.2. Pamięć
- 13.4.3. Filtr przestrzenny
- 13.5. Uczenie
- 13.5.1. Rodzaje algorytmów uczących
- 13.5.2. Reguła Hebba w uczeniu sieci neuronowych
- 13.6. Podsumowanie
- 13.7. Literatura uzupełniająca
- Bibliografia
Rozdział 14. Uczenie maszynowe
- 14.1. Rozróżnianie dwóch kolorów
- 14.1.1. Wyróżnik otrzymany na podstawie średnich
- 14.1.2. Wyróżnik otrzymany na podstawie średnich i wariancji
- 14.1.3. Algorytm służący do nauki rozpoznawania kolorów
- 14.2. Liniowa analiza dyskryminacyjna
- 14.2.1. Motywacja
- 14.2.2. Wyróżnik liniowy
- 14.2.3. Wybór punktu dla wyróżnika liniowego
- 14.2.4. Wybór współczynnika kierunkowego
- 14.2.5. Obliczanie wyróżnika liniowego: przykład numeryczny
- 14.2.6. Porównywanie jakości wyróżników
- 14.2.7. Czynności związane z analizą LDA
- 14.3. Uogólnienie wyróżnika liniowego
- 14.4. Perceptrony
- 14.4.1. Wykrywanie zboczy
- 14.4.2. Klasyfikacja za pomocą perceptronów
- 14.4.3. Uczenie perceptronu
- 14.4.4. Przykład numeryczny
- 14.4.5. Strojenie parametrów perceptronu
- 14.5. Podsumowanie
- 14.6. Literatura uzupełniająca
- Bibliografia
Rozdział 15. Robotyka roju
- 15.1. Strategie koordynowania współpracy robotów
- 15.2. Koordynacja na podstawie lokalnej wymiany informacji
- 15.2.1. Komunikacja bezpośrednia
- 15.2.2. Komunikacja pośrednia
- 15.2.3. Algorytm BeeClust
- 15.2.4. Implementacja algorytmu BeeClust przez projekt ASSISIbf
- 15.3. Robotyka roju wykorzystująca oddziaływania fizyczne
- 15.3.1. Współpraca przy fizycznym zadaniu
- 15.3.2. Łączenie sił wielu robotów
- 15.3.3. Zbiorowe przesuwanie z użyciem okluzji
- 15.4. Podsumowanie
- 15.5. Literatura uzupełniająca
- Bibliografia
Rozdział 16. Kinematyka manipulatora robotycznego
- 16.1. Kinematyka prosta
- 16.2. Kinematyka odwrotna
- 16.3. Rotacje
- 16.3.1. Rotacja wektora
- 16.3.2. Rotacja układu współrzędnych
- 16.3.3. Przekształcenie wektora z jednego układu współrzędnych do innego
- 16.4. Rotacja i translacja układu współrzędnych
- 16.5. Przedsmak rotacji trójwymiarowych
- 16.5.1. Rotacje wokół trzech osi
- 16.5.2. Reguła prawej dłoni
- 16.5.3. Macierze trójwymiarowych obrotów
- 16.5.4. Rotacje wielokrotne
- 16.5.5. Kąty Eulera
- 16.5.6. Liczba oddzielnych rotacji kątów Eulera
- 16.6. Zaawansowane zagadnienia związane z przekształceniami trójwymiarowymi
- 16.7. Podsumowanie
- 16.8. Literatura uzupełniająca
- Bibliografia
Dodatek A. Jednostki miary
Dodatek B. Podstawy matematyczne
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-8824-6 |
Rozmiar pliku: | 9,0 MB |