Hajtáslánc#

Bevezetés#

A VEX V5 robot hajtásláncot használ a vezetéshez és a forduláshoz. A hajtáslánc motorokból és kerekekből áll, amelyek együttesen mozgatják a robotot.

Egy konfigurált hajtáslánc használhat inerciális érzékelőt, GPS érzékelőt, giroszkóp érzékelőt, vagy egyáltalán nem használhat érzékelőt. Érzékelő használata esetén a hajtáslánc azt használja a robot pontos mozgásának és fordulásának elősegítésére. Minden projekt elején a hajtáslánc automatikusan kalibrálja az érzékelőt. A kalibrálás során tartsa mozdulatlanul a robotot, hogy a robot megfelelően mozoghasson és fordulhasson.

A hajtáslánc kódolásának számos módja van. Ez az oldal drivetrain értéket használja példaként a hajtáslánc nevére. Szükség szerint cserélje ki a saját konfigurált névre.

Az alábbiakban felsoroljuk az összes hajtáslánc-módszert:

Műveletek — A robot mozgatása és forgatása.

  • drive — A robotot előre vagy hátra mozgatja örökké.

  • drive_for — Meghatározott távolságra mozgatja a robotot előre vagy hátra.

  • turn — Örökké balra vagy jobbra forgatja a robotot.

  • turn_for — Meghatározott fokkal balra vagy jobbra forgatja a robotot.

  • turn_to_heading — A robotot egy adott irányba fordítja -359 és 359 fok között. A robot a legrövidebb irányba fordul, hogy elérje a célirányt.

  • turn_to_rotation — Meghatározott forgásirányba fordítja a robotot.

  • stop — Leállítja a robot mozgását.

  • calibrate_drivetrain – Kalibrálja a hajtáslánccal konfigurált érzékelőt.

Mutátorok – Hajtáslánc-beállítások módosítása.

  • set_drive_velocity — Megadja a robotnak a haladási sebességét.

  • set_turn_velocity — Megadja a robotnak, hogy milyen gyorsan forduljon.

  • set_stopping — Megadja, hogyan fog a robot leállni: fékezéssel, gurulással vagy tartással.

  • set_timeout — Beállítja, hogy a robot hány másodpercig próbálja meg befejezni a mozgást.

  • set_heading — A robot aktuális irányát egy új irányra módosítja.

  • set_rotation — A robot aktuális forgását egy új forgásra módosítja.

  • set_turn_threshold – Megadja, hogy a robotnak milyen közel kell kerülnie egy célszöghöz, mielőtt a fordulás befejeződne.

  • set_turn_constant – Megváltoztatja, hogy a robot milyen erősen korrigálja a fordulatait.

  • set_turn_direction_reverse – Megváltoztatja, hogy az intelligens hajtáslánc forgásiránya megfordul-e.

Getterek – A hajtáslánc állapotának ellenőrzése.

  • is_done — Logikai értékként adja vissza, hogy a robot befejezte-e a mozgást.

  • is_moving — Logikai értékként adja vissza, hogy a robot mozog-e.

  • heading — Visszaadja a robot aktuális irányát 0 és 359,99 fok között.

  • rotation — Visszaadja a robot aktuális forgását.

  • velocity — Visszaadja a robot sebességét.

  • current — Visszaadja, hogy mennyi elektromos áramot használ a hajtáslánc.

  • power — Visszaadja, hogy a hajtáslánc milyen gyorsan használja fel az energiát.

  • torque — Visszaadja, hogy mennyi nyomatékot használ a hajtáslánc.

  • efficiency — Visszaadja, hogy a hajtáslánc mennyire hatékonyan használja fel az energiát.

  • temperature — Visszaadja a hajtáslánc melegedését.

  • get_timeout – Visszaadja az aktuális időtúllépési beállítást.

Konstruktorok – A hajtáslánc manuális létrehozása és konfigurálása.

Műveletek#

drive#

drive örökre előre vagy hátra mozgatja a robotot. A robot addig mozog, amíg egy másik műveletet nem kap, például fordulást vagy megállást. A fordulatszám vagy a másodpercenkénti fokszám határértékét a hajtáslánc áttétele változtatja.

Usage:
drivetrain.drive(direction, velocity, units)

Paraméterek

Leírás

direction

A robot mozgásiránya: FORWARD vagy REVERSE.

velocity

Opcionális. A robot által vezérelt sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális sebességgel halad.

units

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

