Szczegóły ebooka

Robotyka w domu przy użyciu Raspberry Pi Pico. Budowanie autonomicznych robotów przy użyciu elastycznego kontrolera Raspberry Pi Pico i języka Python

Robotyka w domu przy użyciu Raspberry Pi Pico. Budowanie autonomicznych robotów przy użyciu elastycznego kontrolera Raspberry Pi Pico i języka Python

Danny Staple

Ebook

Dziedzina robotyki rozrasta się i mamy teraz idealny moment, aby nauczyć się, jak tworzyć w domu roboty o różnym przeznaczeniu. Książka ta pomoże w podjęciu pierwszych kroków do planowania, budowy i programowania robota za pomocą Raspberry Pi Pico, robiącym wrażenie kontrolerze o ogromnym potencjale wejścia/wyjścia (I/O). Po krótkim przeglądzie Pico zaczniemy projektować korpus robota za pomocą narzędzia CAD 3D. Mając do dyspozycji proste do śledzenia instrukcje, listę zakupów i plany, zaczniecie budowę robota. Następnie dodacie proste czujniki i wyjścia, aby rozszerzyć działanie robota, podbudować swoje umiejętności projektowania i zdobyć wiedzę o programowaniu w języku CircuitPython. Dowiecie się także o interakcji z elektroniką, standardowych algorytmów robotyki oraz dyscypliny i procedur budowy robotów. Przechodząc dalej dowiecie się, jak dodawać bardziej skomplikowane czujniki i zachowania robota, na coraz wyższych poziomach złożoności, uzyskując praktyczne doświadczenia. Poznacie wspaniałe cechy Raspberry Pi Pico, jak PIO, dodawanie takich możliwości, jak unikanie ścian, wykrywanie ruchu i zrozumienie nagłówków. Połączycie to z Bluetooth BLE, aby oglądać dane z czujników i zdalnie kontrolować robota za pomocą smartfonu. Wreszcie zaprogramujecie robota, aby znajdować jego położenie na arenie.

Kończąc tę książkę będziecie mieli zbudowanego samodzielnie robota i będziecie dobrze przygotowani do budowy innych o różnym stopniu złożoności.

Czego się nauczycie?

Interfejsu Raspberry Pi Pico z motorem do poruszania częściami

Projektowania w CAD 3D za pomocą Free CAD

Budowy prostego robota i rozszerzania na coraz bardziej złożone projekty

Interfejsu Raspberry Pi Pico z czujnikami Bluetooth BLE

Wizualizacji danych z pracy robota za pomocą MatPliotlib

