Układ napędowy#

Wstęp#

Układ napędowy obejmuje koła i silniki, które sterują jazdą i skręcaniem robota. Układy napędowe można znaleźć w takich zestawach jak Code Base 2.0, Super Car czy w niestandardowych robotach.

Układy napędowe wykorzystują Czujnik bezwładności w mózgu do wykrywania kolizji i wspomagania precyzyjnego poruszania się i skręcania robota. Na początku każdego projektu układ napędowy automatycznie kalibruje czujnik bezwładności. Podczas kalibracji należy unieruchomić robota na około 2 sekundy, aby mógł on poruszać się i skręcać prawidłowo.

Istnieje wiele sposobów kodowania układu napędowego. Poniżej znajduje się lista wszystkich bloków układu napędowego:

Akcje — poruszanie i obracanie robotem.

  • drive — Przesuwa robota do przodu lub do tyłu w nieskończoność.

  • napęd — Przesuwa robota do przodu lub do tyłu na określoną odległość.

  • jedź dopóki — Przesuwa robota do przodu lub do tyłu, aż czujnik oka wykryje obiekt lub robot wykryje zderzenie.

  • turn — Obraca robota w lewo lub prawo na zawsze.

  • turn for — Obraca robota w lewo lub prawo o określoną liczbę stopni.

  • turn to heading — Obraca robota w kierunku określonego kierunku od -359 do 359 stopni. Robot obróci się w najkrótszym kierunku, aby osiągnąć docelowy kierunek.

  • obróć do obrotu — Obraca robota o określoną wartość.

  • zatrzymaj jazdę — Zatrzymuje ruch robota.

Ustawienia — Dostosuj ustawienia układu napędowego.

Wartości — Sprawdź status ruchu.

Akcje#

prowadzić#

Blok stosu drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie otrzyma innej akcji, takiej jak obrót lub zatrzymanie.

jedź [do przodu v]

Parametry

Opis

kierunek

Kierunek, w którym porusza się robot: do przodu lub do tyłu.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jedź [do przodu v]
czekaj (2) sekund
zatrzymaj jazdę

jechać do#

Blok napędu przesuwa robota do przodu lub do tyłu o określoną odległość. Projekt będzie czekał, aż robot zakończy ruch, zanim zostanie uruchomiony kolejny blok w stosie.

jedź [do przodu v] przez [100] [mm v] ▶

Parametry

Opis

kierunek

Kierunek, w którym porusza się robot: do przodu lub do tyłu.

dystans

Odległość pokonywana przez robota. Może być liczbą całkowitą lub dziesiętną.

jednostka

Jednostka odległości: mm (milimetry) lub cale.

i nie czekaj

Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive back and forth.]
jedź [do przodu v] przez [100] [mm v] ▶
jedź [wstecz v] przez [4] [cale v] ▶

jechać aż#

Blok napędu do przesuwa robota do przodu lub do tyłu, dopóki czujnik oka nie wykryje obiektu lub robot nie wykryje zderzenia.

jedź [do przodu v] dopóki [obiekt v] ▶

Parametry

Opis

kierunek

Kierunek, w którym porusza się robot: do przodu lub do tyłu.

stan

Warunkiem zatrzymania robota jest obiekt lub awaria.

i nie czekaj

Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right after a crash.]
jedź [do przodu v] dopóki [zderzenie v] ▶
skręć [w prawo v] o (90) stopni ▶

zakręt#

Blok turn obraca robota w lewo lub w prawo w nieskończoność. Robot będzie się obracał, dopóki nie zostanie mu przydzielona inna czynność, np. jazda do zatrzymania.

skręć [w prawo v]

Parametry

Opis

kierunek

Kierunek, w którym robot się obraca: w lewo lub w prawo.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right and left, then stop.]
skręć [w prawo v]
czekaj [2] sekund
skręć [w lewo v]
czekaj [2] sekund
zatrzymaj jazdę

