Piedziņa#
Ievads#
VEX IQ (2. paaudzes) robots braukšanai un pagriešanai izmanto piedziņas sistēmu. Piedziņas sistēmu veido motori un riteņi, kas kopā darbojas, lai pārvietotu robotu.
Konfigurēta piedziņas sistēma var izmantot pievienotu žiroskopisko sensoru, smadzenēs iebūvēto inerciālo sensoru vai arī neizmantot sensoru. Kad tiek izmantots sensors, piedziņas sistēma to izmanto, lai palīdzētu robotam precīzi kustēties un pagriezties. Katra projekta sākumā piedziņas sistēma automātiski kalibrē sensoru. Kalibrēšanas laikā robotam apmēram 2 sekundes jātur nekustīgs, lai tas varētu pareizi kustēties un pagriezties.
Šajā lapā kā piedziņas mehānisma nosaukuma piemērs tiek izmantots drivetrain Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.
Ir daudz veidu, kā kodēt piedziņas sistēmu. Zemāk ir visu piedziņas sistēmas metožu saraksts:
Darbības — Pārvietot un pagriezt robotu.
drive— Pārvieto robotu uz priekšu vai atpakaļ uz visiem laikiem.drive_for— Pārvieto robotu uz priekšu vai atpakaļ noteiktu attālumu.turn— Pagriež robotu pa kreisi vai pa labi uz visiem laikiem.turn_for— Pagriež robotu pa kreisi vai pa labi par noteiktu grādu skaitu.turn_to_heading— Pagriež robotu noteiktā virzienā no -359 līdz 359 grādiem. Robots pagriezīsies īsākajā virzienā, lai sasniegtu mērķa virzienu.turn_to_rotation— Pagriež robotu noteiktā rotācijā.stop— Aptur robota kustību.calibrate_drivetrain— Kalibrē sensoru, kas konfigurēts ar piedziņas sistēmu.
Mutatori — pielāgo piedziņas mehānisma iestatījumus.
set_drive_velocity— Norāda robotam, cik ātri braukt.set_turn_velocity— Norāda robotam, cik ātri griezties.set_stopping— Norāda, kā robots pārtrauks kustību: bremzējot, braucot brīvi vai turoties.set_timeout— Iestata, cik daudz laika robots mēģinās pabeigt kustību.set_heading— Maina robota pašreizējo virzienu uz jaunu virzienu.set_rotation— Maina robota pašreizējo rotāciju uz jaunu rotāciju.set_turn_threshold— Norāda, cik tuvu robotam jāpienāk mērķa leņķim, pirms pagrieziens ir pabeigts.set_turn_constant— Maina, cik spēcīgi robots koriģē savus pagriezienus.
Getteri — pārbaudiet kustības statusu.
heading— Atgriež robota pašreizējo virzienu no 0 līdz 359 grādiem.rotation— Atgriež robota pašreizējo rotāciju.velocity— Atgriež robota braukšanas ātrumu.current— Atgriež, cik daudz elektriskās strāvas patērē piedziņas sistēma.is_moving— Atgriež, vai robots kustas, kā Būla vērtību.is_done— Atgriež, vai robots ir pabeidzis kustību, kā Būla vērtību.is_turning— Atgriež, vai robots griežas, kā Būla vērtību.power— Atgriež, cik ātri piedziņas sistēma patērē enerģiju.torque— Atgriež piedziņas piedziņas izmantoto griezes momentu.efficiency— Atgriež, cik efektīvi piedziņas sistēma izmanto jaudu.temperature— Atgriež piedziņas sistēmas siltumu.
Konstruktori — manuāli izveidojiet un konfigurējiet piedziņas sistēmu.
DriveTrain— Izveido piedziņas sistēmu bez žiroskopiskā sensora vai inerciālā sensora.SmartDrive— Izveido piedziņas sistēmu ar žiroskopisko sensoru vai inerciālo sensoru.
Darbības#
drive#
drive pārvieto robotu uz priekšu vai atpakaļ bezgalīgi. Robots turpinās kustēties, līdz tam tiks dota cita darbība, piemēram, pagriešana vai apstāšanās.
Usage:
drivetrain.drive(direction, velocity, units)
Parametri |
Apraksts |
|---|---|
|
Robota kustības virziens: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
# 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 pārvieto robotu uz priekšu vai atpakaļ noteiktu attālumu. Projekts gaidīs, līdz robots būs pabeidzis kustību, pirms tiks palaista nākamā koda rinda.
Usage:
drivetrain.drive_for(direction, distance, units, velocity, units_v, wait)
Parametri |
Apraksts |
|---|---|
|
Robota kustības virziens: |
|
Robota nobrauktais attālums. Tas var būt vesels skaitlis |
|
Neobligāti. Attāluma mērvienība: |
|
Optional. The velocity to drive with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
|
Neobligāti. |
# 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 pagriež robotu pa kreisi vai pa labi uz visiem laikiem. Robots turpinās griezties, līdz tam tiks dota cita darbība, piemēram, braukšana vai apstāšanās.
Usage:
drivetrain.turn(direction, velocity, units)
Parametri |
Apraksts |
|---|---|
|
Robota griešanās virziens: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
# 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 pagriež robotu pa kreisi vai pa labi par noteiktu grādu vai pagriezienu skaitu. Pagrieziens ir relatīvs attiecībā pret robota pašreizējo pozīciju. Projekts gaidīs, līdz robots būs pabeidzis pagriešanos, pirms tiks palaista nākamā koda rinda.
Usage:
drivetrain.turn_for(direction, angle, units, velocity, units_v, wait)
Parametri |
Apraksts |
|---|---|
|
Robota griešanās virziens: |
|
Robota pagrieziena apjoms. Tas var būt vesels skaitlis |
|
Pēc izvēles. Pagrieziena mērvienība: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
|
Neobligāti. |
# 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#
Virziens ir virziens, kurā robots ir pagriezies, mērot grādos. turn_to_heading pagriež robotu noteiktā virzienā no -359 līdz 359 grādiem. Robots pagriezīsies īsākajā virzienā, lai sasniegtu mērķa virzienu.
Robota sākuma virziens ir 0 grādi.
Projekts gaidīs, līdz robots būs pabeidzis griešanos, pirms tiks palaista nākamā koda rinda.
Usage:
drivetrain.turn_to_heading(angle, units, velocity, units_v, wait)
Parametri |
Apraksts |
|---|---|
|
Virziens, kurā robotam jābūt pagrieztam, grādos. Tas var būt vesels skaitlis |
|
Neobligāti. Virziena mērvienība: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
|
Neobligāti. |
# 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 pagriež robotu noteiktā rotācijā.
Rotācija ir robota pagrieziena lielums, mērot grādos vai pagriezienos. Projekta sākumā rotācijas vērtība tiek iestatīta uz 0 grādiem. Rotāciju var iestatīt arī, izmantojot metodi set_rotation.
Rotācijas vērtības ir absolūtas. Tas nozīmē, ka pagrieziena virziens ir atkarīgs no robota pašreizējās rotācijas. Pagriežoties pa labi, rotācija palielinās, bet pagriežoties pa kreisi, tā samazinās.
Piemēram, ja robots sāk darboties no 0 grādiem un jūs pagriežaties par 720 grādiem, tas divreiz pagriezīsies pa labi. Ja pēc tam pagriezīsities par 360 grādiem, tas vienreiz pagriezīsies pa kreisi, jo 360 grādi ir mazāki par 720.
Projekts gaidīs, līdz robots būs pabeidzis griešanos, pirms tiks palaista nākamā koda rinda.
Usage:
drivetrain.turn_to_rotation(angle, units, velocity, units_v, wait)
Parametri |
Apraksts |
|---|---|
|
Rotācijas vērtība grādos vai pagriezienos, kādā robots pagriezīsies. Tā var būt vesels skaitlis |
|
Pēc izvēles. Rotācijas vienība: |
|
Optional. The velocity to turn with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
|
Neobligāti. |
# 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 aptur robota kustību.
Usage:
drivetrain.stop(mode)
Parametri |
Apraksts |
|---|---|
|
Pēc izvēles. Kā robots apstāsies:
|
# 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 ir iebūvēta funkcija, kas kalibrē žiroskopisko sensoru vai inerciālo sensoru, kas konfigurēts kopā ar piedziņas sistēmu.
Kalibrēšana palīdz sensoram pareizi izmērīt kustību. Kalibrēšanas laikā robotam jāturas nekustīgi apmēram 2 sekundes. Ja robots kalibrēšanas laikā kustas, sensors var nepareizi izmērīt kustību.
Projekts gaidīs, līdz tiks pabeigta kalibrēšana, pirms tiks palaista nākamā koda rinda.
Piezīme: Šo funkciju nevar izmantot VS Code ietvaros.
Usage:
calibrate_drivetrain()
Parametri |
Apraksts |
|---|---|
Šai funkcijai nav parametru. |
Mutatori#
set_drive_velocity#
set_drive_velocity norāda robotam, cik ātri jābrauc. Augstāka procentuālā vērtība liek robotam braukt ātrāk, bet zemāka procentuālā vērtība liek robotam braukt lēnāk.
Katrs projekts sākas ar robota kustību ar noklusējuma ātrumu 50%.
Piezīme: Lielāks ātrums padara robotu ātrāku, bet tas var būt mazāk precīzs. Mazāks ātrums padara robotu lēnāku, bet tas var būt precīzāks.
Usage:
drivetrain.set_drive_velocity(velocity, units)
Parametri |
Apraksts |
|---|---|
|
The velocity to drive with from 0% to 100% when using |
|
Neobligāti. Ātruma mērvienība: |
# 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 norāda robotam, cik ātri griezties. Augstāka procentuālā vērtība liek robotam griezties ātrāk, bet zemāka procentuālā vērtība liek robotam griezties lēnāk.
Katrs projekts sākas ar robota griešanos ar noklusējuma ātrumu 50%.
Piezīme: Lielāks ātrums liek robotam griezties ātrāk, bet tas var būt mazāk precīzs. Mazāks ātrums liek robotam griezties lēnāk, bet tas var būt precīzāks.
Usage:
drivetrain.set_turn_velocity(velocity, units)
Parametri |
Apraksts |
|---|---|
|
Griešanās ātrums no 0% līdz 100%, izmantojot |
|
Neobligāti. Ātruma mērvienība: |
# 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 nosaka, kā robots pārtrauks kustību: bremzējot, braucot brīvi vai turoties.
Usage:
drivetrain.set_stopping(mode)
Parametri |
Apraksts |
|---|---|
|
Kā robots apstāsies:
|
Ja šī metode netiek izmantota, robots apstāšanās laikā izmantos BRAKE.
set_timeout#
set_timeout nosaka, cik ilgā laikā robots mēģinās pabeigt kustību. Ja robots nevar pabeigt šajā laikā, tas pārtrauks mēģinājumu un pāries uz nākamo koda rindiņu. Tas neļauj robotam iestrēgt kustībā.
Usage:
drivetrain.set_timeout(value, units)
Parametri |
Apraksts |
|---|---|
|
Laiks, kurā robots var mēģināt pabeigt kustību. Tas var būt pozitīvs skaitlis |
|
Neobligāti. Laika mērvienība: |
# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)
set_heading#
Virziens ir virziens, kurā robots ir pagriezies, mērot grādos. set_heading maina robota pašreizējo virzienu uz jaunu virziena vērtību.
Piemēram, ja robots ir pagriezies pa labi, iestatot virzienu uz 0 grādiem, šī pozīcija, kas vērsta pa labi, kļūst par jauno 0 grādu pozīciju. Pēc tam robots var pagriezties uz citām pozīcijām, pamatojoties uz šo jauno virzienu.
Usage:
drivetrain.set_heading(heading, units)
Parametri |
Apraksts |
|---|---|
|
Virziena vērtība grādos vai pagriezienos, kas jāiestata robotam. Tā var būt vesels skaitlis |
|
Neobligāti. Virziena mērvienība: |
# Face the new 0 degrees
drivetrain.set_heading(90, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
set_rotation#
Rotācija ir robota pagrieziena lielums, mērot grādos vai pagriezienos. Projekta sākumā rotācijas vērtība ir iestatīta uz 0 grādiem. set_rotation maina robota pašreizējo rotāciju uz jaunu vērtību.
Piemēram, ja robots ir veicis divus pilnus pagriezienus pa labi, tā rotācijas vērtība būs 720 grādi. Iestatot rotāciju uz 0 grādiem, šī rotācija tiks atiestatīta no 720 uz 0 grādiem. Pēc tam robots var veikt rotācijas, pamatojoties uz šo jauno vērtību.
Usage:
drivetrain.set_rotation(rotation, units)
Parametri |
Apraksts |
|---|---|
|
Robota iestatāmā rotācijas vērtība grādos vai pagriezienos. Tā var būt vesels skaitlis |
|
Pēc izvēles. Rotācijas vienība: |
# Spin counterclockwise two times
drivetrain.set_rotation(720, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
set_turn_threshold#
set_turn_threshold nosaka, cik tuvu robotam jāpienāk mērķa leņķim, pirms pagrieziens ir pabeigts.
Mazāks slieksnis var padarīt pagriezienus precīzākus, taču robotam var būt nepieciešams ilgāks laiks, lai pabeigtu pagriezienu. Lielāks slieksnis var padarīt pagriezienus ātrākus, taču tie var būt mazāk precīzi.
Usage:
drivetrain.set_turn_threshold(value)
Parametri |
Apraksts |
|---|---|
|
Pagrieziena slieksnis grādos. Tas var būt vesels skaitlis |
# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)
set_turn_constant#
set_turn_constant maina, cik spēcīgi robots koriģē savus pagriezienus.
Augstāka vērtība liek robotam spēcīgāk koriģēt pagriezienus. Zemāka vērtība liek robotam maigāk koriģēt pagriezienus. Noklusējuma vērtība ir 1,0.
Usage:
drivetrain.set_turn_constant(value)
Parametri |
Apraksts |
|---|---|
|
Pagrieziena konstante. Tā var būt decimālskaitlis ( |
# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)
Getteri#
heading#
Virziens ir virziens, kurā robots ir pagriezies, mērot grādos. heading atgriež robota pašreizējo virzienu no 0 līdz 359 grādiem.
Robota sākuma virziens ir 0 grādi.
Usage:
drivetrain.heading(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Vienība, kurā jāatgriež kurss: |
# Display the heading after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading())
rotation#
Rotācija ir robota pagrieziena lielums, mērot grādos vai pagriezienos. Projekta sākumā rotācijas vērtība ir iestatīta uz 0 grādiem. rotation atgriež robota pašreizējo rotāciju.
Pagriežoties pa labi, rotācija palielinās, bet pagriežoties pa kreisi, tā samazinās. Piemēram, veicot divus pilnus pagriezienus pa labi, rotācija būs 720 grādi.
Usage:
drivetrain.rotation(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Mērvienība, kas jāatgriež rotācijā: |
# Display the rotation after turning
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation())
velocity#
velocity atgriež robota braukšanas ātrumu.
Tas var atgriezt ātrumu procentos no -100% līdz 100%, RPM no -127 apgr./min līdz 127 apgr./min vai VelocityUnits.DPS (grādi sekundē). Pozitīva vērtība nozīmē, ka robots brauc uz priekšu. Negatīva vērtība nozīmē, ka robots brauc atpakaļgaitā.
Usage:
drivetrain.velocity(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Mērvienība, kas jāatgriež ātrumā: |
current#
current atgriež piedziņas mehānisma patērētās elektriskās strāvas daudzumu, mērot ampēros (ampēros). Strāva ir elektroenerģijas daudzums, kas plūst caur piedziņas mehānismu.
Augstāka strāvas vērtība nozīmē, ka piedziņas sistēma patērē vairāk elektriskās strāvas. Tas var notikt, ja robots spiežas pret objektu vai mēģina kustēties, kad ir iestrēdzis.
To var izmantot, lai pārbaudītu, vai piedziņas mehānismam ir grūtības kustības laikā. Ja strāva saglabājas augsta, piedziņas mehānisms var sakarst vai mazāk efektīvi izmantot jaudu.
Usage:
drivetrain.current(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Mērvienība, kurā atgriezt strāvu: |
is_moving#
is_moving atgriež, vai robots kustas, kā Būla vērtību. To var izmantot, lai kontrolētu citu darbību laiku, pamatojoties uz robota kustību.
True— Robots kustas.False— Robots nekustas.
Šī metode darbojas kopā ar šādām Drivetrain metodēm, kurām ir parametrs wait : drive_for, turn_for, turn_to_heading un turn_to_rotation.
Usage:
drivetrain.is_moving()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
is_done#
is_done atgriež, vai robots ir pabeidzis kustību, kā Būla vērtību. To var izmantot, lai kontrolētu citu darbību laiku, pamatojoties uz robota kustību.
True— Robots ir pabeidzis kustību.False— Robots joprojām kustas.
Šī metode darbojas kopā ar šādām Drivetrain metodēm, kurām ir parametrs wait : drive_for, turn_for, turn_to_heading un turn_to_rotation.
Usage:
drivetrain.is_done()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
is_turning#
is_turning atgriež, vai robots griežas, kā Būla vērtību. To var izmantot, lai kontrolētu citu darbību laiku, pamatojoties uz robota kustību.
True— Robots griežas.False— Robots negriežas.
Šī metode darbojas kopā ar šādām Drivetrain metodēm, kurām ir parametrs wait : turn_for, turn_to_heading un turn_to_rotation.
Usage:
drivetrain.is_turning()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
power#
power atgriež piedziņas patērēto jaudu, mērot vatos. Jauda parāda, cik ātri piedziņa patērē enerģiju.
Augstāka jaudas vērtība nozīmē, ka piedziņas sistēma patērē enerģiju ātrāk. Tas var notikt, ja robots spiežas pret objektu vai mēģina kustēties, kad ir iestrēdzis.
To var izmantot, lai salīdzinātu kustības vai pārbaudītu, vai transmisijai ir problēmas. Ja jauda saglabājas augsta, transmisija var sakarst vai mazāk efektīvi izmantot enerģiju.
Usage:
drivetrain.power()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
torque#
Griezes moments parāda, cik stipri piedziņa var stumt vai vilkt, kamēr riteņi griežas.
torque atgriež piedziņas izmantoto griezes momentu, mērot ņūtonmetros (Nm) vai collās-mārciņās (InLb).
Augstāka griezes momenta vērtība nozīmē, ka piedziņas sistēma spiež vai velk spēcīgāk. Tas var notikt, ja robots spiežas pret objektu vai mēģina kustēties, kad ir iestrēdzis.
To var izmantot, lai pārbaudītu, vai transmisijai ir problēmas, vai lai salīdzinātu, cik liels grūdiens nepieciešams dažādām kustībām.
Usage:
drivetrain.torque(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Mērvienība griezes momenta atgriežamajai vērtībai: |
efficiency#
efficiency atgriež piedziņas mehānisma jaudu izmantošanas efektivitāti procentos no 0% līdz 100%.
Efektivitāte parāda, cik liela daļa piedziņas mehānisma jaudas tiek izmantota kustībai. Augstāka efektivitātes vērtība nozīmē, ka lielāka daļa piedziņas mehānisma jaudas tiek izmantota kustībai. Zemāka efektivitātes vērtība var rasties, ja piedziņa strādā intensīvi, bet nekustas daudz, piemēram, ja robots ir iestrēdzis vai spiežas pret kādu objektu.
To var izmantot, lai salīdzinātu kustības vai pārbaudītu, vai piedziņa neizšķiež jaudu, nevis izmanto to kustībai.
Usage:
drivetrain.efficiency()
Parametri |
Apraksts |
|---|---|
Šai metodei nav parametru. |
temperature#
temperature atgriež piedziņas mehānisma vidējo temperatūru atlasītajā temperatūras vienībā.
Temperatūra parāda, cik silti ir piedziņas motori. Augstāka temperatūra nozīmē, ka motori darbības laikā kļūst siltāki. Lai motori darbotos ar pilnu jaudu, to temperatūrai jābūt zem 55 °C.
Ja motori kļūst pārāk karsti, tie samazina maksimālo strāvu, lai sevi pasargātu. Sasniedzot 70 °C temperatūru, motori pārstāj darboties, līdz tie atdziest.
To var izmantot, lai pārbaudītu, vai piedziņas sistēma kļūst pārāk karsta atkārtotu kustību, garu braucienu laikā vai spiežoties pret kādu objektu.
Usage:
drivetrain.temperature(units)
Parametri |
Apraksts |
|---|---|
|
Neobligāti. Temperatūras atgriežamā mērvienība: |
Konstruktori#
Konstruktori tiek izmantoti, lai kodā izveidotu DriveTrain un SmartDrive objektus. Tas ir noderīgi, konfigurējot piedziņas sistēmu, neizmantojot logu Devices (Ierīces).
Pirms piedziņas mehānisma izveides ir jāizveido vismaz divi Motor vai MotorGroup objekti.
DriveTrain#
DriveTrain izveido piedziņas sistēmu bez žiroskopiskā sensora vai inerciālā sensora.
Usage:
DriveTrain(lm, rm, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametrs |
Apraksts |
|---|---|
|
Kreisais motors vai motoru grupa. |
|
Labais motors vai motoru grupa. |
|
Pēc izvēles. Piedziņas riteņu apkārtmērs. Noklusējuma vērtība ir 300 milimetri. |
|
Pēc izvēles. Attālums starp kreiso un labo riteni. Noklusējuma vērtība ir 320 milimetri. |
|
Pēc izvēles. Attālums starp priekšējiem un aizmugurējiem riteņiem. Noklusējuma vērtība ir 320 milimetri. |
|
Neobligāti. Vienība |
|
Neobligāti. Pārnesumu attiecība, ko izmanto, lai pielāgotu piedziņas attālumus, ja tiek izmantoti pārnesumi. Tā var būt vesels skaitlis |
# 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 izveido piedziņas sistēmu ar žiroskopisko sensoru vai inerciālo sensoru.
Usage:
SmartDrive(lm, rm, g, wheelTravel, trackWidth, wheelBase, units, externalGearRatio)
Parametrs |
Apraksts |
|---|---|
|
Kreisais motors vai motoru grupa. |
|
Labais motors vai motoru grupa. |
|
Piedziņas mehānismā izmantotais žiroskopiskais sensors vai inerciālais sensors. |
|
Pēc izvēles. Piedziņas riteņu apkārtmērs. Noklusējuma vērtība ir 300 milimetri. |
|
Pēc izvēles. Attālums starp kreiso un labo riteni. Noklusējuma vērtība ir 320 milimetri. |
|
Pēc izvēles. Attālums starp priekšējiem un aizmugurējiem riteņiem. Noklusējuma vērtība ir 320 milimetri. |
|
Neobligāti. Vienība |
|
Neobligāti. Pārnesumu attiecība, ko izmanto, lai pielāgotu piedziņas attālumus, ja tiek izmantoti pārnesumi. Tā var būt vesels skaitlis |
# 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)
Ja veidojat viedu piedziņas sistēmu ar vairākiem motoriem, motori ir jāizveido atsevišķi, pirms tos grupējat motoru grupā.
# 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)