# 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 paraméterrel a robot előre vagy hátra mozgatható egy adott távolságra. A projekt megvárja, amíg a robot befejezi a mozgást, mielőtt a következő kódsort futtatná. RPM vagy fok/másodperc esetén a korlátot a hajtáslánc áttétele változtatja.

Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)

Paraméterek

Leírás

direction

A robot mozgásiránya: FORWARD vagy REVERSE.

distance

A robot által megtett távolság. Ez lehet integer vagy decimális (float).

units

Opcionális. A távolság mértékegysége: INCHES (alapértelmezett) vagy MM (milliméter).

velocity

Opcionális. A robot által vezérelt sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális sebességgel halad.

units_v

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

wait

Opcionális. wait=True (alapértelmezett) esetén a projekt megvárja, amíg a robot befejezi a mozgást, mielőtt a következő kódsor lefutna. wait=False esetén a következő kódsor azonnal lefut.

# Drive forwards and backwards
drivetrain.drive_for(FORWARD, 5)
wait(1, SECONDS)
drivetrain.drive_for(REVERSE, 5)

turn#

turn A robotot balra vagy jobbra forgatja örökre. A robot addig forog, amíg egy másik műveletet nem kap, például elmozdulást vagy megállást. A fordulatszám vagy a másodpercenkénti fokszám határértékét a hajtáslánc áttétele változtatja.

Usage:
drivetrain.turn(direction, velocity, units)

Paraméterek

Leírás

direction

A robot fordulási iránya: LEFT vagy RIGHT.

velocity

Opcionális. A fordulási sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális fordulási sebességgel forog.

units

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

# Turn right, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.stop()

turn_for#

turn_for paraméterrel a robot balra vagy jobbra forgatható egy adott fokkal. A fordulat a robot aktuális pozíciójához viszonyítva értendő. A projekt megvárja, amíg a robot befejezi a fordulást, mielőtt a következő kódsort futtatná. RPM vagy fok/másodperc esetén a határértéket a hajtáslánc áttétele módosítja.

Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)

Paraméterek

Leírás

direction

A robot fordulási iránya: LEFT vagy RIGHT.

angle

A robot fordulatainak száma fokokban. Ez lehet integer vagy decimális (float).

units

Opcionális. A fordulás mértékegysége: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

velocity

Opcionális. A fordulási sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális fordulási sebességgel forog.

units_v

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

wait

Opcionális. wait=True (alapértelmezett) esetén a projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsor lefutna. wait=False esetén a következő kódsor azonnal lefut.

# Turn left, then turn around to the right
drivetrain.turn_for(LEFT, 90)
drivetrain.turn_for(RIGHT, 180)

turn_to_heading#

A haladási irány az az irány, amerre a robot néz, fokban mérve. turn_to_heading A „turn_to_heading” (fordulás) beállításnál az 1-es érték a robotot egy adott, -359 és 359 fok közötti irányba fordítja. A robot a legrövidebb irányba fordul, hogy elérje a célirányt.

A robot kezdő iránya 0 fok.

A projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsort futtatná.

Megjegyzés: Ez a funkció csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor beállítással az Eszközök ablakban.

Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)

Paraméterek

Leírás

angle

Az irány, amerre a robotnak néznie kell, fokban. Ez lehet egy integer vagy decimális szám (float) -359 és 359 között.

units

Opcionális. Az irány mértékegysége: DEGREES (alapértelmezett).

velocity

Opcionális. A fordulási sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális fordulási sebességgel forog.

units_v

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

wait

Opcionális. wait=True (alapértelmezett) esetén a projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsor lefutna. wait=False esetén a következő kódsor azonnal lefut.

# 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 A robotot egy adott forgáspontra fordítja.

A forgatás a robot elfordulásának mértékét adja meg fokban mérve. A projekt elején a forgatás értéke 0 fok. A forgatás a set_rotation metódussal is beállítható.

A forgási értékek abszolútak. Ez azt jelenti, hogy a fordulat iránya a robot aktuális forgásától függ. Jobbra forgatás növeli, balra forgatás csökkenti a forgást.

Például, ha a robot 0 fokról indul, és 720 fokos elfordulást érünk el, akkor kétszer fordul jobbra. Ha ezután 360 fokos elfordulást végzünk, akkor egyszer fordul balra, mert a 360 fok kisebb, mint a 720 fok.

A projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsort futtatná.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)

Paraméterek

Leírás

angle