skręcić na#

Blok obrót w stosie obraca robota w lewo lub w prawo o określoną liczbę stopni. Obrót jest względny do bieżącej pozycji robota. Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok w stosie.

skręć [w prawo v] o (90) stopni ▶

Parametry

Opis

kierunek

Kierunek, w którym robot się obraca: w lewo lub w prawo.

kąt

Liczba stopni, o jaką obróci się robot. Może to być liczba całkowita lub dziesiętna.

i nie czekaj

Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn right then left.]
skręć [w prawo v] o (90) stopni ▶
skręć [w lewo v] o (90) stopni ▶

skręć w stronę kierunku#

Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok stosu turn to heading obraca robota w określonym kierunku od -359 do 359 stopni. Robot obróci się w najkrótszym kierunku, aby osiągnąć docelowy kierunek.

Początkowy kurs wynosi 0 stopni.

Kod VEX GO Base 2.0 pokazujący kierunki kursu: 0 stopni do przodu, 90 stopni w prawo, 180 stopni do tyłu i 270 stopni w lewo.

Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok ze stosu.

skręć do kursu [90] stopni ▶

Parametry

Opis

nagłówek

Kierunek, w którym robot powinien być zwrócony, wyrażony liczbą całkowitą z zakresu od -359 do 359 stopni.

i nie czekaj

Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn to face the cardinal directions.]
skręć do kursu [90] stopni ▶
czekaj [1] sekund
skręć do kursu [180] stopni ▶
czekaj [1] sekund
skręć do kursu [270] stopni ▶
czekaj [1] sekund
skręć do kursu [0] stopni ▶

obrócić do obrotu#

Blok stosu obrót w celu wykonania obrotu powoduje obrót robota w określonym kierunku.

Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Obrót można również ustawić za pomocą bloku set drive rotation.

Wartości obrotu są bezwzględne. Oznacza to, że kierunek obrotu zależy od aktualnego obrotu robota. Skręt w prawo zwiększa obrót, a w lewo zmniejsza.

Na przykład, jeśli robot zaczyna od 0 stopni i obrócisz go o 720 stopni, skręci w prawo dwa razy. Jeśli następnie obrócisz go o 360 stopni, skręci raz w lewo, ponieważ 360 stopni to mniej niż 720.

Kod VEX GO Base 2.0 ze strzałkami obracającymi się w prawo i w lewo. Lewa strzałka pokazuje „minus”, a prawa „plus”.

Projekt będzie czekał, aż robot zakończy obrót, zanim zostanie uruchomiony kolejny blok ze stosu.

skręć do obrotu (90) stopni ▶

Parametry

Opis

obrót

Wartość obrotu, w stopniach, o jaką obróci się robot. Może to być liczba całkowita.

i nie czekaj

Wybierz strzałkę (▶), aby rozwinąć blok i napisać i nie czekaj, dzięki czemu następny blok w stosie zostanie uruchomiony natychmiast.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Make one full turn to the right.]
skręć do obrotu [360] stopni ▶
[Make another full turn to the right.]
skręć do obrotu [720] stopni ▶
[Make one full turn to the left, returning to 360 degrees.]
skręć do obrotu [360] stopni ▶

przestań prowadzić#

Blok stosu stop driving zatrzymuje ruch robota.

zatrzymaj jazdę

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive forward then stop.]
jedź [do przodu v]
czekaj (2) sekund
zatrzymaj jazdę

Ustawienia#

ustaw prędkość napędu#

Blok stosu ustaw prędkość jazdy informuje robota, jak szybko ma jechać. Wyższy procent sprawia, że ​​robot jedzie szybciej, a niższy – wolniej.

Każdy projekt rozpoczyna się od tego, że robot domyślnie porusza się z prędkością równą 50%.

Uwaga: Większa prędkość sprawia, że ​​robot jedzie szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że ​​robot jedzie wolniej, ale jest bardziej precyzyjny.

