Układ napędowy#
Wstęp#
Robot VEX V5 wykorzystuje układ napędowy do jazdy i skręcania. Układ napędowy składa się z silników i kół, które współpracują ze sobą, aby poruszać robotem.
Skonfigurowany układ napędowy może wykorzystywać czujnik bezwładnościowy, czujnik GPS, czujnik żyroskopowy lub nie posiadać żadnego czujnika. Po użyciu czujnika układ napędowy pomaga robotowi precyzyjnie poruszać się i skręcać. Na początku każdego projektu układ napędowy automatycznie kalibruje czujnik. Podczas kalibracji należy unieruchomić robota, aby mógł on poruszać się i skręcać prawidłowo.
Istnieje wiele sposobów kodowania układu napędowego. Ta strona używa przykładowej nazwy układu napędowego drivetrain W razie potrzeby zastąp ją własną, skonfigurowaną nazwą.
Poniżej znajduje się lista wszystkich metod napędu:
Akcje — poruszanie i obracanie robotem.
drive— Przesuwa robota do przodu lub do tyłu w nieskończoność.drive_for— Przesuwa robota do przodu lub do tyłu na określoną odległość.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.turn_to_rotation— Obraca robota o określoną wartość.stop— Zatrzymuje ruch robota.calibrate_drivetrain– Kalibruje czujnik skonfigurowany z układem napędowym.
Mutatory — Dostosuj ustawienia układu napędowego.
set_drive_velocity— Informuje robota, z jaką prędkością ma jechać.set_turn_velocity— Informuje robota, jak szybko ma skręcić.set_stopping— Informuje, w jaki sposób robot zatrzyma się: poprzez hamowanie, jazdę bez obciążenia lub przytrzymanie.set_timeout— Ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch.set_heading— Zmienia aktualny kierunek robota na nowy kierunek.set_rotation— Zmienia aktualny obrót robota na nowy obrót.set_turn_threshold– Informuje, jak blisko robot musi się znaleźć pod kątem docelowym, aby zakończyć obrót.set_turn_constant– Zmienia siłę, z jaką robot koryguje swoje obroty.set_turn_direction_reverse– Zmienia, czy kierunek skrętu inteligentnego układu napędowego jest odwrócony.
Getters — sprawdź stan układu napędowego.
is_done— Zwraca wartość logiczną informującą, czy robot zakończył ruch.is_moving— Zwraca wartość logiczną informującą, czy robot się porusza.heading— Zwraca aktualny kierunek robota od 0 do 359,99 stopni.rotation— Zwraca aktualny obrót robota.velocity— Zwraca prędkość, z jaką porusza się robot.current— Zwraca ilość prądu elektrycznego zużywanego przez układ napędowy.power— Zwraca informację o tym, jak szybko układ napędowy zużywa energię.torque— Zwraca informację o tym, jaki moment obrotowy wykorzystuje układ napędowy.efficiency— Zwraca informację o tym, jak efektywnie układ napędowy wykorzystuje moc.temperature— Zwraca informację o tym, jak ciepły jest układ napędowy.get_timeout– Zwraca aktualne ustawienie limitu czasu.
Konstruktorzy – ręczne tworzenie i konfiguracja układu napędowego.
DriveTrain– Tworzy układ napędowy bez Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego.SmartDrive– Tworzy układ napędowy skonfigurowany z Czujnikiem bezwładnościowym, Czujnikiem GPS lub Czujnikiem żyroskopowym.
Akcje#
drive#
Napęd drive porusza robota do przodu lub do tyłu w nieskończoność. Robot będzie się poruszał, dopóki nie zostanie mu przydzielona inna czynność, taka jak obrót lub zatrzymanie. W przypadku obrotów na minutę (RPM) lub stopni na sekundę, limit jest zmieniany przez przełożenie układu napędowego.
Usage:
drivetrain.drive(direction, velocity, units)
Parametry |
Opis |
|---|---|
|
Kierunek, w którym porusza się robot: |
|
Opcjonalnie. Prędkość jazdy od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward at 360 degrees per second
drivetrain.drive(FORWARD, 360.0, VelocityUnits.DPS)
drive_for#
drive_for przesuwa robota do przodu lub do tyłu o określoną odległość. Projekt będzie czekał, aż robot zakończy ruch, zanim uruchomi się kolejny wiersz kodu. W przypadku obrotów na minutę (RPM) lub stopni na sekundę limit jest zmieniany przez przełożenie układu napędowego.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parametry |
Opis |
|---|---|
|
Kierunek, w którym porusza się robot: |
|
Odległość pokonywana przez robota. Może to być liczba całkowita |
|
Opcjonalnie. Jednostka odległości: |
|
Opcjonalnie. Prędkość jazdy od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
|
Opcjonalnie. |
# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)
turn#
turn obraca robota w lewo lub w prawo w nieskończoność. Robot będzie się obracał, dopóki nie zostanie mu przydzielona inna czynność, taka jak jazda lub zatrzymanie. W przypadku obrotów na minutę (RPM) lub stopni na sekundę limit jest zmieniany przez przełożenie układu napędowego.
Usage:
drivetrain.turn(direction, velocity, units)
Parametry |
Opis |
|---|---|
|
Kierunek, w którym obraca się robot: |
|
Opcjonalnie. Prędkość obrotu od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
turn_for obraca robota w lewo lub w prawo o określoną liczbę stopni. Obrót jest względny względem aktualnej pozycji robota. Projekt będzie czekał, aż robot zakończy obrót, zanim uruchomi się kolejny wiersz kodu. W przypadku obrotów na minutę (RPM) lub stopni na sekundę limit jest zmieniany przez przełożenie układu napędowego.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parametry |
Opis |
|---|---|
|
Kierunek, w którym obraca się robot: |
|
Liczba stopni, o jaką obróci się robot. Może to być liczba całkowita |
|
Opcjonalnie. Jednostka obrotu: |
|
Opcjonalnie. Prędkość obrotu od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
|
Opcjonalnie. |
# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)
turn_to_heading#
Kurs to kierunek, w którym zwrócony jest robot, mierzony w stopniach. 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 kurs.
Początkowy kierunek robota wynosi 0 stopni.
Projekt będzie czekał, aż robot zakończy obracanie się, zanim zostanie uruchomiony kolejny wiersz kodu.
Uwaga: Ta funkcja jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parametry |
Opis |
|---|---|
|
Kierunek, w którym robot powinien być zwrócony, wyrażony w stopniach. Może to być liczba całkowita |
|
Opcjonalnie. Jednostka nagłówka: |
|
Opcjonalnie. Prędkość obrotu od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
|
Opcjonalnie. |
# Turn to face the cardinal directions
drivetrain.turn_to_heading(90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(270, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_heading(0, DEGREES)
# Turn twice slowly
drivetrain.turn_to_heading(90, DEGREES, 20, PERCENT)
wait(1, SECONDS)
drivetrain.turn_to_heading(180, DEGREES, 20, PERCENT)
turn_to_rotation#
turn_to_rotation obraca robota o określoną wartość.
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ą metody set_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.
Projekt będzie czekał, aż robot zakończy obracanie się, zanim zostanie uruchomiony kolejny wiersz kodu.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parametry |
Opis |
|---|---|
|
Wartość obrotu, w stopniach lub obrotach, o którą obróci się robot. Może to być liczba całkowita |
|
Opcjonalnie. Jednostka obrotu: |
|
Opcjonalnie. Prędkość obrotu od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
|
Opcjonalnie. |
# Turn left, then spin in a circle clockwise and face right
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES)
# Turn left then slowly spin in a circle clockwise
drivetrain.turn_to_rotation(-90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_to_rotation(450, DEGREES, 20, PERCENT)
stop#
stop zatrzymuje ruch robota.
Usage:
drivetrain.stop(mode)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jak robot się zatrzyma:
|
# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
calibrate_drivetrain#
calibrate_drivetrain to wbudowana funkcja, która kalibruje skonfigurowany Czujnik bezwładnościowy, Czujnik GPS lub Czujnik żyroskopowy układu napędowego.
Kalibracja pomaga czujnikowi prawidłowo mierzyć ruch. Podczas kalibracji należy utrzymać robota w bezruchu przez około 2 sekundy. Jeśli robot porusza się podczas kalibracji, czujnik może nieprawidłowo mierzyć ruch.
Projekt zaczeka na zakończenie kalibracji przed uruchomieniem kolejnej linii kodu.
Uwaga: Ta funkcja jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
calibrate_drivetrain()
Parametry |
Opis |
|---|---|
Ta funkcja nie ma żadnych parametrów. |
Mutatory#
set_drive_velocity#
set_drive_velocity określa prędkość, z jaką robot ma jechać. Wyższy procent powoduje, że robot jedzie szybciej, a niższy – że jedzie wolniej. W przypadku obrotów na minutę lub stopni na sekundę limit jest zmieniany przez przełożenie układu napędowego.
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 może być bardziej precyzyjny.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parametry |
Opis |
|---|---|
|
Prędkość jazdy od 0% do 100% przy użyciu |
|
Opcjonalnie. Jednostka prędkości: |
# Drive forward at the default velocity
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 100, MM)
wait(1, SECONDS)
set_turn_velocity#
set_turn_velocity określa, jak szybko robot ma się skręcić. Wyższy procent powoduje, że robot skręca szybciej, a niższy – że skręca wolniej. W przypadku obrotów na minutę (RPM) lub stopni na sekundę limit jest zmieniany przez przełożenie układu napędowego.
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 może być bardziej precyzyjny.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parametry |
Opis |
|---|---|
|
Prędkość obrotu od 0% do 100% przy użyciu opcji |
|
Opcjonalnie. Jednostka prędkości: |
# Turn at the default velocity
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 100)
wait(1, SECONDS)
set_stopping#
set_stopping ustawia sposób zatrzymania robota: poprzez hamowanie, jazdę bez obciążenia lub przytrzymywanie.
Usage:
drivetrain.set_stopping(mode)
Parametry |
Opis |
|---|---|
|
Jak robot się zatrzyma:
|
Jeśli ta metoda nie zostanie użyta, robot będzie używał hamulca BRAKE podczas zatrzymywania.
set_timeout#
set_timeout ustawia liczbę sekund, przez które robot będzie próbował zakończyć ruch. Jeśli robot nie zdoła zakończyć ruchu w tym czasie, przerwie próby i przejdzie do następnego wiersza kodu. Zapobiega to zablokowaniu ruchu przez robota.
Usage:
drivetrain.set_timeout(value, units)
Parametry |
Opis |
|---|---|
|
Czas, w którym robot może próbować zakończyć ruch. Może to być dodatnia liczba całkowita |
|
Opcjonalnie. Jednostka czasu: |
set_heading#
Kierunek to kierunek, w którym zwrócony jest robot, mierzony w stopniach. set_heading zmienia bieżący kierunek robota na nową wartość kierunku.
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.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.set_heading(heading, units)
Parametry |
Opis |
|---|---|
|
Wartość kierunku w stopniach lub obrotach, którą należy ustawić dla robota. Może to być |
|
Opcjonalnie. Jednostka nagłówka: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. set_rotation 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ść.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.set_rotation(rotation, units)
Parametry |
Opis |
|---|---|
|
Wartość obrotu, w stopniach lub obrotach, do ustawienia dla robota. Może to być |
|
Opcjonalnie. Jednostka obrotu: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold ustawia, jak blisko robot musi się znaleźć pod kątem docelowym, aby zakończyć obrót.
Niższy próg może zwiększyć precyzję skrętów, ale robot może potrzebować więcej czasu na ich wykonanie. Wyższy próg może przyspieszyć wykonywanie skrętów, ale mogą one być mniej precyzyjne.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.set_turn_threshold(value)
Parametry |
Opis |
|---|---|
|
Próg obrotu w stopniach. Może to być liczba całkowita |
set_turn_constant#
set_turn_constant zmienia siłę, z jaką robot koryguje swoje obroty.
Wyższa wartość sprawia, że robot wykonuje skręty z większą siłą. Niższa wartość sprawia, że robot wykonuje skręty z mniejszą siłą. Wartość domyślna to 1,0.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.set_turn_constant(value)
Parametry |
Opis |
|---|---|
|
Stała obrotu. Może to być liczba dziesiętna ( |
set_turn_direction_reverse#
set_turn_direction_reverse zmienia, czy kierunek skrętu inteligentnego układu napędowego jest odwrócony.
Można tego użyć, jeśli układ napędowy obraca się w kierunku przeciwnym niż oczekiwano po ręcznej konfiguracji w kodzie. Ta metoda działa tak samo, jak ustawienie parametru reverse na True podczas konstruowania napędu SmartDrive SmartDrive.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.set_turn_direction_reverse(value)
Parametry |
Opis |
|---|---|
|
Czy odwrócić kierunek skrętu inteligentnego układu napędowego: |
Getters#
is_done#
is_done zwraca wartość logiczną, czy robot zakończył ruch. Można jej użyć do kontrolowania czasu innych zachowań na podstawie ruchu robota.
True— Robot zakończył ruch.False— Robot nadal się porusza.
Ta metoda działa razem z następującymi metodami Drivetrain, które mają parametr wait wait : drive_for, turn_for, turn_to_heading i turn_to_rotation.
Usage:
drivetrain.is_done()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
is_moving#
is_moving zwraca wartość logiczną, czy robot się porusza. Można jej użyć do kontrolowania czasu innych zachowań na podstawie ruchu robota.
True— Robot się porusza.False— Robot się nie porusza.
Użycie:
drivetrain.is_moving()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
heading#
Kurs to kierunek, w którym zwrócony jest robot, mierzony w stopniach. heading zwraca aktualny kurs robota z zakresu od 0 do 359,99 stopnia.
Początkowy kierunek robota wynosi 0 stopni.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.heading(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka, w której ma powrócić, ma kurs: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
Obrót to wartość obrotu robota, mierzona w stopniach. Na początku projektu wartość obrotu jest ustawiona na 0 stopni. rotation zwraca 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 obrotów w prawo spowoduje obrót o 720 stopni.
Uwaga: Ta metoda jest dostępna tylko wtedy, gdy układ napędowy jest skonfigurowany przy użyciu Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego w oknie Urządzenia.
Usage:
drivetrain.rotation(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka, w której następuje obrót: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
velocity zwraca informację o tym, jak szybko porusza się robot.
Prędkość może być podana w procentach od -100% do 100%, w RPMlub w VelocityUnits.DPS (stopniach na sekundę). Wartość dodatnia oznacza, że robot jedzie do przodu. Wartość ujemna oznacza, że robot jedzie do tyłu.
Usage:
drivetrain.velocity(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka prędkości: |
current#
current zwraca natężenie prądu elektrycznego pobieranego przez układ napędowy, mierzone w amperach. Natężenie prądu to ilość prądu przepływającego przez układ napędowy.
Wyższa wartość prądu oznacza, że układ napędowy zużywa więcej prądu. Może się to zdarzyć, gdy robot naciska na obiekt lub próbuje się poruszyć, gdy utknie.
Można tego użyć, aby sprawdzić, czy układ napędowy ma problemy podczas ruchu. Jeśli prąd utrzymuje się na wysokim poziomie, układ napędowy może się nagrzewać lub zużywać energię mniej efektywnie.
Usage:
drivetrain.current(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka, w której ma być zwrócony prąd: |
power#
power zwraca moc zużywaną przez układ napędowy, mierzoną w watach. Power pokazuje, jak szybko układ napędowy zużywa energię.
Wyższa wartość mocy oznacza, że układ napędowy zużywa energię szybciej. Może się to zdarzyć, gdy robot naciska na obiekt lub próbuje się poruszyć, gdy utknie.
Można tego użyć do porównania ruchów lub sprawdzenia, czy układ napędowy ma problemy. Jeśli moc utrzymuje się na wysokim poziomie, układ napędowy może się nagrzewać lub zużywać energię mniej efektywnie.
Usage:
drivetrain.power()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
torque#
Moment obrotowy pokazuje, jak mocno układ napędowy może pchać lub ciągnąć, gdy koła się kręcą.
torque zwraca wartość momentu obrotowego wykorzystywanego przez układ napędowy, mierzoną w niutonometrach (Nm) lub funtach na cal (InLb).
Wyższy moment obrotowy oznacza, że układ napędowy pcha lub ciągnie mocniej. Może się tak zdarzyć, gdy robot pcha obiekt lub próbuje się poruszyć, gdy utknie.
Można tego użyć, aby sprawdzić, czy układ napędowy ma problemy lub porównać, ile siły nacisku potrzeba przy różnych ruchach.
Usage:
drivetrain.torque(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka momentu obrotowego: |
efficiency#
efficiency zwraca informację o tym, jak efektywnie układ napędowy wykorzystuje moc, w procentach od 0% do 100%.
Sprawność pokazuje, jaka część mocy układu napędowego jest wykorzystywana do poruszania się. Wyższa wartość sprawności oznacza, że większa część mocy układu napędowego jest wykorzystywana do poruszania się. Niższa wartość sprawności może wystąpić, gdy układ napędowy intensywnie pracuje, ale porusza się nieznacznie, na przykład gdy robot utknął lub popycha obiekt.
Można tego użyć do porównania ruchów lub sprawdzenia, czy układ napędowy marnuje moc zamiast wykorzystać ją do ruchu.
Usage:
drivetrain.efficiency()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
temperature#
temperature zwraca średnią temperaturę układu napędowego w wybranej jednostce temperatury.
Temperatura wskazuje, jak ciepłe są silniki układu napędowego. Wyższa temperatura oznacza, że silniki nagrzewają się podczas pracy. Aby silniki pracowały z pełną wydajnością, ich temperatura powinna utrzymywać się poniżej 55°C.
Jeśli silniki się przegrzeją, obniżą maksymalny prąd, aby się zabezpieczyć. Przy temperaturze 70°C silniki przestaną pracować do momentu ostygnięcia.
Można tego użyć, aby sprawdzić, czy układ napędowy nie nagrzewa się zbytnio podczas powtarzających się ruchów, długich przejazdów lub gdy naciska na jakiś obiekt.
Usage:
drivetrain.temperature(units)
Parametry |
Opis |
|---|---|
|
Opcjonalnie. Jednostka temperatury, w której ma być zwrócona: |
get_timeout#
get_timeout zwraca aktualnie ustawiony timeout w milisekundach.
Usage:
drivetrain.get_timeout()
Parametry |
Opis |
|---|---|
Ta metoda nie ma żadnych parametrów. |
Konstruktorzy#
Konstruktory służą do ręcznego tworzenia obiektów DriveTrain i SmartDrive , które są niezbędne do konfiguracji układu napędowego poza VEXcode.
Przed utworzeniem układu napędowego należy utworzyć co najmniej dwa obiekty Motor lub MotorGroup.
DriveTrain#
DriveTrain tworzy układ napędowy bez Czujnika bezwładnościowego, Czujnika GPS lub Czujnika żyroskopowego.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametr |
Opis |
|---|---|
|
Lewy silnik lub grupa silników. |
|
Prawy silnik lub grupa silników. |
|
Opcjonalnie. Obwód kół napędowych. Domyślnie 300 milimetrów. |
|
Opcjonalnie. Szerokość między lewym a prawym kołem. Domyślnie 320 milimetrów. |
|
Opcjonalnie. Odległość między przednimi i tylnymi kołami. Domyślnie 320 milimetrów. |
|
Opcjonalnie. Jednostka dla |
|
Opcjonalnie. Przełożenie używane do regulacji odległości jazdy, jeśli używane są przekładnie. Może to być |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a drivetrain with default values
drivetrain = DriveTrain(left_motor, right_motor)
# Create the motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = DriveTrain(left_motor, right_motor, 319.19, 295, 40, MM, 1)
SmartDrive#
SmartDrive tworzy układ napędowy skonfigurowany z Czujnikiem bezwładnościowym, Czujnikiem GPS lub Czujnikiem żyroskopowym.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametr |
Opis |
|---|---|
|
Lewy silnik lub grupa silników. |
|
Prawy silnik lub grupa silników. |
|
Czujnik bezwładnościowy, Czujnik GPS lub Czujnik żyroskopowy używany przez układ napędowy. |
|
Opcjonalnie. Obwód kół napędowych. Domyślnie 300 milimetrów. |
|
Opcjonalnie. Szerokość między lewym a prawym kołem. Domyślnie 320 milimetrów. |
|
Opcjonalnie. Odległość między przednimi i tylnymi kołami. Domyślnie 320 milimetrów. |
|
Opcjonalnie. Jednostka dla |
|
Opcjonalnie. Przełożenie używane do regulacji odległości jazdy, jeśli używane są przekładnie. Może to być |
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
# Create a drivetrain with default values
drivetrain = SmartDrive(left_motor, right_motor, gyro_a)
# Create the Motors
left_motor = Motor(Ports.PORT1, GearSetting.RATIO_18_1, False)
right_motor = Motor(Ports.PORT2, GearSetting.RATIO_18_1, True)
# Create a Gyro Sensor in Port A
gyro_a = Gyro(brain.three_wire_port.a)
"""
Create a drivetrain with the following values:
- wheelTravel = 319.19
- trackWidth = 295
- wheelBase = 40
- units = MM (Millimeters)
- externalGearRatio - 1
"""
drivetrain = SmartDrive(left_motor, right_motor, gyro_a, 319.19, 295, 40, MM, 1)