A robot elfordulásának értéke fokban vagy fordulatokban. Ez lehet integer vagy decimális (float).

units

Opcionális. Az elforgatás mértékegysége: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

velocity

Opcionális. A fordulási sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float). Ha nincs megadva sebesség, a robot az aktuális fordulási sebességgel forog.

units_v

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

wait

Opcionális. wait=True (alapértelmezett) esetén a projekt megvárja, amíg a robot befejezi a forgást, mielőtt a következő kódsor lefutna. wait=False esetén a következő kódsor azonnal lefut.

# 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 leállítja a robot mozgását.

Usage:
drivetrain.stop(mode)

Paraméterek

Leírás

mode

Opcionális. Hogyan álljon meg a robot: BRAKE (alapértelmezett), BRAKEvagy COAST

  • COAST — Azonnal leáll.
  • HOLD — Lassan megáll.
  • HOLD — Azonnal leáll és megtartja a kerekek helyzetét.

# Drive forward, then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()

calibrate_drivetrain#

calibrate_drivetrain egy beépített függvény, amely kalibrálja a hajtáslánc konfigurált Inertial Sensor, GPS Sensor vagy Gyro Sensor érzékelőit.

A kalibrálás segít az érzékelőnek a mozgás helyes mérésében. Tartsa a robotot mozdulatlanul körülbelül 2 másodpercig a kalibrálás során. Ha a robot elmozdul a kalibrálás során, előfordulhat, hogy az érzékelő nem méri megfelelően a mozgást.

A projekt a kalibráció befejezéséig vár, mielőtt a következő kódsort futtatná.

Megjegyzés: Ez a funkció csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor beállítással az Eszközök ablakban.

Usage:
calibrate_drivetrain()

Paraméterek

Leírás

Ennek a függvénynek nincsenek paraméterei.

Mutátorok#

set_drive_velocity#

set_drive_velocity megmondja a robotnak, hogy milyen gyorsan haladjon. Magasabb százalékos érték esetén a robot gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban halad. Az RPM vagy fok/másodperc értékét a hajtáslánc áttétele határozza meg.

Minden projekt azzal kezdődik, hogy a robot alapértelmezés szerint 50%-os sebességgel halad.

Megjegyzés: A nagyobb sebesség gyorsabbá teszi a robotot, de kevésbé pontos lehet. Az alacsonyabb sebesség lassabbá teszi a robotot, de pontosabb lehet.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Paraméterek

Leírás

velocity

A hajtandó sebesség 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float).

units

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

# 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 megmondja a robotnak, hogy milyen gyorsan forduljon. Magasabb százalékos érték esetén a robot gyorsabban, alacsonyabb százalékos érték esetén pedig lassabban fordul. Az RPM vagy fok/másodperc érték esetében a határértéket a hajtáslánc áttétele módosítja.

Minden projekt azzal kezdődik, hogy a robot alapértelmezés szerint 50%-os sebességgel forog.

Megjegyzés: A nagyobb sebesség gyorsabbá teszi a robot fordulását, de kevésbé pontos lehet. Az alacsonyabb sebesség lassabbá teszi a robot fordulását, de pontosabb lehet.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Paraméterek

Leírás

velocity

A fordulatszám 0%-tól 100%-ig PERCENThasználata esetén, 0-tól 600 rpm-ig RPMhasználata esetén, vagy 0-tól 3600 fok/másodpercig VelocityUnits.DPShasználata esetén. Ez lehet egy integer vagy decimális szám (float).

units

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

# 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 beállítja, hogyan állítsa le a robot a mozgást: fékezéssel, gurulással vagy tartással.

Usage:
drivetrain.set_stopping(mode)

Paraméterek

Leírás

mode

Hogyan fog megállni a robot:

  • BRAKE — Azonnal megáll.
  • COAST — Lassan megáll.
  • HOLD — Azonnal megáll és megtartja a kerekek helyzetét.

Ha ezt a módszert nem használjuk, a robot megálláskor BRAKE beállítást fogja használni.

set_timeout#

set_timeout beállítja, hogy a robot hány másodpercig próbáljon meg befejezni egy mozgást. Ha a robot nem tudja befejezni ennyi idő alatt, akkor leállítja a próbálkozást, és továbblép a kód következő sorára. Ez megakadályozza, hogy a robot elakadjon egy mozgásnál.

Usage:
drivetrain.set_timeout(value, units)

Paraméterek

Leírás

value