ustaw prędkość jazdy na (50) %

Parametry

Opis

prędkość

Prędkość jazdy od 0% do 100%.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive at different velocities.]
jedź [do przodu v] przez [100] [mm v] ▶
czekaj [1] sekund
[Drive slow.]
ustaw prędkość jazdy na (20) %
jedź [do przodu v] przez [100] [mm v] ▶
czekaj [1] sekund
[Drive fast.]
ustaw prędkość jazdy na (100) %
jedź [do przodu v] przez [100] [mm v] ▶

ustaw prędkość skrętu#

Blok stosu ustaw prędkość skrętu informuje robota, jak szybko ma się skręcić. Wyższy procent powoduje, że robot skręca szybciej, a niższy – że skręca wolniej.

Każdy projekt rozpoczyna się od ustawienia robota tak, aby domyślnie obracał się z prędkością równą 50%.

Uwaga: Większa prędkość sprawia, że ​​robot skręca szybciej, ale może być mniej precyzyjny. Niższa prędkość sprawia, że ​​robot skręca wolniej, ale jest bardziej precyzyjny.

ustaw prędkość obrotu na [50]%

Parametry

Opis

prędkość

Prędkość skrętu od 0% do 100%.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn at different velocities.]
skręć [w prawo v] o [180] stopni ▶
czekaj [1] sekund
[Turn fast.]
ustaw prędkość obrotu na [100]%
skręć [w prawo v] o [180] stopni ▶

ustaw zatrzymanie napędu#

Blok stosu ustaw zatrzymanie napędu określa, w jaki sposób robot zatrzyma się: poprzez hamowanie, wybieg lub przytrzymanie.

ustaw zatrzymanie jazdy na [hamulec v]

Parametry

Opis

zatrzymywanie zachowania

Jak robot się zatrzyma:

  • hamulec — zatrzymuje się natychmiast.
  • wolne tempo — zwalnia do zatrzymania.
  • przytrzymanie — zatrzymuje się natychmiast i utrzymuje pozycję kół.

Jeśli ten blok nie zostanie użyty, robot użyje hamulca podczas zatrzymywania.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive, then coast to a stop.]
ustaw prędkość jazdy na (100) %
ustaw zatrzymanie jazdy na [wybieg v]
jedź [do przodu v]
czekaj [2] sekund
zatrzymaj jazdę

ustaw limit czasu dysku#

Blok stosu set drive timeout ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch. Jeśli robot nie ukończy ruchu w tym czasie, przerwie próby i przejdzie do następnego bloku w stosie. Zapobiega to zablokowaniu ruchu przez robota.

ustaw limit czasu jazdy na [1] sekund

Parametry

Opis

czas

Liczba sekund, w ciągu których robot może próbować zakończyć ruch. Może to być liczba całkowita lub dziesiętna.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Drive as far as possible for 1 second before turning right.]
ustaw limit czasu jazdy na [1] sekund
jedź [do przodu v] przez [25] [cale v] ▶
skręć [w prawo v] o [90] stopni ▶

ustaw kierunek jazdy#

Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok stosu „ustaw kierunek jazdy” zmienia aktualny kierunek robota na nową wartość.

Na przykład, jeśli robot obrócił się w prawo, ustawienie kierunku na 0 stopni spowoduje, że ta pozycja skierowana w prawo stanie się nowym 0 stopniem. Następnie robot może obrócić się w inne pozycje w oparciu o ten nowy kierunek.

ustaw kurs jazdy na [0] stopni

Parametry

Opis

nagłówek

Wartość kierunku (w stopniach), którą należy ustawić dla robota. Może to być liczba całkowita od 0 do 359.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Face the new 0 degree heading.]
ustaw kurs jazdy na [90] stopni
skręć do kursu [0] stopni ▶

ustaw obroty napędu#

Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Blok stosu „Ustaw obrót napędu” zmienia bieżący obrót robota na nową wartość.

