Hnací ústrojí#
Zavedení#
Robot VEX IQ (2. generace) používá k řízení a otáčení pohon. Pohon se skládá z motorů a kol, které spolupracují na pohybu robota.
Nakonfigurovaný pohon může používat připojený Gyro senzor, vestavěný Inerciální senzor modulu Brain nebo žádný senzor. Pokud je použit senzor, pohon ho využívá k přesnému pohybu a otáčení robota. Na začátku každého projektu pohon automaticky kalibruje senzor. Během kalibrace držte robota přibližně 2 sekundy v klidu, aby se mohl správně pohybovat a otáčet.
Tato stránka používá jako příklad názvu hnacího ústrojí drivetrain V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.
Existuje mnoho způsobů, jak kódovat hnací ústrojí. Níže je uveden seznam všech metod kódování hnacího ústrojí:
Akce – Pohyb a otáčení robota.
drive— Pohybuje robota vpřed nebo vzad natrvalo.drive_for— Pohybuje robotem vpřed nebo vzad o určitou vzdálenost.turn— Otočí robota doleva nebo doprava natrvalo.turn_for— Otočí robota doleva nebo doprava o určitý počet stupňů.turn_to_heading— Otočí robota do určitého směru od -359 do 359 stupňů. Robot se otočí nejkratším směrem k dosažení cílového směru.turn_to_rotation— Otočí robota do určité rotace.stop— Zastaví pohyb robota.calibrate_drivetrain— Kalibruje senzor nakonfigurovaný s hnacím ústrojím.
Mutátory – Upravte nastavení hnacího ústrojí.
set_drive_velocity— Říká robotovi, jak rychle má jet.set_turn_velocity— Říká robotovi, jak rychle se má otáčet.set_stopping— Určuje, jak se robot zastaví: brzděním, setrvačností nebo zastavením.set_timeout— Nastaví, jak dlouho se bude robot snažit dokončit pohyb.set_heading— Změní aktuální směr robota na nový směr.set_rotation— Změní aktuální rotaci robota na novou rotaci.set_turn_threshold— Určuje, jak blízko se musí robot dostat k cílovému úhlu, než dokončí otočení.set_turn_constant— Mění, jak silně robot opravuje své zatáčky.
Gettery – Kontrola stavu pohybu.
heading— Vrátí aktuální směr robota od 0 do 359 stupňů.rotation— Vrátí aktuální rotaci robota.velocity— Vrátí rychlost, s jakou se robot pohybuje.current— Vrátí, kolik elektrického proudu spotřebovává hnací ústrojí.is_moving— Vrací hodnotu typu Boolean, která ukazuje, zda se robot pohybuje.is_done— Vrátí, zda robot dokončil pohyb, jako booleovskou hodnotu.is_turning— Vrací hodnotu typu boolean, zda se robot otáčí.power— Vrátí, jak rychle hnací ústrojí spotřebovává energii.torque— Vrátí, kolik točivého momentu hnací ústrojí využívá.efficiency— Vrátí, jak efektivně hnací ústrojí využívá energii.temperature— Vrátí teplotu hnacího ústrojí.
Konstruktory – Ruční vytvoření a konfigurace hnacího ústrojí.
DriveTrain— Vytvoří hnací ústrojí bez gyroskopického nebo inerciálního senzoru.SmartDrive— Vytvoří hnací ústrojí s gyroskopickým senzorem nebo inerciálním senzorem.
Akce#
drive#
drive pohybuje robotem vpřed nebo vzad navždy. Robot se bude pohybovat, dokud nedostane další akci, například otočení nebo zastavení.
Usage:
drivetrain.drive(direction, velocity, units)
Parametry |
Popis |
|---|---|
|
Směr pohybu robota: |
|
Volitelné. Rychlost, s níž se má robot pohybovat, od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive slowly in reverse then stop
drivetrain.drive(REVERSE, 20, PERCENT)
wait(2, SECONDS)
drivetrain.stop()
drive_for#
drive_for pohybuje robotem vpřed nebo vzad o určitou vzdálenost. Projekt počká, dokud se robot nedokončí s pohybem, než se spustí další řádek kódu.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parametry |
Popis |
|---|---|
|
Směr pohybu robota: |
|
Vzdálenost, kterou robot urazí. Může to být |
|
Volitelné. Jednotka vzdálenosti: |
|
Volitelné. Rychlost, s níž se má robot pohybovat, od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
|
Volitelné. |
# Drive forward and backward
drivetrain.drive_for(FORWARD, 10)
drivetrain.drive_for(REVERSE, 10)
# Quickly drive forward and backward
drivetrain.drive_for(FORWARD, 200, MM, 100, PERCENT)
drivetrain.drive_for(REVERSE, 200, MM, 100, PERCENT)
turn#
turn otáčí robota doleva nebo doprava navždy. Robot se bude otáčet, dokud nedostane další akci, například jízdu nebo zastavení.
Usage:
drivetrain.turn(direction, velocity, units)
Parametry |
Popis |
|---|---|
|
Směr otáčení robota: |
|
Volitelné. Rychlost otáčení od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
# Turn right and left, then stop
drivetrain.turn(RIGHT)
wait(2, SECONDS)
drivetrain.turn(LEFT)
wait(2, SECONDS)
drivetrain.stop()
# Quickly turn right and left, then stop
drivetrain.turn(RIGHT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.turn(LEFT, 100, PERCENT)
wait(2, SECONDS)
drivetrain.stop()
turn_for#
turn_for otočí robota doleva nebo doprava o určitý počet stupňů nebo otáček. Otočení je relativní vzhledem k aktuální poloze robota. Projekt počká, dokud robot nedokončí otáčení, než se spustí další řádek kódu.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parametry |
Popis |
|---|---|
|
Směr otáčení robota: |
|
Množství, o které se robot otočí. Může to být |
|
Volitelné. Jednotka otočení: |
|
Volitelné. Rychlost otáčení od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
|
Volitelné. |
# Turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES)
# Quickly turn the robot right and left
drivetrain.turn_for(RIGHT, 90, DEGREES, 100, PERCENT)
wait(1, SECONDS)
drivetrain.turn_for(LEFT, 90, DEGREES, 100, PERCENT)
turn_to_heading#
Směr je směr, kterým je robot otočen, měřený ve stupních. turn_to_heading otočí robota do určitého směru od -359 do 359 stupňů. Robot se otočí nejkratším směrem, aby dosáhl cílového směru.
Výchozí směr robota je 0 stupňů.
Projekt počká, dokud se robot nedotočí, než se spustí další řádek kódu.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parametry |
Popis |
|---|---|
|
Směr, kterým by se měl robot otočit, ve stupních. Může to být |
|
Volitelné. Jednotka záhlaví: |
|
Volitelné. Rychlost otáčení od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
|
Volitelné. |
# 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 otočí robota do určité rotace.
Rotace udává, o kolik se robot otočil, měřeno ve stupních nebo otáčkách. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. Rotaci lze také nastavit pomocí metody set_rotation.
Hodnoty rotace jsou absolutní. To znamená, že směr otáčení závisí na aktuální rotaci robota. Otočení doprava rotaci zvyšuje a otáčení doleva snižuje.
Například pokud robot začne na 0 stupních a otočíte se o 720 stupňů, otočí se dvakrát doprava. Pokud se poté otočíte o 360 stupňů, otočí se jednou doleva, protože 360 je menší než 720.
Projekt počká, dokud se robot nedotočí, než se spustí další řádek kódu.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parametry |
Popis |
|---|---|
|
Hodnota rotace ve stupních nebo otáčkách, na kterou se robot otočí. Může to být |
|
Volitelné. Jednotka rotace: |
|
Volitelné. Rychlost otáčení od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
|
Volitelné. |
# 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 zastaví pohyb robota.
Usage:
drivetrain.stop(mode)
Parametry |
Popis |
|---|---|
|
Volitelné. Jak robot zastaví:
|
# Drive forward then stop
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop()
# Drive forward and coast to a stop
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive(FORWARD)
wait(2, SECONDS)
drivetrain.stop(COAST)
calibrate_drivetrain#
calibrate_drivetrain je vestavěná funkce, která kalibruje gyroskopický senzor nebo inerciální senzor nakonfigurovaný s hnacím ústrojím.
Kalibrace pomáhá senzoru správně měřit pohyb. Během kalibrace držte robota v klidu asi 2 sekundy. Pokud se robot během kalibrace pohybuje, senzor nemusí správně měřit pohyb.
Projekt počká na dokončení kalibrace, než se spustí další řádek kódu.
Poznámka: Tuto funkci nelze použít uvnitř VS Code.
Usage:
calibrate_drivetrain()
Parametry |
Popis |
|---|---|
Tato funkce nemá žádné parametry. |
Mutátory#
set_drive_velocity#
set_drive_velocity říká robotovi, jak rychle má jet. Vyšší procento způsobí, že robot jede rychleji, a nižší procento způsobí, že robot jede pomaleji.
Každý projekt začíná s robotem, který se standardně pohybuje rychlostí 50 %.
Poznámka: Vyšší rychlost zrychluje pohyb robota, ale může být méně přesný. Nižší rychlost zpomaluje pohyb robota, ale může být přesnější.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parametry |
Popis |
|---|---|
|
Rychlost, s níž se má jezdit, od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
# Drive forward at different velocities
# Default velocity
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive slower
drivetrain.set_drive_velocity(20, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
wait(1, SECONDS)
# Drive faster
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 150, MM)
set_turn_velocity#
set_turn_velocity říká robotovi, jak rychle se má otáčet. Vyšší procento způsobí, že se robot bude otáčet rychleji, a nižší procento způsobí, že se robot bude otáčet pomaleji.
Každý projekt začíná s robotem, který se standardně otáčí rychlostí 50 %.
Poznámka: Vyšší rychlost způsobí, že se robot otáčí rychleji, ale může být méně přesný. Nižší rychlost způsobí, že se robot otáčí pomaleji, ale může být přesnější.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parametry |
Popis |
|---|---|
|
Rychlost otáčení od 0 % do 100 % při použití |
|
Volitelné. Jednotka rychlosti: |
# Turn at different velocities
# Default velocity
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn slower
drivetrain.set_turn_velocity(20, PERCENT)
drivetrain.turn_for(RIGHT, 360)
wait(1, SECONDS)
# Turn faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(RIGHT, 360)
set_stopping#
set_stopping nastavuje, jak se robot zastaví: brzděním, setrvačností nebo zastavením.
Usage:
drivetrain.set_stopping(mode)
Parametry |
Popis |
|---|---|
|
Jak robot zastaví:
|
Pokud se tato metoda nepoužije, robot při zastavení použije BRAKE.
set_timeout#
set_timeout nastavuje, jak dlouho se robot bude snažit dokončit pohyb. Pokud robot nedokončí pohyb v tomto čase, přestane se snažit a přesune se na další řádek kódu. Tím se zabrání tomu, aby se robot zasekl na pohybu.
Usage:
drivetrain.set_timeout(value, units)
Parametry |
Popis |
|---|---|
|
Doba, po kterou se robot může pokusit dokončit pohyb. Může to být kladné celé číslo |
|
Volitelné. Jednotka času: |
# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)
set_heading#
Směr je směr, kterým je robot otočen, měřený ve stupních. set_heading změní aktuální směr robota na novou hodnotu směru.
Například pokud se robot otočil čelem doprava, nastavením směru na 0 stupňů se tato poloha směřující doprava stane novými 0 stupni. Robot se pak může na základě tohoto nového směru otáčet do jiných pozic.
Usage:
drivetrain.set_heading(heading, units)
Parametry |
Popis |
|---|---|
|
Hodnota směru ve stupních nebo otáčkách, která se má nastavit pro robota. Může to být |
|
Volitelné. Jednotka směru: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
Rotace udává, o kolik se robot otočil, měřeno ve stupních nebo otáčkách. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. set_rotation změní aktuální rotaci robota na novou hodnotu.
Například pokud robot provedl dvě plné otáčky doprava, jeho hodnota rotace bude 720 stupňů. Nastavením rotace na 0 stupňů se tato hodnota resetuje ze 720 na 0 stupňů. Robot se pak může otáčet na základě této nové hodnoty.
Usage:
drivetrain.set_rotation(rotation, units)
Parametry |
Popis |
|---|---|
|
Hodnota rotace ve stupních nebo otáčkách, která se má nastavit pro robota. Může to být |
|
Volitelné. Jednotka rotace: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold nastavuje, jak blízko se musí robot dostat k cílovému úhlu, než dokončí otočení.
Menší prahová hodnota může zpřesnit zatáčení, ale robotovi může trvat déle, než otočení dokončí. Vyšší prahová hodnota může zrychlit zatáčení, ale může být méně přesné.
Usage:
drivetrain.set_turn_threshold(value)
Parametry |
Popis |
|---|---|
|
Práh otáčení ve stupních. Může to být |
# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)
set_turn_constant#
set_turn_constant mění, jak silně robot opravuje své zatáčky.
Vyšší hodnota způsobí, že robot bude opravovat zatáčky silněji. Nižší hodnota způsobí, že robot bude opravovat zatáčky jemněji. Výchozí hodnota je 1,0.
Usage:
drivetrain.set_turn_constant(value)
Parametry |
Popis |
|---|---|
|
Konstanta otáčení. Může to být desetinné číslo ( |
# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)
Gettery#
heading#
Směr je směr, kterým je robot otočen, měřený ve stupních. heading vrací aktuální směr robota od 0 do 359 stupňů.
Výchozí směr robota je 0 stupňů.
Usage:
drivetrain.heading(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka pro návratový kurz: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
Rotace udává, o kolik se robot otočil, měřeno ve stupních nebo otáčkách. Na začátku projektu je hodnota rotace nastavena na 0 stupňů. rotation vrací aktuální rotaci robota.
Otočení doprava zvětšuje rotaci a otočení doleva ji snižuje. Například provedení dvou celých otoček doprava vrátí rotaci o 720 stupňů.
Usage:
drivetrain.rotation(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka pro vrácení rotace: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
velocity vrací, jak rychle se robot pohybuje.
Může vracet rychlost v procentech od -100 % do 100 %, v RPM od -127 ot./min do 127 ot./min nebo ve VelocityUnits.DPS (stupně za sekundu). Kladná hodnota znamená, že robot jede vpřed. Záporná hodnota znamená, že robot jede vzad.
Usage:
drivetrain.velocity(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka, ve které se má vrátit rychlost: |
current#
current vrací množství elektrického proudu spotřebovaného hnacím ústrojím, měřené v ampérech. Proud je množství elektřiny protékající hnacím ústrojím.
Vyšší hodnota proudu znamená, že pohon spotřebovává více elektrického proudu. K tomu může dojít, když robot tlačí na nějaký předmět nebo se snaží pohnout, když je zaseknutý.
Toto lze použít ke kontrole, zda se během pohybu nevyskytují problémy s pohonem. Pokud proud zůstává vysoký, hnací ústrojí se může zahřívat nebo méně efektivně využívat energii.
Usage:
drivetrain.current(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka, ve které se má vrátit proud: |
is_moving#
is_moving vrací booleovskou hodnotu, zda se robot pohybuje. Tuto hodnotu lze použít k řízení načasování dalších chování na základě pohybu robota.
True— Robot se pohybuje.False— Robot se nepohybuje.
Tato metoda spolupracuje s následujícími metodami Drivetrain, které mají parametr wait : drive_for, turn_for, turn_to_heading a turn_to_rotation.
Usage:
drivetrain.is_moving()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
is_done#
is_done vrací hodnotu typu Boolean, zda robot dokončil pohyb. Tuto hodnotu lze použít k řízení načasování dalších chování na základě pohybu robota.
True— Robot dokončil pohyb.False— Robot se stále pohybuje.
Tato metoda spolupracuje s následujícími metodami Drivetrain, které mají parametr wait : drive_for, turn_for, turn_to_heading a turn_to_rotation.
Usage:
drivetrain.is_done()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
is_turning#
is_turning vrací booleovskou hodnotu, zda se robot otáčí. Tuto hodnotu lze použít k řízení načasování dalších chování na základě pohybu robota.
True— Robot se otáčí.False— Robot se neotáčí.
Tato metoda spolupracuje s následujícími metodami Drivetrain, které mají parametr wait : turn_for, turn_to_heading a turn_to_rotation.
Usage:
drivetrain.is_turning()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
power#
power vrací množství energie spotřebované hnacím ústrojím, měřené ve wattech. Výkon ukazuje, jak rychle hnací ústrojí energii spotřebovává.
Vyšší hodnota výkonu znamená, že hnací ústrojí spotřebovává energii rychleji. K tomu může dojít, když robot tlačí na nějaký předmět nebo se snaží pohnout, když je zaseknutý.
Toto lze použít k porovnání pohybů nebo ke kontrole, zda hnací ústrojí nemá problémy. Pokud výkon zůstává vysoký, hnací ústrojí se může zahřívat nebo méně efektivně využívat energii.
Usage:
drivetrain.power()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
torque#
Točivý moment ukazuje, jak silně může hnací ústrojí tlačit nebo táhnout, zatímco se kola protáčejí.
torque vrací hodnotu momentu, který hnací ústrojí využívá, měřenou v newtonmetrech (Nm) nebo palcích v librách (InLb).
Vyšší hodnota točivého momentu znamená, že hnací ústrojí tlačí nebo táhne silněji. K tomu může dojít, když robot tlačí na nějaký předmět nebo se snaží pohnout, když je zaseknutý.
To lze použít ke kontrole, zda má hnací ústrojí problémy, nebo k porovnání, kolik tlaku potřebují různé pohyby.
Usage:
drivetrain.torque(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka pro udávání točivého momentu: |
efficiency#
efficiency vrací, jak efektivně hnací ústrojí využívá výkon, v procentech od 0 % do 100 %.
Účinnost ukazuje, kolik výkonu hnacího ústrojí se využívá k pohybu. Vyšší hodnota účinnosti znamená, že se k pohybu využívá více výkonu hnacího ústrojí. Nižší hodnota účinnosti může nastat, když hnací ústrojí pracuje intenzivně, ale moc se nepohybuje, například když je robot zaseknutý nebo tlačí na nějaký předmět.
To lze použít k porovnání pohybů nebo ke kontrole, zda hnací ústrojí plýtvá výkonem, místo aby jej využívalo k pohybu.
Usage:
drivetrain.efficiency()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
temperature#
temperature vrací průměrnou teplotu hnacího ústrojí ve vybrané teplotní jednotce.
Teplota ukazuje, jak jsou motory hnacího ústrojí zahřáté. Vyšší teplota znamená, že se motory během provozu zahřívají. Aby motory fungovaly na plný výkon, měly by se teplota motorů udržovat pod 55 °C.
Pokud se motory příliš zahřejí, sníží svůj maximální proud, aby se chránily. Při 70 °C se motory zastaví, dokud nevychladnou.
Toto lze použít ke kontrole, zda se hnací ústrojí příliš nezahřívá během opakovaných pohybů, dlouhých běhů nebo když tlačí na nějaký předmět.
Usage:
drivetrain.temperature(units)
Parametry |
Popis |
|---|---|
|
Volitelné. Jednotka pro vrácení teploty: |
Konstruktéři#
Konstruktory se používají k vytvoření DriveTrain a SmartDrive v kódu. To je užitečné při konfiguraci hnacího ústrojí bez použití okna Zařízení.
Před vytvořením hnacího ústrojí musí být vytvořeny alespoň dva objekty Motor nebo MotorGroup.
DriveTrain#
DriveTrain vytváří pohon bez Gyro senzoru nebo Inerciálního senzoru.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametr |
Popis |
|---|---|
|
Levý motor nebo skupina motorů. |
|
Pravý motor nebo skupina motorů. |
|
Volitelné. Obvod kol hnacího ústrojí. Výchozí hodnota je 300 milimetrů. |
|
Volitelné. Šířka mezi levým a pravým kolem. Výchozí hodnota je 320 milimetrů. |
|
Volitelné. Vzdálenost mezi předními a zadními koly. Výchozí hodnota je 320 milimetrů. |
|
Volitelné. Jednotka pro |
|
Volitelné. Převodový poměr použitý k úpravě vzdáleností pohonu, pokud jsou použita převodová kola. Může to být |
# Create left and right drive motor objects
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT2, 1.0, True)
'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)
# Create two motor group objects for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)
right_motor_a = Motor(Ports.PORT3, 1.0, True)
right_motor_b = Motor(Ports.PORT4, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)
'''
Create a Drivetrain with the following values:
wheelTravel: 200
trackWidth: 173
wheelBase: 76
units: MM
externalGearRatio: 1
'''
drivetrain = DriveTrain(left_drive_smart, right_drive_smart, 200, 173, 76, MM, 1)
SmartDrive#
SmartDrive vytváří hnací ústrojí s Gyro senzorem nebo Inerciálním senzorem.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametr |
Popis |
|---|---|
|
Levý motor nebo skupina motorů. |
|
Pravý motor nebo skupina motorů. |
|
Gyroskopický senzor nebo inerciální senzor používaný hnacím ústrojím. |
|
Volitelné. Obvod kol hnacího ústrojí. Výchozí hodnota je 300 milimetrů. |
|
Volitelné. Šířka mezi levým a pravým kolem. Výchozí hodnota je 320 milimetrů. |
|
Volitelné. Vzdálenost mezi předními a zadními koly. Výchozí hodnota je 320 milimetrů. |
|
Volitelné. Jednotka pro |
|
Volitelné. Převodový poměr použitý k úpravě vzdáleností pohonu, pokud jsou použita převodová kola. Může to být |
# Create the Inertial Sensor
brain_inertial = Inertial()
# Make left and right drive motors
left_drive_smart = Motor(Ports.PORT1, 1.0, False)
right_drive_smart = Motor(Ports.PORT6, 1.0, True)
# Create a SmartDrive object with wheelTravel 200
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)
Pokud vytváříte inteligentní hnací ústrojí s více motory, je třeba je před seskupením do skupiny motorů vytvořit samostatně.
# Create the Inertial Sensor
brain_inertial = Inertial()
# Create two motor groups for left and right motors
left_motor_a = Motor(Ports.PORT1, 1.0, False)
left_motor_b = Motor(Ports.PORT2, 1.0, False)
left_drive_smart = MotorGroup(left_motor_a, left_motor_b)
right_motor_a = Motor(Ports.PORT5, 1.0, True)
right_motor_b = Motor(Ports.PORT6, 1.0, True)
right_drive_smart = MotorGroup(right_motor_a, right_motor_b)
# Create a SmartDrive object with wheelTravel 200 mm
drivetrain = SmartDrive(left_drive_smart, right_drive_smart, brain_inertial, 200)