Az az időtartam, ameddig a robot megpróbálhat befejezni egy mozgást. Ez lehet pozitív integer vagy decimális (float).

units

Opcionális. Az időegység: MSEC (milliszekundum, alapértelmezett) vagy SECONDS.

set_heading#

A haladási irány a robot felé néző irány, fokban mérve. set_heading a robot aktuális haladási irányát egy új haladási értékre módosítja.

Például, ha a robot jobbra fordult, és a haladási irány 0 fokra állítása a jobbra néző pozíciót teszi az új 0 fokossá. Ezután a robot az új irány alapján más pozíciókba fordulhat.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.set_heading(heading, units)

Paraméterek

Leírás

heading

A robothoz beállítandó irányérték fokban vagy fordulatokban. Ez lehet integer vagy decimális (float).

units

Opcionális. Az irány mértékegysége: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)

set_rotation#

A forgás a robot elfordulásának mértékét adja meg fokban mérve. A projekt elején a forgási érték 0 fokra van állítva. set_rotation paraméterrel a robot aktuális forgását egy új értékre módosítja.

Például, ha a robot két teljes fordulatot tett jobbra, akkor a forgási értéke 720 fok lesz. Ha a forgást 0 fokra állítja, akkor a forgás 720-ról 0 fokra áll vissza. Ezután a robot az új érték alapján foroghat.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.set_rotation(rotation, units)

Paraméterek

Leírás

rotation

A robothoz beállítandó forgatási érték fokban vagy fordulatokban. Ez lehet integer vagy decimális (float).

units

Opcionális. Az elforgatás mértékegysége: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)

set_turn_threshold#

set_turn_threshold beállítja, hogy a robotnak milyen közel kell kerülnie a célszöghöz, mielőtt a fordulás befejeződne.

Egy kisebb küszöbérték pontosabbá teheti a fordulókat, de a robotnak tovább tarthat a fordulás befejezése. Egy nagyobb küszöbérték gyorsabbá teheti a fordulókat, de kevésbé pontosak lehetnek.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.set_turn_threshold(value)

Paraméterek

Leírás

value

A fordulási küszöbérték fokban. Ez lehet integer vagy decimális (float). Az alapértelmezett fordulási küszöbérték 1 fok.

set_turn_constant#

set_turn_constant megváltoztatja, hogy a robot milyen erősen korrigálja a fordulatait.

Magasabb érték esetén a robot erősebben korrigálja a fordulókat. Alacsonyabb érték esetén a robot finomabban korrigálja a fordulókat. Az alapértelmezett érték 1,0.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.set_turn_constant(value)

Paraméterek

Leírás

value

A fordulási állandó. Ez egy decimális érték lehet (float) 0,1 és 4,0 között. Az alapértelmezett érték 1,0.

set_turn_direction_reverse#

set_turn_direction_reverse Megváltoztatja, hogy az intelligens hajtáslánc forgásiránya megfordul-e.

Ez akkor használható, ha a hajtáslánc a kódban manuálisan konfigurált rendszer után a vártnál ellentétes irányba forog. Ez a módszer ugyanúgy működik, mintha a reverse paramétert True értékre állítanánk egy SmartDrive létrehozásakor.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.set_turn_direction_reverse(value)

Paraméterek

Leírás

value

Hogy megfordítsa-e az intelligens hajtáslánc forgásirányát: True megfordítja a forgásirányt, False pedig az alapértelmezett forgásirányt használja.

Getterek#

is_done#

is_done Logikai értékként adja vissza, hogy a robot befejezte-e a mozgást. Ez felhasználható más viselkedések időzítésének szabályozására a robot mozgása alapján.

  • True — A robot mozgása befejeződött.

  • False — A robot még mindig mozog.

Ez a metódus a következő wait paraméterrel rendelkező Drivetrain metódusokkal működik együtt: drive_for, turn_for, turn_to_heading, és turn_to_rotation.

Usage:
drivetrain.is_done()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

is_moving#

is_moving Logikai értékként adja vissza, hogy a robot mozog-e. Ez felhasználható más viselkedések időzítésének szabályozására a robot mozgása alapján.

  • True — A robot mozog.

  • False — A robot nem mozog.

Használat:

drivetrain.is_moving()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

heading#

A haladási irány a robot irányát jelöli, fokban mérve. heading a robot aktuális haladási irányát adja vissza 0 és 359,99 fok között.

A robot kezdő iránya 0 fok.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.heading(units)

Paraméterek

Leírás