Na przykład, jeśli robot wykonał dwa pełne obroty w prawo, jego wartość obrotu wyniesie 720 stopni. Ustawienie obrotu na 0 stopni zresetuje ten obrót z 720 do 0 stopni. Następnie robot może wykonać obrót w oparciu o tę nową wartość.

ustaw obrót jazdy na (0) stopni

Parametry

Opis

obrót

Wartość obrotu (w stopniach), którą należy ustawić dla robota. Może to być liczba całkowita.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Spin counterclockwise two times.]
ustaw obrót jazdy na [720] stopni
skręć do obrotu [0] stopni ▶

Wartości#

jazda zakończona#

Blok logiczny „napęd zakończony” informuje, czy robot zakończył ruch. Można go wykorzystać do sterowania czasem innych zachowań na podstawie ruchu robota.

  • Prawda — robot zakończył ruch.

  • Fałsz — Robot nadal się porusza.

Ten blok współpracuje z następującymi blokami układu napędowego, które mają parametr i nie czekaj: jedź do, jedź do, skręć do, skręć do kierunku i skręć do obrotu.

<jazda zakończona?>

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Turn when the drivetrain is done moving forward.]
jedź [do przodu v] przez [100] [mm v] ◀ i nie czekaj
czekaj [0.25] sekund
zawsze
jeśli <jazda zakończona?> to
skręć [w prawo v] o [180] stopni ▶
przerwij
w przeciwnym razie
wydrukuj [Still moving...] ▶
czekaj [0.1] sekund
wyczyść wszystkie wiersze

kierunek jazdy#

Kierunek to kierunek, w którym zwrócony jest mózg robota, mierzony w stopniach. Blok raportujący kierunek jazdy raportuje ten kierunek w zakresie od 0 do 359 stopni.

Początkowy kierunek robota wynosi 0 stopni.

Mózg VEX GO pokazujący kierunki: 0 stopni do przodu, 90 stopni w prawo, 180 stopni do tyłu i 270 stopni w lewo.

(kurs jazdy w stopniach)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the heading while turning.]
skręć [w prawo v] o [450] stopni ◀ i nie czekaj
zawsze
wyczyść wszystkie wiersze
wydrukuj (kurs jazdy w stopniach) ▶
czekaj [0.1] sekund

obrót napędu#

Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. Blok raportujący Drive Rotation raportuje aktualny obrót robota.

Skręt w prawo zwiększa obrót, a skręt w lewo zmniejsza. Na przykład, wykonanie dwóch pełnych skrętów w prawo spowoduje obrót o 720 stopni.

Kod VEX GO Base 2.0 ze strzałkami obracającymi się w prawo i w lewo. Lewa strzałka pokazuje „minus”, a prawa „plus”.

(obrót jazdy w stopniach)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the rotation while turning.]
skręć [w prawo v] o [450] stopni ◀ i nie czekaj
zawsze
wyczyść wszystkie wiersze
wydrukuj (obrót jazdy w stopniach) ▶
czekaj [0.1] sekund

prędkość napędowa#

Blok reportera prędkości jazdy raportuje, jak szybko jedzie robot, w procentach od -100% do 100%.

Wartość dodatnia oznacza, że ​​robot jedzie do przodu. Wartość ujemna oznacza, że ​​robot jedzie do tyłu.

(prędkość jazdy w %)

Parametry

Opis

Ten blok nie ma żadnych parametrów.

Przykład

gdy uruchomiony :: hat events
[Build Used: Code Base 2.0]
[Display the velocity of the robot before and while moving.]
wydrukuj [Start: ] ▶
wydrukuj (prędkość jazdy w %) ▶
ustaw kursor na następny wiersz
jedź [do przodu v]
czekaj [0.5] sekund
wydrukuj [Moving: ] ▶
wydrukuj (prędkość jazdy w %) ▶
zatrzymaj jazdę