Algorytmów robotyki pozwalających na inteligentne zachowanie

  • Wprowadzenie
  • Część 1: Podstawy Wprowadzenie do robotyki z Raspberry Pi Pico
  • 1
    • Planowanie robota z użyciem Raspberry Pi Pico
      • Wymagania techniczne
      • Co to jest Raspberry Pi Pico i dlaczego nadaje się do robotyki?
        • Mikrokontroler obsługujący język Python
        • Interfejsy Raspberry Pi Pico dla czujników i urządzeń
      • Co to jest CircuitPython?
      • Planowanie robota z użyciem Raspberry Pi Pico
        • Ogólny zarys planowania robota
        • Uwaga na temat kompromisów
        • Wybieranie podwozia robota
        • Wybór systemów zasilania
        • Wykorzystanie pinów
      • Test dopasowania robota na Raspberry Pi Pico
        • Tworzenie pierwszego elementu do testu dopasowania
        • Silniki
        • System zasilania
        • Tworzenie przybliżonego podwozia
        • Rozmieszczanie elementów do testu
      • Zalecana lista zakupów dla podstaw robota
        • Części robota i gdzie je znaleźć
        • Pracownia dla robota i otwarte warsztaty
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 2
    • Przygotowywanie Raspberry Pi Pico
      • Wymagania techniczne
      • Załadowanie CircuitPythona do Raspberry Pi Pico
      • Przygotowanie biblioteki CircuitPython dla Pico
      • Kodowanie dla Pico pierwsze kroki
        • Pobieranie edytora Mu
        • Włączanie diody LED Pico za pomocą CircuitPythona
        • Miganie diodą za pomocą kodu
        • Lutowanie listwy pinowej do Raspberry Pi Pico
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 3
    • Projektowanie podwozia robota w programie FreeCAD
      • Wymagania techniczne
      • Wprowadzenie do programu FreeCAD
        • Ekran FreeCADa
        • Wybieranie środowiska pracy
        • Ustawienia FreeCADa
      • Wykonywanie szkiców podwozia robota w programie FreeCAD
        • Przygotowanie dokumentu
        • Szkicowanie zarysu podwozia
        • Tworzenie głównego szkicu dla elementów znajdujących się powyżej
        • Szkicowanie otworów dla silnika
      • Planowanie lokalizacji kółka kulowego
      • Modelowanie części podwozia na podstawie szkiców
        • Modelowanie płyty podwozia
        • Modelowanie pozostałych części
        • Rozwiązywanie problemów z modelem
        • Modelowanie trójwymiarowego mocowania dla kółka kulowego
      • Wykonywanie rysunków technicznych w programie FreeCAD
        • Konfiguracja strony
        • Dodawanie części do rysunku
        • Przygotowanie rysunku do druku
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 4
    • Budowanie robota na bazie Pico
      • Wymagania techniczne
      • Wycinanie części ze styrenu
        • Przenoszenie wymiarów z CAD na arkusz z tworzywa sztucznego
        • Nacinanie plastikowego arkusza
        • Wykańczanie i szlifowanie płyty podwozia
      • Montaż podwozia robota
        • Mocowanie kółka kulowego i koszyka na baterie
        • Mocowanie silników i kół
      • Podłączanie Raspberry Pi Pico w robocie
        • Łączenie Pico i sterownika silnika z płytką stykową
        • Dodawanie baterii
        • Podłączenie silników i enkoderów
        • Włączenie zasilania robota
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 5
    • Sterowanie silnikami za pomocą Raspberry Pi Pico
      • Wymagania techniczne
      • Jazda w przód i w tył
        • Testowanie poszczególnych silników za pomocą CircuitPythona
        • Sterowanie kołami po linii prostej
        • Sterowanie dwoma silnikami
      • Wprowadzenie do sterowania prędkością za pomocą modulacji szerokości impulsów
        • Jazda szybciej i wolniej
        • Skręcanie w trakcie ruchu
      • Jazda po zaplanowanej trasie
        • Połączenie ruchów po linii prostej i skrętów
        • Wady takiego sposobu jazdy
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • Część 2: Łączenie Raspberry Pi Pico z prostymi czujnikami i wyjściami
  • 6
    • Pomiar ruchu za pomocą enkoderów na Raspberry Pi Pico
      • Wymagania techniczne
      • Enkodery i odometria
        • Pomiary absolutne i względne
        • Rodzaje enkoderów
        • Dane w impulsach z enkodera
      • Podłączanie enkoderów w robocie z Raspberry Pi Pico
        • Badanie silników
        • Sprawdzanie podłączenia
      • Programowanie PIO w Raspberry Pi Pico
        • Wprowadzenie do programowania PIO
        • Wprowadzenie do PIOASM
        • Wykrywanie wejścia za pomocą PIO
        • Instrukcje i rejestry PIO
        • Tworzenie licznika z PIO
      • Pomiar impulsów enkodera odpowiadających ruchowi
        • Tworzenie w PIO prostej pętli wykrywania zmian
        • Tworzenie dwukierunkowego licznika z PIO
        • Tworzenie kodu enkodera do wielokrotnego użytku
        • Pomiar zliczeń dla ustalonego czasu
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 7
    • Planowanie i zakup większej liczby komponentów
      • Wymagania techniczne
      • Wprowadzenie do czujników
        • Typy czujników analogowych
        • Impulsy o zmiennym czasie
        • Czujniki korzystające z magistrali danych
        • Schemat blokowy robota
      • Wybór typów komponentów
        • Czujniki odległości
        • Inercyjna jednostka pomiarowa
        • Moduły Bluetooth
        • Podsumowanie użycia pinów dla modułów
      • Planowanie, co i gdzie dodać
        • Plan umiejscowienia Bluetooth i IMU
        • Plan umiejscowienia czujników odległości
      • Lista zakupów części i gdzie je znaleźć
        • Przygotowywanie robota
        • Projektowanie półki
        • Wycinanie półki
        • Projektowanie wsporników przednich czujników
        • Wycinanie wsporników czujnika
        • Przygotowanie płyty podwozia
        • Składanie robota
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 8
    • Mierzenie odległości w celu wykrywania obiektów za pomocą Pico
      • Wymagania techniczne
      • Na czym polega wykrywanie odległości
      • Lutowanie listew pinowych i mocowanie ich do robota
        • Lutowanie listew pinowych
        • Montaż czujników
      • Wprowadzenie do komunikacji I2C
      • Komunikacja z pojedynczym czujnikiem odległości
        • Podłączanie czujników odległości
        • Teoria działania VL53LX
        • Odczyt w CircuitPythonie z pojedynczego czujnika odległości
        • Rozwiązywanie problemów
      • Podłączanie dwóch czujników odległości
        • Rozwiązywanie problemów
      • Budowanie unikacza ścian z użyciem Raspberry Pi Pico
        • Przygotowywanie biblioteki robota
        • Zasada postępowania w omijaniu ścian
        • Kod do unikania ścian z czujnikami odległości
      • Rozwiązywanie problemów
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 9
    • Zdalne sterowanie robotem Raspberry Pi Pico z użyciem Bluetooth LE
      • Wymagania techniczne
      • Możliwości bezprzewodowego połączenia z robotem
      • Podłączenie Bluetooth LE do Raspberry Pi Pico
        • Dodawanie modułu Bluetooth do robota
        • Podłączanie płytki rozszerzeniowej Bluetooth do Raspberry Pi Pico
        • Łączenie się z modułem Bluefruit LE za pośrednictwem UART
        • Łączenie ze smartfonem
        • Rozwiązywanie problemów z modułem Bluefruit
      • Przesyłanie sygnału z czujnika Bluetooth LE do Raspberry Pi Pico
        • Graficzne prezentowanie danych
      • Sterowanie robotem za pomocą Bluetooth LE
        • Wyświetlamy to, co dostaliśmy
        • Tryb sterowania przyciskami
        • Dekodowanie pakietów sterujących z przycisków w celu sterowania robotem
        • Rozwiązywanie problemów
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • Część 3: Dodawanie kolejnych zachowań robotycznych do Raspberry Pi Pico
  • 10
    • Użycie algorytmu PID do podążania wzdłuż ścian
      • Wymagania techniczne
      • Wprowadzenie do algorytmu PID
        • Sterowanie i informacja zwrotna
        • Sterowanie dwustawne
        • Mierzenie odległości z regulacją proporcjonalną
        • Rozwiązywanie problemów
        • Użycie całki do postępowania z małymi odległościami
        • Postępowanie z oscylacjami za pomocą pochodnej
      • Użycie PID do podążania wzdłuż ścian
        • Zmiana umiejscowienia czujnika
        • Kod do podążania wzdłuż ścian
        • Rozwiązywanie problemów
      • Dostrajanie PID wykorzystanie wykresów do dostrajania PID
        • Sterowanie prędkością silnika
        • Komponent związany ze wzmocnieniem
        • Regulacja współczynnika różniczkowania
        • Regulacja współczynnika całkowania
        • Końcowe uwagi dotyczące dostrajania
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 11
    • Sterowanie ruchem z użyciem enkoderów przez Raspberry Pi Pico
      • Wymagania techniczne
      • Konwersja zliczeń enkoderów na prędkość
        • Luźne śrubki i nakrętki
        • Geometria koła robota
        • Geometria enkodera
        • Pomiar prędkości poszczególnych kół
        • Naprawienie zakłóceń enkodera
      • Użycie PID do utrzymywania prędkości i linii prostej
        • System sterowania prędkością
        • Kod sterujący prędkością
        • Strojenie regulatora prędkości PID
      • Pokonywanie podanej odległości
        • Zasada działania
        • Kod do sterowania odległością i prędkością
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 12
    • Wykrywanie orientacji za pomocą IMU i Raspberry Pi Pico
      • Wymagania techniczne
      • Co to jest IMU i jak go wybrać
        • Komponenty IMU
        • Wybór modułu IMU
      • Podłączenie IMU do robota
        • Przygotowanie BNO055
        • Mocowanie BNO055
        • Łączenie BNO055 z Raspberry Pi Pico
        • Konfiguracja oprogramowania i łączenie się
        • Rozwiązywanie problemów
      • Kalibracja i uzyskiwanie odczytów
        • Kod do kalibracji
        • Proces kalibracji
      • Zachowanie zawsze kieruj się ku północy
        • Kod w CircuitPythonie dla zachowania zawsze kieruj się ku północy
        • Rozwiązywanie problemów
      • Zachowanie powodujące wykonanie określonego skrętu
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 13
    • Określanie położenia za pomocą metody Monte Carlo
      • Wymagania techniczne
      • Tworzenie obszaru treningowego dla naszego robota
        • Co zrobimy
        • Jak wykonamy arenę
        • Wskazówki dotyczące cięcia
      • Modelowanie przestrzeni
        • Reprezentowanie areny i pozycji robota w postaci liczb
        • Obsługa areny z poziomu robota
        • Biblioteka Bleak
        • Tworzenie biblioteki opakowującej Bluetooth LE
        • Wyświetlanie danych z robota na ekranie komputera
      • Używanie czujników do śledzenia pozy względnej
        • Ustawianie pozy
        • Wyświetlanie póz
        • Poruszanie się z unikaniem kolizji
        • Poruszanie pozami z użyciem enkoderów
        • Prawdopodobieństwa ruchu póz
      • Lokalizowanie za pomocą Monte Carlo
        • Generowanie wagi póz na podstawie pozycji
        • Repróbkowanie póz
        • Inkorporacja czujników odległości
        • Tuning i udoskonalanie modelu Monte Carlo
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • 14
    • Kontynuujemy podróż kolejny robot
      • Wymagania techniczne
      • Podsumowanie tego, czego nauczyliśmy się z tej książki
        • Podstawy robotyki z Raspberry Pi Pico
        • Rozszerzanie robota Raspberry PI Pico za pomocą czujników
        • Napisanie kodu zachowań Raspberry PI Pico w języku Circuit Python
      • Planowanie rozszerzeń naszego robota
        • Czujniki do dodania
        • Interakcja z robotem
        • Podwozie i rozszerzenia postaci
        • Rozszerzenia elektroniki
        • Jakie wyjścia można dodać
        • Rozszerzanie kodu i zachowań
      • Planowanie kolejnego robota
        • Postać, kształt i podwozie
        • Elektronika i czujniki
        • Kod i zachowanie
      • Sugestia dalszych obszarów nauki
        • Elektronika
        • Projekt i wytwarzanie
        • Zawody robotów i społeczności w dziedzinie robotyki
        • Systemy i kod w robotyce
      • Podsumowanie
      • Ćwiczenia
      • Materiały uzupełniające
  • Spis treści
  • Polecamy także
  • Tytuł: Robotyka w domu przy użyciu Raspberry Pi Pico. Budowanie autonomicznych robotów przy użyciu elastycznego kontrolera Raspberry Pi Pico i języka Python
  • Autor: Danny Staple
  • ISBN: 9788375415254, 9788375415254
  • Data wydania: 2023-11-18
  • Format: Ebook
  • Identyfikator pozycji: e_3q88
  • Wydawca: Promise