units

Opcionális. A mértékegység, amelyben vissza kell adni az irányt: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())

rotation#

A forgás a robot elfordulásának mértékét adja meg fokban mérve. A projekt elején a forgás értéke 0 fok. rotation értéket adja vissza a robot aktuális forgását.

Jobbra fordulás növeli, balra fordulás pedig csökkenti az elfordulást. Például két teljes jobbra fordulás 720 fokos elfordulást eredményez.

Megjegyzés: Ez a módszer csak akkor érhető el, ha a hajtáslánc konfigurálva van Inertial Sensor, GPS Sensor vagy Gyro Sensor értékkel az Eszközök ablakban.

Usage:
drivetrain.rotation(units)

Paraméterek

Leírás

units

Opcionális. A forgatás visszaadásához használt mértékegység: DEGREES (alapértelmezett) vagy TURNSEgy fordulat 360 foknak felel meg.

# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())

velocity#

velocity a robot haladási sebességét adja vissza.

A sebességet -100%-tól 100%-ig terjedő százalékos értékként, RPM-ben vagy VelocityUnits.DPS -ben (fok/másodperc) adhatja meg. A pozitív érték azt jelenti, hogy a robot előre halad. A negatív érték azt jelenti, hogy a robot hátramenetben halad.

Usage:
drivetrain.velocity(units)

Paraméterek

Leírás

units

Opcionális. A sebesség mértékegysége: RPM (percenkénti fordulatszám, alapértelmezett), PERCENTvagy VelocityUnits.DPS (fok másodpercenként).

current#

current visszaadja, hogy mennyi elektromos áramot használ a hajtáslánc, amperben mérve. Az áram az a mennyiség, amely átfolyik a hajtásláncon.

A magasabb áramérték azt jelenti, hogy a hajtáslánc több elektromos áramot használ. Ez akkor fordulhat elő, amikor a robot egy tárgynak nyomódik, vagy elakadt állapotban próbál mozogni.

Ez felhasználható annak ellenőrzésére, hogy a hajtáslánc mozgás közben akadozik-e. Ha az áram magas marad, a hajtáslánc felmelegedhet, vagy kevésbé hatékonyan használhatja fel az energiát.

Usage:
drivetrain.current(units)

Paraméterek

Leírás

units

Opcionális. Az áramerősség visszaadásához használt mértékegység: CurrentUnits.AMP (amper, alapértelmezett).

power#

power Visszaadja, hogy mennyi energiát fogyaszt a hajtáslánc, wattban mérve. A Power megmutatja, hogy milyen gyorsan használja fel a hajtáslánc az energiát.

A magasabb teljesítményérték azt jelenti, hogy a hajtáslánc gyorsabban használja fel az energiát. Ez akkor fordulhat elő, amikor a robot egy tárgynak nyomódik, vagy elakadt állapotban próbál mozogni.

Ez felhasználható a mozgások összehasonlítására, vagy annak ellenőrzésére, hogy a hajtáslánc akadozik-e. Ha a teljesítmény magas marad, a hajtáslánc felmelegedhet, vagy kevésbé hatékonyan használhatja fel az energiát.

Usage:
drivetrain.power()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

torque#

A nyomaték megmutatja, hogy a hajtáslánc milyen erősen tud nyomni vagy húzni, miközben a kerekek forognak.

torque visszaadja, hogy mennyi nyomatékot használ a hajtáslánc, newtonméterben (Nm) vagy hüvelyk-fontban (InLb) mérve.

A magasabb nyomatékérték azt jelenti, hogy a hajtáslánc erősebben nyom vagy húz. Ez akkor fordulhat elő, amikor a robot egy tárgynak nyomódik, vagy elakadt állapotban próbál mozdulni.

Ez felhasználható annak ellenőrzésére, hogy a hajtáslánc akadozik-e, vagy annak összehasonlítására, hogy mennyi lökést igényelnek a különböző mozgások.

Usage:
drivetrain.torque(units)

Paraméterek

Leírás

units

Opcionális. A nyomaték mértékegysége: TorqueUnits.NM (newtonméter, alapértelmezett) vagy TorqueUnits.INLB (hüvelyk-font).

efficiency#

efficiency Visszaadja, hogy a hajtáslánc mennyire hatékonyan használja fel az energiát, 0% és 100% közötti százalékban.

