Powszechnie
JavaScript uważa się za doskonałe narzędzie do programowania aplikacji internetowych. To jednak nie wszystko: ten język świetnie nadaje się również do programowania robotów. Umożliwia zaprojektowanie zachowania robota, określenie, w jaki sposób będzie on zmierzał do celu, reagował na sygnały z otoczenia, oczekiwał na instrukcje czy omijał przeszkody. Bardzo wygodnym narzędziem do programowania robotów jest platforma
Johnny-Five . Umożliwia ona programowanie robotów zbudowanych z płytek
Arduino ,
Raspberry Pi i
BeagleBone .
Dzięki tej książce można nauczyć się budowania i programowania robotów o najrozmaitszej funkcjonalności i wielu zastosowaniach. Do jej napisania Rick Waldron zaprosił czternastu mistrzów JS — inżynierów, nauczycieli, popularyzatorów i liderów. Dowiesz się od nich, w jaki sposób zbudować poszczególne elementy robota, jakie części zastosować i jak napisać potrzebny kod. Podpowiedzą Ci, jak przygotować sobie warsztat pracy oraz zdobyć potrzebne materiały. Znajdziesz tu mnóstwo wskazówek pomocnych przy planowaniu, budowie i testowaniu już istniejących projektów. Poszczególne zadania zostały tak dobrane, aby po ich wykonaniu można było zabrać się za trudniejsze projekty, o wyższym stopniu złożoności.
Zbuduj i zaprogramuj:
roboty kroczące, piszące, pływające, a nawet tańczące
domowy zegar słoneczny
robota sterowanego głosem
robota do sterowania oświetleniem
system monitoringu
robota ze sztuczną inteligencją
robota delta
interaktywne buty
Darmowy fragment publikacji:
Tytuł oryginału: Make: JavaScript Robotics: Building NodeBots with Johnny-Five, Raspberry Pi, Arduino,
and BeagleBone
Tłumaczenie: Andrzej Watrak
ISBN: 978-83-283-2054-3
© 2016 Helion S.A.
Authorized Polish translation of the English edition of Make: JavaScript Robotics, ISBN 9781457186950 ©
2015 Backstop Media, LLC, published by Maker Media Inc.
This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all
rights to publish and sell the same.
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)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/roboty.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/roboty
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(cid:258)ci
Przedmowa ...................................................................................................................... 11
1. Budowanie robotów ze zwyk(cid:239)ych materia(cid:239)ów ................................................................ 15
Budowa robota SimpleBot ..................................................................................................................16
Wykaz materia(cid:239)ów .......................................................................................................................16
Etapy budowy .............................................................................................................................17
Instalacja pakietów Node.js .........................................................................................................20
Sprawdzenie urz(cid:200)dzenia za pomoc(cid:200) podstawowego programu ....................................................20
Diagnostyka problemów ..............................................................................................................21
Prosty program steruj(cid:200)cy ............................................................................................................21
Diagnostyka problemów ..............................................................................................................23
Odci(cid:218)cie przewodu ............................................................................................................................24
Budowa bezprzewodowego robota SimpleBot ..............................................................................24
Po(cid:239)(cid:200)czenia ...................................................................................................................................24
Sterowanie robotem SimpleBot ....................................................................................................25
Diagnostyka problemów ..............................................................................................................28
Co dalej? ...........................................................................................................................................29
2. Robot pisz(cid:200)cy TypeBot ..................................................................................................... 31
Wykaz materia(cid:239)ów ..............................................................................................................................31
Informacje o serwomotorach .......................................................................................................32
Anatomia ramienia robota ..................................................................................................................33
Konstrukcja ramienia ...................................................................................................................33
Warunki zwi(cid:200)zane z ruchem ramienia ..........................................................................................34
3
Poleć książkęKup książkęBudowa cz(cid:218)(cid:258)ci mechanicznej ............................................................................................................34
Podstawa i rami(cid:218) .........................................................................................................................34
(cid:146)okie(cid:202) .........................................................................................................................................35
Nadgarstek ..................................................................................................................................36
Palec ...........................................................................................................................................37
Mózg ...........................................................................................................................................37
Utworzenie programu .........................................................................................................................38
Utworzenie plików projektu ..........................................................................................................38
Sterowanie serwomotorami .........................................................................................................38
Inicjalizacja ..................................................................................................................................41
Okre(cid:258)lenie sekwencji naci(cid:258)ni(cid:218)(cid:202) klawiszy .....................................................................................43
Pierwsze uruchomienie ................................................................................................................46
Dok(cid:239)adna regulacja ramienia ........................................................................................................46
Co dalej? ...........................................................................................................................................47
3. Pierwsze kroki z robotami NodeBoat .............................................................................. 49
Wykaz materia(cid:239)ów ..............................................................................................................................50
Narz(cid:218)dzia ....................................................................................................................................50
Zasobnik z silnikiem ...........................................................................................................................51
Po co stosowa(cid:202) sterownik silnika? ..............................................................................................51
Komponenty zasobnika silnika .....................................................................................................51
Modyfikacja silnika ......................................................................................................................52
Monta(cid:285) silnika .............................................................................................................................53
Sprawdzenie silnika .....................................................................................................................53
Przygotowanie silnika ..................................................................................................................53
Otwór w zasobniku na silnik ........................................................................................................54
Zamkni(cid:218)cie zasobnika na silnik ....................................................................................................55
Uszczelnienie przewodów ............................................................................................................55
Konfiguracja modu(cid:239)u Spark ................................................................................................................56
Test modu(cid:239)u Spark ......................................................................................................................56
Twój pierwszy program Spark ............................................................................................................57
Przylutowanie sterownika silnika ........................................................................................................58
Po(cid:239)(cid:200)czenie komponentów (cid:239)odzi ..........................................................................................................58
Zasilanie sterownika silnika ..........................................................................................................59
Po(cid:239)(cid:200)czenie modu(cid:239)u Spark i sterownika silnika ..............................................................................60
Pod(cid:239)(cid:200)czenie silnika ......................................................................................................................61
Sterowanie silnikiem: kod ..................................................................................................................62
Obs(cid:239)uga zdarzenia naci(cid:258)ni(cid:218)cia klawisza .......................................................................................62
Zapisywanie stanu klawiszy .........................................................................................................63
Wodowanie (cid:239)odzi ...............................................................................................................................64
4
Spis tre(cid:258)ci
Poleć książkęKup książkęSterowanie (cid:239)odzi(cid:200) za pomoc(cid:200) serwomotoru .......................................................................................66
Programowanie serwomotoru ......................................................................................................66
Monta(cid:285) steru ...............................................................................................................................68
Pierwszy rejs .....................................................................................................................................69
Co dalej? ...........................................................................................................................................69
4. Mobilna platforma piDuino5 ............................................................................................ 71
Wykaz materia(cid:239)ów ..............................................................................................................................72
Instalacja platformy Node.js na p(cid:239)ytce Raspberry Pi .....................................................................73
Pobranie kodu piDuino5 i zale(cid:285)no(cid:258)ci ............................................................................................73
Narz(cid:218)dzia ....................................................................................................................................73
Konfiguracja p(cid:239)ytek i instalacja oprogramowania ................................................................................73
Pod(cid:239)(cid:200)czenie Arduino ....................................................................................................................74
Przegl(cid:200)d kodu app.js ...................................................................................................................74
Sprawdzenie platformy Johnny-Five za pomoc(cid:200) protoko(cid:239)u WebSocket .........................................74
Inicjalizacja platformy Johnny-Five ..............................................................................................75
Sterowanie urz(cid:200)dzeniami .............................................................................................................75
Sterowanie z ma(cid:239)ymi opó(cid:283)nieniami za pomoc(cid:200) protoko(cid:239)u WebSocket ..........................................75
Po(cid:239)(cid:200)czenie z ka(cid:285)dego miejsca ......................................................................................................76
Monta(cid:285) komponentów ........................................................................................................................76
Wys(cid:239)anie adresu do aplikacji WWW .............................................................................................78
Sterowanie za pomoc(cid:200) smartfona ......................................................................................................78
Pobranie aplikacji WWW do sterowania robotem piDuino5 ..........................................................78
Sprawd(cid:283) aplikacj(cid:218) WWW na telefonie ..........................................................................................79
Przegl(cid:200)d plików app.js i index.html .....................................................................................................79
Zapisanie lokalnego adresu IP ......................................................................................................79
Udost(cid:218)pnienie interfejsu u(cid:285)ytkownika ...........................................................................................79
Dotykowy joystick .......................................................................................................................80
Nawi(cid:200)zanie po(cid:239)(cid:200)czenia .................................................................................................................80
Wysy(cid:239)anie polece(cid:241) ......................................................................................................................80
Co dalej? ...........................................................................................................................................81
5. Sterowanie heksapodem za pomoc(cid:200) platformy Johnny-Five ......................................... 83
Wykaz materia(cid:239)ów ..............................................................................................................................83
Sterowanie robotem za pomoc(cid:200) wiersza polece(cid:241) ...............................................................................84
Wprowadzenie do programu phoenix.js ..............................................................................................85
Monta(cid:285) robota ....................................................................................................................................86
Przygotowanie szkieletu ..............................................................................................................87
Monta(cid:285) komponentów elektronicznych ........................................................................................87
Przygotowanie serwomotorów ....................................................................................................87
Monta(cid:285) stawów biodrowych ........................................................................................................88
Spis tre(cid:258)ci
5
Poleć książkęKup książkęMonta(cid:285) segmentów udowych ......................................................................................................89
Monta(cid:285) segmentów piszczelowych ..............................................................................................89
Uk(cid:239)ad wspó(cid:239)rz(cid:218)dnych .........................................................................................................................90
Regulacja serwomotorów ..................................................................................................................91
Regulacja stawów biodrowych ....................................................................................................91
Regulacja segmentów udowych ..................................................................................................92
Regulacja segmentów piszczelowych ..........................................................................................92
Okre(cid:258)lenie zakresów ruchu serwomotorów ........................................................................................92
Chodzenie jest trudne! .......................................................................................................................93
Poznaj klas(cid:218) Animation ......................................................................................................................94
Tabela serwomotorów jako grupa docelowa ................................................................................94
Obiekt Servo.Array jako grupa docelowa ......................................................................................94
Tabela obiektów Servo.Array jako grupa docelowa ......................................................................94
Pierwszy segment animacyjny ...........................................................................................................95
Chodzenie ..........................................................................................................................................98
Wios(cid:239)owanie (row) ......................................................................................................................98
Marsz (walk) ...............................................................................................................................99
Bieg (run) ..................................................................................................................................100
Lista polece(cid:241) ...................................................................................................................................100
Obracanie robota .............................................................................................................................100
Co dalej? .........................................................................................................................................101
6. Budowanie robota NodeBot sterowanego g(cid:239)osem ....................................................... 103
Wykaz materia(cid:239)ów ............................................................................................................................103
P(cid:239)ytka BeagleBone Black ...........................................................................................................105
Tworzenie projektu ...........................................................................................................................106
Budowa obwodu przeka(cid:283)nika ...........................................................................................................106
Sterowanie obwodem za pomoc(cid:200) platformy Johnny-Five ...........................................................107
Budowa obwodu mikrofonu .............................................................................................................108
Obs(cid:239)uga mikrofonu i przeka(cid:283)nika za pomoc(cid:200) kodu Johnny-Five .................................................108
Tworzenie serwera polece(cid:241) ..............................................................................................................110
Prosty kontroler g(cid:239)osowy wykorzystuj(cid:200)cy interfejs Web Speech API .................................................112
Integracja serwera polece(cid:241) z obwodem przeka(cid:283)nika .........................................................................112
Zaawansowany kontroler g(cid:239)osowy wykorzystuj(cid:200)cy gad(cid:285)et z Androidem ...........................................115
Aplikacja przeno(cid:258)na dla systemu Android ..................................................................................115
Aplikacja dla gad(cid:285)etu z Androidem .............................................................................................120
Co dalej? .........................................................................................................................................123
7. Pokojowy zegar s(cid:239)oneczny ............................................................................................ 125
Wykaz materia(cid:239)ów ............................................................................................................................126
Elementy z pianki PCV ...............................................................................................................126
6
Spis tre(cid:258)ci
Poleć książkęKup książkęBudowanie zegara s(cid:239)onecznego .......................................................................................................128
Wycinanie elementów i przygotowanie g(cid:239)ównej konstrukcji ..............................................................129
Przygotowanie p(cid:239)yty monta(cid:285)owej ...............................................................................................129
Pod(cid:239)(cid:200)czenie i konfiguracja serwomotorów .......................................................................................130
Pod(cid:239)(cid:200)czenie serwomotorów .......................................................................................................130
Konfiguracja serwomotorów ......................................................................................................131
Przygotowanie tarcz .........................................................................................................................132
Przygotowanie (cid:258)cianek i podparcia tarczy podstawowej ...................................................................133
Przygotowanie (cid:258)cianek ..............................................................................................................133
Umieszczenie tarcz ....................................................................................................................134
Przygotowanie podparcia tarczy ................................................................................................134
Wykonanie ostatnich elementów i monta(cid:285) zegara .............................................................................136
Przygotowanie ramienia azymutu ...............................................................................................136
Przygotowanie (cid:239)uku wysoko(cid:258)ci ..................................................................................................137
Wyci(cid:218)cie gnomonu ....................................................................................................................138
Pod(cid:239)(cid:200)czenie „s(cid:239)o(cid:241)ca” ................................................................................................................138
Kod, który wszystkim steruje ...........................................................................................................139
Program sundial.js ....................................................................................................................140
Dane konfiguracyjne w programie sundial.js ..............................................................................140
Szczegó(cid:239)y programu sundial.js ..................................................................................................141
Z(cid:239)ó(cid:285) wszystko razem! .......................................................................................................................143
W(cid:239)(cid:200)cz zegar! ....................................................................................................................................144
Co dalej? .........................................................................................................................................144
8. (cid:165)wiate(cid:239)ka-straszyde(cid:239)ka ................................................................................................. 145
Wykaz materia(cid:239)ów ............................................................................................................................145
Dobór kontrolera matrycy ..........................................................................................................146
Teoria ..............................................................................................................................................146
Co to jest matryca LED? ............................................................................................................147
Budowa (cid:239)a(cid:241)cucha (cid:258)wiate(cid:239)ek .............................................................................................................147
Potrzebne narz(cid:218)dzia ...................................................................................................................148
Przygotowanie matryc ...............................................................................................................149
Przygotowanie kabla ..................................................................................................................150
Diagnostyka ..............................................................................................................................153
Sterowanie matryc(cid:200) LED ..................................................................................................................153
Przygotowanie p(cid:239)ytki Arduino .....................................................................................................153
Dekorowanie (cid:239)a(cid:241)cucha (cid:258)wiate(cid:239)ek ...............................................................................................153
Opcje konstruktora klasy Matrix .................................................................................................154
Rysowanie wzorów na matrycy .................................................................................................154
Uruchomienie programu testuj(cid:200)cego .........................................................................................154
Spis tre(cid:258)ci
7
Poleć książkęKup książkęUtworzenie aplikacji WWW ...............................................................................................................155
Narz(cid:218)dzia programistyczne ........................................................................................................155
Korzystanie z generatora express ...............................................................................................155
Utworzenie interfejsu API ...........................................................................................................156
Utworzenie interfejsu u(cid:285)ytkownika .............................................................................................157
Rozbudowa aplikacji ..................................................................................................................158
Co dalej? .........................................................................................................................................158
9. Lampa CheerfulJ5 .......................................................................................................... 159
Wykaz materia(cid:239)ów ............................................................................................................................159
Zbudowanie obwodu ........................................................................................................................160
Kod do lampy CheerfulJ5 .................................................................................................................161
Po(cid:239)(cid:200)czenie z p(cid:239)ytk(cid:200) Arduino .......................................................................................................161
Sterowanie diod(cid:200) RGB ...............................................................................................................162
U(cid:285)ycie platformy Node.js i p(cid:218)tli REPL ........................................................................................163
Zdefiniowanie mapy kolorów us(cid:239)ugi CheerLights ........................................................................163
Dost(cid:218)p do us(cid:239)ugi CheerLights za pomoc(cid:200) interfejsu ThingSpeak API ..........................................164
Korzystanie z interfejsu Twitter Streaming API ...........................................................................165
(cid:146)(cid:200)czno(cid:258)(cid:202) bezprzewodowa dzi(cid:218)ki zestawowi Spark WiFi Development Kit .........................................169
Umieszczenie modu(cid:239)u Spark w obwodzie ..................................................................................169
Zastosowanie wtyczki Spark-io ..................................................................................................170
Prze(cid:239)(cid:200)czenie na zasilanie z akumulatora .....................................................................................170
Umieszczenie obwodu w obudowie .................................................................................................171
Co dalej? .........................................................................................................................................172
10. Interaktywny panel LED RGB z p(cid:239)ytk(cid:200) BeagleBone Black ............................................ 173
Wykaz materia(cid:239)ów ............................................................................................................................174
P(cid:239)ytka BeagleBone Black ...........................................................................................................174
Adapter WiFi (opcjonalny) .........................................................................................................174
Zewn(cid:218)trzny zasilacz 5 V (opcjonalny) ........................................................................................174
Panel LED RGB ..........................................................................................................................175
Czujniki .....................................................................................................................................175
Inne komponenty .......................................................................................................................175
Pierwsze kroki: oprogramowanie .....................................................................................................175
Oprogramowanie LEDScape ......................................................................................................175
Pod(cid:239)(cid:200)czenie panelu RGB LED ....................................................................................................176
Pod(cid:239)(cid:200)czenie panelu RGB LED ...........................................................................................................176
Czas na kod! U(cid:285)yj j(cid:218)zyka JavaScript .................................................................................................178
Uruchomienie skryptu testowego ...............................................................................................179
Zastosowanie platformy Johnny-Five i obudowy beaglebone-io .................................................181
8
Spis tre(cid:258)ci
Poleć książkęKup książkęPod(cid:239)(cid:200)czenie fotorezystora ..........................................................................................................183
Zmienianie kolorów za pomoc(cid:200) przyspieszeniomierza ................................................................185
Co dalej? .........................................................................................................................................187
11. Osobiste bezpiecze(cid:241)stwo, JavaScript i Ty .................................................................... 189
Prosty czujnik ultrad(cid:283)wi(cid:218)kowy .........................................................................................................190
Implementacja ...........................................................................................................................190
Urz(cid:200)dzenie ultrad(cid:283)wi(cid:218)kowe wysy(cid:239)aj(cid:200)ce SMS-y .................................................................................193
Implementacja ...........................................................................................................................193
System monitoringu .........................................................................................................................194
Implementacja ...........................................................................................................................194
Laser robi wra(cid:285)enie na wrogach i przyjacio(cid:239)ach ................................................................................195
Implementacja ...........................................................................................................................195
Wska(cid:283)nik stanu, przyciski i diody LED ..............................................................................................196
Implementacja ...........................................................................................................................198
Co dalej? .........................................................................................................................................201
12. Sztuczna inteligencja: robot BatBot .............................................................................. 203
Sztuczna inteligencja — podstawy ...................................................................................................203
Roboty semiautonomiczne ........................................................................................................204
Roboty autonomiczne ................................................................................................................204
Robot BatBot .............................................................................................................................204
Roboty zdalnie sterowane ..........................................................................................................204
Wykaz materia(cid:239)ów ............................................................................................................................205
Uwagi dotycz(cid:200)ce materia(cid:239)ów .....................................................................................................206
Monta(cid:285) ............................................................................................................................................206
Krok 1. Zdalne sterowanie ................................................................................................................207
Poruszanie robotem ..................................................................................................................208
Sterowanie robotem ..................................................................................................................210
Ustawianie czujnika ultrad(cid:283)wi(cid:218)kowego i odczyt sygna(cid:239)u .............................................................210
Krok 2. Autonomia ...........................................................................................................................211
Implementacja algorytmu ..........................................................................................................213
Diagnostyka .....................................................................................................................................215
Co dalej? .........................................................................................................................................216
13. Roboty delta i kinematyka ............................................................................................. 217
Wykaz materia(cid:239)ów ............................................................................................................................218
Anatomia robota delta ......................................................................................................................219
Budowa robota Junky Delta .............................................................................................................220
Wprawienie robota w ruch .........................................................................................................223
Okre(cid:258)lanie po(cid:239)o(cid:285)enia w kinematyce ...........................................................................................225
Bardziej zaawansowane roboty delta ................................................................................................229
Spis tre(cid:258)ci
9
Poleć książkęKup książkęRobot TapsterBot ......................................................................................................................229
Robot Army ...............................................................................................................................229
Co dalej? .........................................................................................................................................230
14. Interaktywne buty .......................................................................................................... 231
Wykaz materia(cid:239)ów ............................................................................................................................231
Opis elementów ...............................................................................................................................231
Przygotowanie czujników .................................................................................................................234
Przylutowanie przewodów do czujników ....................................................................................234
Umieszczenie czujników w butach .............................................................................................235
Wyprowadzenie przewodów na zewn(cid:200)trz buta ...........................................................................235
Po(cid:239)(cid:200)czenie butów .............................................................................................................................235
Przygotowanie przewodu spiralnego ..........................................................................................235
Pod(cid:239)(cid:200)czenie butów do p(cid:239)ytki Arduino ................................................................................................237
Przygotowanie przewodów ........................................................................................................237
Przylutowanie p(cid:239)ytki Arduino ......................................................................................................238
Przymocowanie p(cid:239)ytki Arduino do prawego buta ........................................................................238
Tworzenie kodu opartego na platformie Johnny-Five ........................................................................238
Pod(cid:239)(cid:200)czenie do platformy Johnny-Five .......................................................................................238
Konfiguracja czujników ..............................................................................................................239
Wy(cid:258)wietlanie danych z czujników ..............................................................................................239
Przyk(cid:239)adowe zachowania ...........................................................................................................240
Co dalej? .........................................................................................................................................241
A. Dodatek ........................................................................................................................... 243
Instalacja biblioteki Node.js ..............................................................................................................243
Instalacja platformy Johnny-Five ......................................................................................................243
Diagnostyka ..............................................................................................................................244
Dodatkowe informacje ...............................................................................................................244
Konfigurowanie sprz(cid:218)tu ....................................................................................................................244
Arduino .....................................................................................................................................244
BeagleBone Black ......................................................................................................................244
Raspberry Pi .............................................................................................................................244
Zestaw Particle WiFi Development Kit ........................................................................................245
Programowanie w systemie Android ................................................................................................247
Instalacja oprogramowania Android Studio ................................................................................247
Tworzenie projektu Android .......................................................................................................247
Instalacja biblioteki Volley .........................................................................................................248
Skorowidz ...................................................................................................................... 249
10
Spis tre(cid:258)ci
Poleć książkęKup książkęSterowanie heksapodem
za pomoc(cid:200) platformy
Johnny-Five 5
W tym rozdziale dowiesz si(cid:218), jak zbudowa(cid:202) prostego
krocz(cid:200)cego heksapoda, czyli sze(cid:258)cionogiego robota.
Opisany tu heksapod, pokazany na rysunku 5.1, b(cid:218)dzie
mia(cid:239) po trzy stawy w ka(cid:285)dej nodze. Robot b(cid:218)dzie
sterowany za pomoc(cid:200) klasy Animation z platformy
Johnny-Five. Klasa ta jest wykorzystywana do two-
rzenia skryptów steruj(cid:200)cych serwomotorami w cza-
sie. Oferuje funkcjonalno(cid:258)ci takie jak harmonogram,
kluczowe ramki, p(cid:239)ynne przej(cid:258)cie jednej ramki w drug(cid:200)
(ang. tweening) i funkcje wyg(cid:239)adzaj(cid:200)ce (ang. easing
functions). Na koniec otrzymasz doskona(cid:239)(cid:200) platform(cid:218)
do budowania w przysz(cid:239)o(cid:258)ci z(cid:239)o(cid:285)onych, ciekawych
robotów.
Wykaz materia(cid:239)ów
Materia(cid:239)y u(cid:285)yte w tym rozdziale wymienione s(cid:200)
w tabeli 5.1.
Sze(cid:258)(cid:202) serwomotorów Hitec HS-485HB b(cid:218)dzie tworzy(cid:202)
stawy biodrowe, sze(cid:258)(cid:202) modeli Hitec HS-645MG —
Donovan Buck
Rysunek 5.1. Gotowy heksapod
stawy segmentów udowych, a sze(cid:258)(cid:202) Hitec HS-5685
MH — stawy segmentów piszczelowych. Firma Lynx-
motion zaleca zastosowanie sze(cid:258)ciu serwomotorów
HS-485HB i dwunastu HS-645MG, jednak modele
HS-5685MH oferuj(cid:200) wi(cid:218)kszy moment obrotowy nie-
zb(cid:218)dny w stawach segmentów udowych. Do poru-
szania robotem b(cid:218)dzie potrzebny maksymalny
moment obrotowy, jaki silniki mog(cid:200) osi(cid:200)gn(cid:200)(cid:202).
83
Poleć książkęKup książkęTabela 5.1. Wykaz materia(cid:239)ów do budowy robota
Liczba
Element
Przybli(cid:285)ona cena
Numer/(cid:283)ród(cid:239)o
1
1
1
6
6
6
1
1
Heksapod Phoenix 3DOF (bez serwomotorów
i elementów elektronicznych)
Arduino Mega 2560
Nak(cid:239)adka DFRobot Mega Sensor
Serwomotor HiTec HS-485HB
Serwomotor HiTec HS-645MG
Serwomotor HiTec HS-5685MH
(cid:146)adowarka 6 V – 12 V NiMH/NiCd
Akumulator 6 V / 2800 mAh Ni-MH
950 z(cid:239)
175 z(cid:239)
75 z(cid:239)
65 z(cid:239)
120 z(cid:239)
150 z(cid:239)
85 z(cid:239)
105 z(cid:239)
LM PHOE
MS MKSP5, AF 191, SF DEV-11061
AZ B0098SJ1RS
LM S485HB, AZ B00944TF72
LM S645MG, AZ B003T6RSVQ
LM S5685MH, AZ B003X6KT7C
LM USC-02, AZ B001DHC2LO
LM BAT-05
Lista potrzebnych narz(cid:218)dzi jest skromna. Do podsta-
wowego monta(cid:285)u b(cid:218)d(cid:200) potrzebne:
(cid:120) zestaw ma(cid:239)ych wkr(cid:218)taków,
(cid:120) szczypce precyzyjne,
(cid:120) wiertarka,
(cid:120) wiert(cid:239)o o (cid:258)rednicy 3 mm,
(cid:120) wiert(cid:239)o o (cid:258)rednicy 6 mm,
(cid:120) opaski zaciskowe (kilkadziesi(cid:200)t sztuk).
Sterowanie robotem
za pomoc(cid:200) wiersza polece(cid:241)
Podczas konstruowania robota b(cid:218)dziesz musia(cid:239) ste-
rowa(cid:202) serwomotorami i zmienia(cid:202) ich pozycje, wyko-
rzystuj(cid:200)c uk(cid:239)ad wspó(cid:239)rz(cid:218)dnych. P(cid:218)tla REPL oferowana
przez platform(cid:218) Node.js doskonale nadaje si(cid:218) do tego
celu. Mo(cid:285)liwo(cid:258)(cid:202) wysy(cid:239)ania polece(cid:241) do serwomo-
torów i obserwowania ich reakcji w czasie rzeczy-
wistym jest bardzo fajna i przydatna.
Do sterowania robotem za pomoc(cid:200) p(cid:218)tli REPL b(cid:218)dzie
potrzebny program phoenix.js. Wykonaj nast(cid:218)puj(cid:200)ce
czynno(cid:258)ci:
1. Pobierz zawarto(cid:258)(cid:202) katalogu Buck.Animation
z serwisu GitHub (https://github.com/rwaldron/
javascript-robotics).
2. Zapisz zawarto(cid:258)(cid:202) katalogu w folderze roboczym
na komputerze.
3. Przejd(cid:283) do katalogu roboczego, a nast(cid:218)pnie u(cid:285)yj
polecenia npm do zainstalowania zale(cid:285)no(cid:258)ci:
npm install
Powy(cid:285)sze polecenie powinno dostarczy(cid:202) wszystkich
danych potrzebnych do skonfigurowania robota i ste-
rowania nim. Je(cid:285)eli nie zainstalowa(cid:239)e(cid:258) jeszcze plat-
formy Node.js na swoim komputerze, zajrzyj do
cz(cid:218)(cid:258)ci „Instalacja platformy Node.js” w dodatku.
P(cid:218)tla REPL
Skrót REPL oznacza p(cid:218)tl(cid:218) odczytaj-przetwórz-wy(cid:258)wietl (ang. read-eval-print loop). Umo(cid:285)liwia ona
wprowadzanie informacji za pomoc(cid:200) wiersza polece(cid:241), nast(cid:218)pnie przetwarzanie wprowadzonych danych
za pomoc(cid:200) kodu i na koniec wy(cid:258)wietlenie wyników i oczekiwanie na kolejne polecenia.
84
5. Sterowanie heksapodem za pomoc(cid:200) platformy Johnny-Five
Poleć książkęKup książkęWprowadzenie
do programu phoenix.js
Plik phoenix.js ze skryptem JavaScript zawiera pe(cid:239)ny
kod potrzebny do konfiguracji robota i sterowania nim.
W dalszej cz(cid:218)(cid:258)ci rozdzia(cid:239)u okre(cid:258)lisz w tym kodzie
pewne warto(cid:258)ci konfiguracyjne, ale na razie tylko
przejrzyj go i zapoznaj si(cid:218) z jego kilkoma podsta-
wowymi funkcjonalno(cid:258)ciami.
Plik sk(cid:239)ada si(cid:218) z dwóch g(cid:239)ównych sekcji, w których
mo(cid:285)e by(cid:202) konieczne wprowadzenie zmian. Pierw-
sza z nich — sekcja konfiguracyjna — znajduje si(cid:218)
w pobli(cid:285)u pocz(cid:200)tku pliku. S(cid:200) w niej zdefiniowane
obiekty opisuj(cid:200)ce wszystkie pozycje, jakie przyjmuj(cid:200)
serwomotory podczas wykonywania przez heksapoda
kroków przesuwaj(cid:200)cych go naprzód i obracaj(cid:200)cych
na boki. Te dane b(cid:218)dziesz musia(cid:239) zmieni(cid:202) tylko w przy-
padku, gdy zastosujesz inne serwomotory ni(cid:285) wymie-
nione w li(cid:258)cie.
Druga sekcja, w której koniecznie musisz wprowa-
dzi(cid:202) zmiany, zawiera instrukcje tworz(cid:200)ce obiekty
reprezentuj(cid:200)ce serwomotory poruszaj(cid:200)ce nogami
robota. Sekcja ta znajduje si(cid:218) wewn(cid:200)trz funkcji
zwrotnej w metodzie five.Board().on( ready ).
Za pomoc(cid:200) w(cid:239)a(cid:258)ciwo(cid:258)ci offset musisz ustawi(cid:202)
w (cid:258)rodkowej pozycji wszystkie 18 serwomotorów.
Szczegó(cid:239)owe instrukcje, jak to zrobi(cid:202), zawarte s(cid:200)
w dalszej cz(cid:218)(cid:258)ci rozdzia(cid:239)u. Ponadto, je(cid:285)eli u(cid:285)ywasz
innego typu serwomotorów ni(cid:285) wymienione w tabeli,
b(cid:218)dziesz musia(cid:239) zmieni(cid:202) warto(cid:258)ci w(cid:239)a(cid:258)ciwo(cid:258)ci range
serwomotorów.
Definicja serwomotoru w obiekcie phoenix jest
nast(cid:218)puj(cid:200)ca:
phoenix.r1c = new five.Servo({
pin:40,
offset: 0,
startAt: l.c,
range: [50, 180],
isInverted: true
});
// + 17 kolejnych takich definicji…
w(cid:239)a(cid:258)ciwo(cid:258)(cid:202) pin okre(cid:258)la numer pinu nak(cid:239)adki Mega
Sensor, do którego pod(cid:239)(cid:200)czony jest serwomotor.
W(cid:239)a(cid:258)ciwo(cid:258)(cid:202) offset s(cid:239)u(cid:285)y do regulacji pozycji
serwomotoru.
W(cid:239)a(cid:258)ciwo(cid:258)(cid:202) startAt okre(cid:258)la pozycj(cid:218) pocz(cid:200)t-
kow(cid:200) serwomotoru.
W(cid:239)a(cid:258)ciwo(cid:258)(cid:202) range okre(cid:258)la minimaln(cid:200) i maksy-
maln(cid:200) warto(cid:258)(cid:202) k(cid:200)ta, o jaki mo(cid:285)e obróci(cid:202) si(cid:218) ser-
womotor.
W(cid:239)a(cid:258)ciwo(cid:258)(cid:202) isInverted odwraca warto(cid:258)(cid:202) k(cid:200)ta
obrotu wysy(cid:239)an(cid:200) do serwomotoru (np. warto(cid:258)(cid:202)
180 jest zamieniana na 0, 45 na 135 itd.).
Tabela 5.2 przedstawia funkcje serwomotorów oraz
piny wykorzystane przez wszystkie serwomotory
poruszaj(cid:200)ce stawami robota.
Gdy przyjrzysz si(cid:218) dok(cid:239)adniej kodowi, zauwa(cid:285)ysz,
(cid:285)e w konfiguracjach serwomotorów tylnych stawów
biodrowych w(cid:239)a(cid:258)ciwo(cid:258)(cid:202) isInverted przyjmuje
przeciwne warto(cid:258)ci ni(cid:285) w przypadku serwomoto-
rów w pozosta(cid:239)ych stawach biodrowych z tej samej
strony robota. Jest tak dlatego, poniewa(cid:285) podczas
przesuwania przedniej nogi w przód dwie pozosta(cid:239)e
nogi musz(cid:200) by(cid:202) przesuwane wstecz. W dalszej
cz(cid:218)(cid:258)ci kodu dla ka(cid:285)dej nogi zdefiniowana jest tabela
Servo.Array:
phoenix.l1 = new five.Servo.Array([
phoenix.l1c,
phoenix.l1f,
phoenix.l1t
]);
// Pi(cid:266)(cid:252) kolejnych podobnych definicji
Po wywo(cid:239)aniu metody klasy Servo.Array, na przy-
k(cid:239)ad z obiektu phoenix.l1, w ka(cid:285)dym obiekcie typu
Servo zawartym w powy(cid:285)szej klasie wywo(cid:239)ywana
jest ta sama metoda z takimi samymi argumentami.
Klasa Servo.Array jest równie(cid:285) wykorzystywana do
(cid:239)(cid:200)czenia serwomotorów w grupy animacyjne. Wi(cid:218)cej
informacji na ten temat znajduje si(cid:218) w dalszej cz(cid:218)(cid:258)ci
rozdzia(cid:239)u.
W pliku phoenix.js tworzone s(cid:200) równie(cid:285) nast(cid:218)puj(cid:200)ce
obiekty typu Servo.Array:
(cid:120) coxa: sze(cid:258)(cid:202) serwomotorów tworz(cid:200)cych stawy
biodrowe,
(cid:120) femur: sze(cid:258)(cid:202) serwomotorów w segmentach
udowych,
(cid:120) tibia: sze(cid:258)(cid:202) serwomotorów w segmentach
piszczelowych,
(cid:120) legs: wszystkie serwomotory (osiemna(cid:258)cie sztuk)
Wprowadzenie do programu phoenix.js
85
Poleć książkęKup książkęTabela 5.2. Lista serwomotorów
Serwomotor
Skrót
Model
Pin
Staw biodrowy lewy 1
Segment udowy lewy 1
Segment piszczelowy lewy 1
Staw biodrowy lewy 2
Segment udowy lewy 2
Segment piszczelowy lewy 2
Staw biodrowy lewy 3
Segment udowy lewy 3
Segment piszczelowy lewy 3
Staw biodrowy prawy 1
Segment udowy prawy 1
Segment piszczelowy prawy 1
Staw biodrowy prawy 2
Segment udowy prawy 2
Segment piszczelowy prawy 2
Staw biodrowy prawy 3
Segment udowy prawy 3
Segment piszczelowy prawy 3
L1C
L1F
L1T
L2C
L2F
L2T
L3C
L3F
L3T
R1C
R1F
R1T
R2C
R2F
R2T
R3C
R3F
R3T
HS-485HB
HS-645MG
HS-5685MH
HS-485HB
HS-645MG
HS-5685MH
HS-485HB
HS-645MG
HS-5685MH
HS-485HB
HS-645MG
HS-5685MH
HS-485HB
HS-645MG
HS-5685MH
HS-485HB
HS-645MG
HS-5685MH
27
26
25
23
21
20
19
18
17
40
39
38
49
48
47
45
44
43
Ponadto tworzona jest tabela zawieraj(cid:200)ca tabele ser-
womotorów, która b(cid:218)dzie u(cid:285)yta pó(cid:283)niej podczas ani-
mowania u(cid:258)pienia i przebudzenia robota:
phoenix.joints = new five.Servo.Array([
phoenix.coxa,
phoenix.femur,
phoenix.tibia
]);
Jak wida(cid:202), w pliku phoenix.js tworzonych jest wiele
obiektów typu Servo.Array, zawieraj(cid:200)cych ró(cid:285)ne
kombinacje serwomotorów. Dzi(cid:218)ki takiej konfiguracji
poruszanie segmentami nóg robota b(cid:218)dzie (cid:239)atwiejsze.
Zadaniem kodu w tym pliku jest wysy(cid:239)anie polece(cid:241)
tylko do wybranych grup serwomotorów.
Monta(cid:285) robota
Zanim poznasz klas(cid:218) Animation, musisz zmonto-
wa(cid:202) robota. Wi(cid:218)kszo(cid:258)(cid:202) czynno(cid:258)ci wykonaj wed(cid:239)ug
instrukcji dostarczonej przez Lynxmotion. S(cid:200) jednak
trzy miejsca, na które musisz zwróci(cid:202) szczególn(cid:200)
uwag(cid:218). Oto najwa(cid:285)niejsze etapy monta(cid:285)u:
1. Przygotowanie szkieletu.
2. Monta(cid:285) komponentów elektronicznych.
3. Przygotowanie serwomotorów.
4. Monta(cid:285) stawów biodrowych.
5. Monta(cid:285) segmentów udowych.
6. Monta(cid:285) segmentów piszczelowych.
86
5. Sterowanie heksapodem za pomoc(cid:200) platformy Johnny-Five
Poleć książkęKup książkęPrzygotowanie szkieletu
Jednym z problemów, które musisz rozwi(cid:200)za(cid:202), jest
monta(cid:285) komponentów elektronicznych. Firma Lynx-
motion zaprojektowa(cid:239)a heksapoda Phoenix pod k(cid:200)tem
p(cid:239)ytki BotBoarduino. P(cid:239)ytka ta ma otwory monta(cid:285)owe
w innych miejscach ni(cid:285) Arduino Mega. Ponadto p(cid:239)ytka
Arduino Mega jest du(cid:285)a. Jej monta(cid:285) wewn(cid:200)trz szkie-
letu robota Phoenix jest idealnym, ale trudnym roz-
wi(cid:200)zaniem. Musisz odsun(cid:200)(cid:202) platformy szkieletu na
tyle, aby dopasowa(cid:202) je do szeroko(cid:258)ci p(cid:239)ytki Mega.
Na razie zamontuj p(cid:239)ytk(cid:218) Arduino po prostu na górnej
platformie szkieletu.
Na rysunku 5.2 widoczne s(cid:200) dwa ma(cid:239)e s(cid:239)upki dystan-
sowe z tworzywa sztucznego, dopasowane do otwo-
rów monta(cid:285)owych w p(cid:239)ytce Arduino Mega. Zwró(cid:202)
uwag(cid:218), (cid:285)e nie s(cid:200) one dopasowane idealnie. P(cid:239)ytka po
zamontowaniu b(cid:218)dzie obrócona w stosunku do szkie-
letu pod niewielkim k(cid:200)tem. Gdyby Ci to nie odpo-
wiada(cid:239)o, wywier(cid:202) dodatkowe otwory monta(cid:285)owe.
2. Za(cid:239)ó(cid:285) nak(cid:239)adk(cid:218) silnikow(cid:200) na p(cid:239)ytk(cid:218) Arduino.
3. W zestawie Phoenix znajduje si(cid:218) wy(cid:239)(cid:200)cznik zasi-
lania serwomotorów. Aby go zamontowa(cid:202), trzeba
wykona(cid:202) otwór o (cid:258)rednicy 6 mm, poniewa(cid:285) ist-
niej(cid:200)ce otwory w szkielecie zostan(cid:200) zas(cid:239)oni(cid:218)te
przez komponenty elektroniczne. Wywier(cid:202) wi(cid:218)c
nowy otwór pod wy(cid:239)(cid:200)cznik, który zalecam zamon-
towa(cid:202) w pobli(cid:285)u nogi R2. Zamontuj go w szkie-
lecie w sposób pokazany na rysunku, przytnij
przewody na odpowiedni(cid:200) d(cid:239)ugo(cid:258)(cid:202) i pod(cid:239)(cid:200)cz je
do z(cid:239)(cid:200)czy zasilania nak(cid:239)adki silnikowej.
4. Akumulator Ni-MH mo(cid:285)na (cid:258)ci(cid:258)le wpasowa(cid:202)
pomi(cid:218)dzy s(cid:239)upki dystansowe i nie trzeba go
mocowa(cid:202) (cid:285)adnymi dodatkowymi elementami.
Wsu(cid:241) akumulator obrócony o 45° i umie(cid:258)(cid:202) go we
w(cid:239)a(cid:258)ciwym po(cid:239)o(cid:285)eniu. Rysunek 5.3 przedstawia
urz(cid:200)dzenie na obecnym etapie monta(cid:285)u.
Rysunek 5.2. Zmontowany szkielet robota
Od tego momentu do oznaczenia nóg heksapoda b(cid:218)d(cid:200)
stosowane skróty R1, R2 i R3 (nogi prawe) oraz L1,
L2 i L3 (nogi lewe).
Monta(cid:285) komponentów
elektronicznych
Aby zamontowa(cid:202) elementy elektroniczne, wykonaj
nast(cid:218)puj(cid:200)ce czynno(cid:258)ci:
1. Przymocuj p(cid:239)ytk(cid:218) Arduino do s(cid:239)upków dystanso-
wych 1/2 .
Rysunek 5.3. Szkielet robota z zamontowanymi
komponentami elektronicznymi
Przygotowanie serwomotorów
Teraz przygotuj serwomotory. Wykonaj nast(cid:218)puj(cid:200)ce
czynno(cid:258)ci:
1. Pod(cid:239)(cid:200)cz wszystkie serwomotory stawów biodro-
wych i segmentów udowych do nak(cid:239)adki Mega
Sensor zgodnie z tabel(cid:200) 5.2. Pod(cid:239)(cid:200)czenie serwo-
motorów segmentów piszczelowych nie jest na
razie konieczne, ale je(cid:285)eli chcesz, mo(cid:285)esz to
zrobi(cid:202).
2. Pod(cid:239)(cid:200)cz p(cid:239)ytk(cid:218) Arduino do portu USB komputera,
a przewody zasilaj(cid:200)ce do nak(cid:239)adki. Rysunek 5.4
przedstawia widok wszystkich komponentów na
obecnym etapie monta(cid:285)u.
Monta(cid:285) robota
87
Poleć książkęKup książkę 6. Wykonaj powy(cid:285)sz(cid:200) czynno(cid:258)(cid:202) dla wszystkich 12
serwomotorów stawów biodrowych i segmentów
udowych. Nasadki za(cid:239)ó(cid:285) dopiero po wy(cid:239)(cid:200)czeniu
zasilania nak(cid:239)adki.
Serwomotory stawów biodrowych
trzeba przygotowa(cid:228) inaczej ni(cid:344)
serwomotory segmentów udowych
i piszczelowych. Uwa(cid:344)aj, aby nie
pomyli(cid:228) wkr(cid:246)tów i nie uszkodzi(cid:228)
serwomotorów.
Monta(cid:285) stawów biodrowych
W celu zamontowania serwomotorów stawów bio-
drowych wykonaj nast(cid:218)puj(cid:200)ce czynno(cid:258)ci:
1. Z(cid:239)ó(cid:285) wszystkie elementy stawów biodrowych
i segmentów udowych zgodnie z instrukcjami
producenta. Zwró(cid:202) uwag(cid:218), (cid:285)e trzy elementy s(cid:200)
lustrzanymi odbiciami trzech innych (patrz rysu-
nek 5.6).
Rysunek 5.6. Zmontowane stawy biodrowe
2. Teraz przymocuj do szkieletu elementy stawów
biodrowych i segmentów udowych dwóch (cid:258)rod-
kowych nóg (R2 i L2). Nie mocuj na razie nasadek
do szkieletu.
3. Przeci(cid:200)gnij przewody od serwomotorów pomi(cid:218)dzy
nak(cid:239)adk(cid:200) Mega Sensor a szkieletem robota.
4. Pod(cid:239)(cid:200)cz cztery serwomotory do nak(cid:239)adki Mega
Sensor. Tabela 5.2 zawiera informacje, gdzie
nale(cid:285)y pod(cid:239)(cid:200)czy(cid:202) ka(cid:285)dy serwomotor.
Rysunek 5.4. Pod(cid:239)(cid:200)czone wszystkie serwomotory
3. Nasadki wszystkich serwomotorów musz(cid:200) by(cid:202)
ustawione jak najdok(cid:239)adniej w (cid:258)rodkowej pozycji.
W tym celu przed za(cid:239)o(cid:285)eniem nasadki na serwo-
motor musisz ustawi(cid:202) go w (cid:258)rodkowej pozycji.
W katalogu, w którym znajduje si(cid:218) plik phoenix.js,
wpisz nast(cid:218)puj(cid:200)ce polecenie:
node phoenix
4. Serwomotory po zainicjowaniu zostan(cid:200) ustawione
w pozycjach odpowiadaj(cid:200)cych warto(cid:258)ci w(cid:239)a-
(cid:258)ciwo(cid:258)ci startAt. Wszystkie trzeba ustawi(cid:202)
w pozycji 90°, wi(cid:218)c w p(cid:218)tli REPL wpisz nast(cid:218)-
puj(cid:200)ce polecenie:
ph.joints.to(90);
5. Wszystkie serwomotory zostan(cid:200) ustawione w po-
zycji 90°. Teraz za(cid:239)ó(cid:285) nasadki na serwomotory
stawów biodrowych i serwomotory segmentów
udowych tak, aby otwory monta(cid:285)owe by(cid:239)y równo-
leg(cid:239)e do osi. Nie zak(cid:239)adaj nasadek na serwomo-
tory segmentów piszczelowych. Nasadki powinny
by(cid:202) za(cid:239)o(cid:285)one tak, aby otwory znalaz(cid:239)y si(cid:218) w po(cid:239)o-
(cid:285)eniu pokazanym na rysunku 5.5.
Rysunek 5.5. Serwomotor ustawiony w pozycji 90°
z poprawnie za(cid:239)o(cid:285)on(cid:200) nasadk(cid:200)
88
5. Sterowanie heksapodem za pomoc(cid:200) platformy Johnny-Five
Poleć książkęKup książkę 5. Pod(cid:239)(cid:200)cz p(cid:239)ytk(cid:218) Arduino do komputera i akumu-
latory do nak(cid:239)adki, uruchom program phoenix.js
i ustaw wszystkie serwomotory w pozycji 90°.
Pami(cid:218)taj, (cid:285)e na razie zajmujesz si(cid:218) tylko stawami
biodrowymi.
6. Obró(cid:202) serwomotory stawów biodrowych tak, aby
nasadki na serwomotorach segmentów udowych
by(cid:239)y skierowane w przód, a otwory monta(cid:285)owe
w nasadkach by(cid:239)y dopasowane do otworów
w rusztowaniu. Serwomotory stawów biodrowych
nie musz(cid:200) by(cid:202) umieszczone pod idealnym k(cid:200)tem
w stosunku do szkieletu. Nie przejmuj si(cid:218), dopa-
sujesz je pó(cid:283)niej.
7. Po(cid:239)(cid:200)cz nasadki ze szkieletem za pomoc(cid:200) wkr(cid:218)tów,
ale jeszcze ich nie dokr(cid:218)caj.
8. Od(cid:239)(cid:200)cz przewód USB i przewody zasilaj(cid:200)ce,
a nast(cid:218)pnie dokr(cid:218)(cid:202) wszystkie cztery wkr(cid:218)ty
w ka(cid:285)dej nasadce serwomotoru.
9. Wykonaj kroki 1. – 8. dla nóg przednich (R1 i L1).
Zwró(cid:202) uwag(cid:218), (cid:285)e otwory monta(cid:285)owe w nasadce
serwomotoru stawu biodrowego s(cid:200) obrócone pod
k(cid:200)tem 45°. Oba segmenty udowe b(cid:218)d(cid:200) ustawione
pod k(cid:200)tem 45° w kierunku na wprost heksapoda.
10. Na koniec powtórz kroki 1. – 8. dla nóg tylnych
(R3 i L3). Otwory monta(cid:285)owe równie(cid:285) b(cid:218)d(cid:200) obró-
cone o 45°. Oba segmenty udowe b(cid:218)d(cid:200) usta-
wione pod k(cid:200)tem 45° w kierunku do ty(cid:239)u hek-
sapoda.
11. Uruchom program phoenix.js i przymocuj nasadki
do serwomotorów segmentów udowych ustawio-
nych w pozycji 90°.
12. Od(cid:239)(cid:200)cz przewód USB i przewody zasilaj(cid:200)ce.
13. Dokr(cid:218)(cid:202) cztery wkr(cid:218)ty w ka(cid:285)dej nasadce serwo-
motoru.
Rysunek 5.7 przedstawia efekt dotychczasowej pracy.
Rysunek 5.7. Szkielet robota ze wszystkimi
sze(cid:258)cioma stawami biodrowymi
2. Do segmentów udowych powinny ju(cid:285) by(cid:202) przy-
mocowane nasadki. Za(cid:239)ó(cid:285) je na serwomotory
segmentów udowych wszystkich sze(cid:258)ciu nóg.
Segmenty udowe b(cid:218)d(cid:200) ustawione na wprost, nie-
mal równolegle do pod(cid:239)o(cid:285)a.
3. Zatrzymaj program phoenix.js, naciskaj(cid:200)c klawisze
Ctrl+C, i od(cid:239)(cid:200)cz p(cid:239)ytk(cid:218) Arduino od komputera.
Teraz mo(cid:285)esz bezpiecznie przykr(cid:218)ci(cid:202) segmenty
udowe do serwomotorów. Rysunek 5.8 przed-
stawia zamontowane segmenty.
Rysunek 5.8. Wszystkie segmenty udowe ju(cid:285)
zamontowane
Monta(cid:285) segmentów udowych
Aby zamontowa(cid:202) segmenty udowe, wykonaj nast(cid:218)-
puj(cid:200)ce czynno(cid:258)ci:
1. Uruchom program phoenix.js i ustaw wszystkie
serwomotory w pozycji 90°.
Monta(cid:285) segmentów
piszczelowych
Monta(cid:285) jest prawie zako(cid:241)czony, pozosta(cid:239)y tylko seg-
menty piszczelowe. Wykonaj nast(cid:218)puj(cid:200)ce czynno(cid:258)ci:
Monta(cid:285) robota
89
Poleć książkęKup książkę 1. Przymocuj sze(cid:258)(cid:202) segmentów piszczelowych do
serwomotorów. Zwró(cid:202) uwag(cid:218), (cid:285)e trzy elementy
s(cid:200) lustrzanymi odbiciami trzech innych.
2. Pod(cid:2
Pobierz darmowy fragment (pdf)