A hatékonyság megmutatja, hogy a hajtáslánc teljesítményének mekkora részét használja fel a mozgás. A magasabb hatékonysági érték azt jelenti, hogy a hajtáslánc teljesítményének nagyobb részét használja fel a mozgás. Alacsonyabb hatékonysági érték akkor fordulhat elő, ha a hajtáslánc keményen dolgozik, de nem mozog sokat, például amikor a robot elakadt vagy egy tárgynak nyomódik.

Ez felhasználható a mozgások összehasonlítására, vagy annak ellenőrzésére, hogy a hajtáslánc pazarolja-e az energiát a mozgás helyett.

Usage:
drivetrain.efficiency()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

temperature#

temperature A hajtáslánc átlagos hőmérsékletét adja vissza a kiválasztott hőmérsékleti egységben.

A hőmérséklet megmutatja, mennyire melegek a hajtáslánc motorjai. A magasabb hőmérséklet azt jelenti, hogy a motorok működés közben melegednek. A motoroknak 55°C alatt kell maradniuk ahhoz, hogy teljes teljesítményen működjenek.

Ha a motorok túlmelegszenek, csökkentik a maximális áramerősséget önmaguk védelme érdekében. 70°C-on a motorok leállnak, amíg le nem hűlnek.

Ez felhasználható annak ellenőrzésére, hogy a hajtáslánc túlmelegszik-e ismételt mozgások, hosszú futások vagy tárgynak való nyomás során.

Usage:
drivetrain.temperature(units)

Paraméterek

Leírás

units

Opcionális. A hőmérséklet visszaadásához használt mértékegység: TemperatureUnits.CELSIUS (alapértelmezett) vagy TemperatureUnits.FAHRENHEIT.

get_timeout#

get_timeout Visszaadja az aktuálisan beállított timeout értéket milliszekundumban.

Usage:
drivetrain.get_timeout()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

Konstruktorok#

A konstruktorok segítségével manuálisan hozhatók létre DriveTrain és SmartDrive objektumok, amelyek a hajtáslánc VEXcode-on kívüli konfigurálásához szükségesek.

Hajtáslánc létrehozása előtt legalább két Motor vagy MotorGroup objektumot kell létrehozni.

DriveTrain#

DriveTrain creates a drivetrain without an Inertial Sensor, GPS Sensor, or Gyro Sensor.

Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Paraméter

Leírás

lm

A bal oldali motor vagy motorcsoport.

rm

A jobb oldali motor vagy motorcsoport.

wheelTravel

Opcionális. A hajtáslánc kerekeinek kerülete. Az alapértelmezett érték 300 milliméter.

trackWidth

Opcionális. A bal és jobb oldali kerekek közötti távolság. Az alapértelmezett érték 320 milliméter.

wheelBase

Opcionális. Az első és hátsó kerekek közötti távolság. Az alapértelmezett érték 320 milliméter.

units

Opcionális. A wheelTravel, trackWidthés wheelBasemértékegysége: MM (milliméter, alapértelmezett), INCHESvagy DistanceUnits.CM (centiméter).

externalGearRatio

Opcionális. A sebességváltó áttétele, amely a meghajtási távolságok beállításához szolgál, ha sebességfokozatok vannak használatban. Ez lehet integer vagy decimális érték (float). Az alapértelmezett érték 1.0.

# 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 egy inerciális érzékelővel, GPS-érzékelővel vagy giroszkóppal konfigurált hajtásláncot hoz létre.

Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)

Paraméter

Leírás

lm

A bal oldali motor vagy motorcsoport.

rm

A jobb oldali motor vagy motorcsoport.

g

A hajtáslánc által használt inerciális érzékelő, GPS-érzékelő vagy giroszkóp-érzékelő.

wheelTravel

Opcionális. A hajtáslánc kerekeinek kerülete. Az alapértelmezett érték 300 milliméter.

trackWidth

Opcionális. A bal és jobb oldali kerekek közötti távolság. Az alapértelmezett érték 320 milliméter.

wheelBase

Opcionális. Az első és hátsó kerekek közötti távolság. Az alapértelmezett érték 320 milliméter.

units

Opcionális. A wheelTravel, trackWidthés wheelBasemértékegysége: MM (milliméter, alapértelmezett), INCHESvagy DistanceUnits.CM (centiméter).

externalGearRatio

Opcionális. A sebességváltó áttétele, amely a meghajtási távolságok beállításához szolgál, ha sebességfokozatok vannak használatban. Ez lehet integer vagy decimális érték (float). Az alapértelmezett érték 1.0.

# 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)