Tiomáint#

Réamhrá#

Úsáideann an róbat VEX IQ (2ú glúin) traein tiomána chun tiomáint agus casadh. Tá traein tiomána déanta as mótair agus rothaí a oibríonn le chéile chun an róbat a bhogadh.

Is féidir le traein tiomána cumraithe Braiteoir Gyro ceangailte, Braiteoir Táimhe ionsuite san Inchinn, nó gan aon braiteoir a úsáid. Nuair a úsáidtear braiteoir, úsáideann an traein tiomána é chun cabhrú leis an róbat bogadh agus casadh go beacht. Ag tús gach tionscadail, déanann an traein tiomána an braiteoir a chalabrú go huathoibríoch. Coinnigh an róbat socair ar feadh thart ar 2 shoicind le linn calabrúcháin, ionas gur féidir leis an róbat bogadh agus casadh i gceart.

Úsáideann an leathanach seo drivetrain mar ainm samplach an tiomána. Cuir d’ainm cumraithe féin ina áit de réir mar is gá.

Tá go leor bealaí ann chun an traein tiomána a chódú. Seo thíos liosta de na modhanna Traein Tiomána go léir:

Gníomhartha — Bog agus cas an róbat.

  • drive — Bogann sé an róbat ar aghaidh nó ar gcúl go deo.

  • drive_for — Bogann sé an róbat ar aghaidh nó ar gcúl ar feadh achar sonrach.

  • turn — Casann sé an róbat ar chlé nó ar dheis go deo.

  • turn_for — Casann sé an róbat ar chlé nó ar dheis ar feadh líon áirithe céimeanna.

  • turn_to_heading — Casann sé an róbat chun aghaidh a thabhairt ar threo ar leith ó -359 go 359 céim. Casfaidh an róbat an treo is giorra chun an treo sprice a bhaint amach.

  • turn_to_rotation — Casann sé an róbat go rothlú ar leith.

  • stop — Stopann sé gluaiseacht an róbait.

  • calibrate_drivetrain — Calabraíonn sé an braiteoir atá cumraithe leis an tiomáinttraein.

Múiteoirí — Coigeartaigh socruithe an tiomána.

  • set_drive_velocity — Insíonn sé don róbat cé chomh tapa is atá sé tiomáint.

  • set_turn_velocity — Insíonn sé don róbat cé chomh tapa agus atá sé casadh.

  • set_stopping — Insíonn sé seo conas a stopfaidh an róbat ag gluaiseacht: trí choscánú, trí scaoileadh, nó trí choinneáil.

  • set_timeout — Socraíonn sé cé mhéad ama a thógfaidh sé ar an róbat iarracht a dhéanamh gluaiseacht a chríochnú.

  • set_heading — Athraíonn sé ceannteideal reatha an róbait go ceannteideal nua.

  • set_rotation — Athraíonn sé rothlú reatha an róbait go rothlú nua.

  • set_turn_threshold — Insíonn sé seo cé chomh gar agus is gá don róbat teacht d’uillinn sprice sula mbíonn casadh críochnaithe.

  • set_turn_constant — Athraíonn sé cé chomh láidir agus a cheartaíonn an róbat a chasadh.

Getters — Seiceáil stádas na gluaiseachta.

  • heading — Tugann sé seo ceannteideal reatha an róbait ar ais ó 0 go 359 céim.

  • rotation — Tugann sé seo rothlú reatha an róbait ar ais.

  • velocity — Tugann sé seo léargas ar cé chomh tapa agus atá an róbat ag tiomáint.

  • current — Tugann sé seo ar ais cé mhéad srutha leictrigh atá á úsáid ag an traein tiomána.

  • is_moving — Tugann sé seo ar ais an bhfuil an róbat ag bogadh, mar luach Booleánach.

  • is_done — Tugann sé seo ar ais an bhfuil an róbat críochnaithe ag bogadh, mar luach Booleanach.

  • is_turning — Tugann sé seo ar ais an bhfuil an róbat ag casadh, mar luach Booleánach.

  • power — Tugann sé seo ar ais cé chomh tapa agus atá an traein tiomána ag úsáid fuinnimh.

  • torque — Tugann sé seo ar ais cé mhéad chasmhóiminte atá á úsáid ag an traein tiomána.

  • efficiency — Tugann sé seo léargas ar cé chomh héifeachtúil is atá an traein tiomána ag úsáid cumhachta.

  • temperature — Tugann sé seo ar ais cé chomh te is atá an traein tiomána.

Tógálaithe — Cruthaigh agus cumraigh an tiomáint de láimh.

  • DriveTrain — Cruthaíonn sé traein tiomána gan Braiteoir Gíro ná Braiteoir Táimhe.

  • SmartDrive — Cruthaíonn sé traein tiomána le Braiteoir Gíro nó Braiteoir Táimhe.

Gníomhartha#

drive#

Bogann tiomáint drive an róbat ar aghaidh nó ar gcúl go deo. Leanfaidh an róbat ag bogadh go dtí go dtabharfar gníomh eile dó, amhail casadh nó stopadh.

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

Paraiméadair

Cur síos

direction

An treo a mbogann an róbat: FORWARD nó REVERSE.

velocity

Roghnach. An luas le tiomáint leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMá úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSá úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, tiomáineann an róbat ag an luas tiomána reatha.

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

# 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 bogann an róbat ar aghaidh nó ar gcúl ar feadh achar sonrach. Fanfaidh an tionscadal go dtí go mbeidh an róbat críochnaithe ag bogadh sula rithfidh an chéad líne eile de chód.

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

Paraiméadair

Cur síos

direction

An treo a mbogann an róbat: FORWARD nó REVERSE.

distance

An fad a thiomáineann an róbat. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad achair: INCHES (réamhshocraithe), MM (milliméadair), nó DistanceUnits.CM (ceintiméadair).

velocity

Roghnach. An luas le tiomáint leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMá úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSá úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, tiomáineann an róbat ag an luas tiomána reatha.

units_v

Roghnach. An t-aonad luais: RPM (rothlaithe in aghaidh an nóiméid, réamhshocraithe), PERCENT, nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

wait

Roghnach. wait=True (réamhshocraithe) fanann an tionscadal go dtí go mbeidh an róbat críochnaithe ag bogadh sula ritheann an chéad líne eile cóid. wait=False ritheann an chéad líne eile cóid láithreach.

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

Casann turn an róbat ar chlé nó ar dheis go deo. Leanfaidh an róbat ag casadh go dtí go dtabharfar gníomh eile dó, amhail tiomáint nó stopadh.

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

Paraiméadair

Cur síos

direction

An treo a chasann an róbat: LEFT nó RIGHT.

velocity

Roghnach. An luas le casadh leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMin úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, casann an róbat ag an luas casaidh reatha.

units

Roghnach. An t-aonad luais: RPM (rothlaithe in aghaidh an nóiméid, réamhshocraithe), PERCENT, nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

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

Casann turn_for an róbat ar chlé nó ar dheis ar feadh líon áirithe céimeanna nó casadh. Tá an casadh i gcoibhneas le suíomh reatha an róbait. Fanfaidh an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula rithfidh an chéad líne eile de chód.

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

Paraiméadair

Cur síos

direction

An treo a chasann an róbat: LEFT nó RIGHT.

angle

An méid a chasann an róbat. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad casadh: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

velocity

Roghnach. An luas le casadh leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMin úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, casann an róbat ag an luas casaidh reatha.

units_v

Roghnach. An t-aonad luais: RPM (rothlaithe in aghaidh an nóiméid, réamhshocraithe), PERCENT, nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

wait

Roghnach. wait=True (réamhshocraithe) fanann an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula ritheann an chéad líne eile cóid. wait=False ritheann an chéad líne eile cóid láithreach.

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

Is é treo an róbait an treo atá os comhair, a thomhaistear i gcéimeanna. turn_to_heading Casann an róbat chun aghaidh a thabhairt ar threo ar leith ó -359 go 359 céim. Casfaidh an róbat an treo is giorra chun an treo sprice a bhaint amach.

Is é 0 céim treo tosaigh an róbait.

Fanfaidh an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula rithfidh an chéad líne eile de chód.

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

Paraiméadair

Cur síos

angle

An treo ar cheart don róbat aghaidh a thabhairt air, i gcéimeanna. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float) ó -359 go 359.

units

Roghnach. An t-aonad ceannteidil: DEGREES (réamhshocraithe).

velocity

Roghnach. An luas le casadh leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMin úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, casann an róbat ag an luas casaidh reatha.

units_v

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

wait

Roghnach. wait=True (réamhshocraithe) fanann an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula ritheann an chéad líne eile cóid. wait=False ritheann an chéad líne eile cóid láithreach.

# 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 Casann an róbat go rothlú ar leith.

Is é rothlú an méid atá casta ag an róbat, arna thomhas i gcéimeanna nó i gcasadh. Ag tús tionscadail, socraítear an luach rothlaithe go 0 céim. Is féidir rothlú a shocrú freisin ag baint úsáide as an modh set_rotation.

Is luachanna absalóideacha iad luachanna rothlaithe. Ciallaíonn sé seo go mbraitheann treo an chasadh ar rothlú reatha an róbait. Méadaíonn casadh ar dheis an rothlú, agus laghdaíonn casadh ar chlé an rothlú.

Mar shampla, má thosaíonn an róbat ag 0 céim agus má chasann tú go rothlú 720 céim, casfaidh sé ar dheis faoi dhó. Má chasann tú ansin go rothlú 360 céim, casfaidh sé ar chlé uair amháin, mar go bhfuil 360 níos lú ná 720.

Fanfaidh an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula rithfidh an chéad líne eile de chód.

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

Paraiméadair

Cur síos

angle

An luach rothlaithe, i gcéimeanna nó i gcasadh, a chasfaidh an róbat chuige. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad rothlaithe: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

velocity

Roghnach. An luas le casadh leis ó 0% go 100% agus PERCENT, ó 0 go 120 rpm agus RPMin úsáid , nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid . Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Mura soláthraítear aon luas, casann an róbat ag an luas casaidh reatha.

units_v

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

wait

Roghnach. wait=True (réamhshocraithe) fanann an tionscadal go dtí go mbeidh an róbat críochnaithe ag casadh sula ritheann an chéad líne eile cóid. wait=False ritheann an chéad líne eile cóid láithreach.

# 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 stopann gluaiseacht an róbait.

Usage:
drivetrain.stop(mode)

Paraiméadair

Cur síos

mode

Roghnach. Conas a stopfaidh an róbat: BRAKE (réamhshocraithe), COAST, nó BRAKE

  • HOLD — Stopann láithreach.
  • COAST — Moillíonn sé go dtí go stopann sé.
  • HOLD — Stopann sé láithreach agus coinníonn sé suíomh na rothaí.

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

Is feidhm ionsuite í calibrate_drivetrain a chalabraíonn an Braiteoir Gyro nó an Braiteoir Inertial atá cumraithe leis an traein tiomána.

Cuidíonn calabrú leis an braiteoir gluaiseacht a thomhas i gceart. Coinnigh an róbat socair ar feadh thart ar 2 shoicind le linn calabrúcháin. Má ghluaiseann an róbat le linn calabrúcháin, b’fhéidir nach dtomhaisfidh an braiteoir gluaiseacht i gceart.

Fanfaidh an tionscadal go dtí go mbeidh an calabrú déanta sula rithfidh an chéad líne eile de chód.

Nóta: Ní féidir an fheidhm seo a úsáid laistigh de VS Code.

Usage:
calibrate_drivetrain()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an bhfeidhm seo.

Sóiteoirí#

set_drive_velocity#

Insíonn set_drive_velocity don róbat cé chomh tapa agus atá sé le tiomáint. Má tá céatadán níos airde ann, tiomáintfidh an róbat níos tapúla agus má tá céatadán níos ísle ann, tiomáintfidh an róbat níos moille.

Tosaíonn gach tionscadal leis an róbat ag tiomáint ag luas 50% de réir réamhshocraithe.

Nóta: Má bhíonn luas níos airde ann, bíonn an róbat ag tiomáint níos tapúla, ach d’fhéadfadh sé a bheith níos lú cruinn. Má bhíonn luas níos ísle ann, bíonn an róbat ag tiomáint níos moille, ach d’fhéadfadh sé a bheith níos cruinne.

Usage:
drivetrain.set_drive_velocity(velocity, units)

Paraiméadair

Cur síos

velocity

An luas le tiomáint leis ó 0% go 100% agus PERCENTin úsáid, ó 0 go 120 rpm agus RPMin úsáid, nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

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

Insíonn set_turn_velocity don róbat cé chomh tapa agus atá sé le casadh. Má bhíonn céatadán níos airde ann, casann an róbat níos tapúla agus má bhíonn céatadán níos ísle ann, casann an róbat níos moille.

Tosaíonn gach tionscadal leis an róbat ag casadh ag luas 50% de réir réamhshocraithe.

Nóta: Má bhíonn luas níos airde ann, casann an róbat níos tapúla, ach d’fhéadfadh sé a bheith níos lú cruinn. Má bhíonn luas níos ísle ann, casann an róbat níos moille, ach d’fhéadfadh sé a bheith níos cruinne.

Usage:
drivetrain.set_turn_velocity(velocity, units)

Paraiméadair

Cur síos

velocity

An luas le casadh leis ó 0% go 100% agus PERCENTin úsáid, ó 0 go 120 rpm agus RPMin úsáid, nó ó 0 go 720 céim in aghaidh an tsoicind agus VelocityUnits.DPSin úsáid. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

# 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 socraíonn sé conas a stopfaidh an róbat ag bogadh: trí choscánú, trí chóstalú, nó trí choinneáil.

Usage:
drivetrain.set_stopping(mode)

Paraiméadair

Cur síos

mode

Conas a stopfaidh an róbat:

  • BRAKE — Stopann láithreach.
  • COAST — Moillíonn sé go dtí go stopann sé.
  • HOLD — Stopann sé láithreach agus coinníonn sé suíomh na rothaí.

Mura n-úsáidtear an modh seo, úsáidfidh an róbat BRAKE agus é ag stopadh.

set_timeout#

set_timeout socraíonn sé cé mhéad ama a dhéanfaidh an róbat iarracht gluaiseacht a chríochnú. Mura féidir leis an róbat críochnú laistigh den am sin, stopfaidh sé den iarracht agus bogfaidh sé ar aghaidh go dtí an chéad líne eile de chód. Coinníonn sé seo an róbat ó bheith sáinnithe i ngluaiseacht.

Usage:
drivetrain.set_timeout(value, units)

Paraiméadair

Cur síos

value

An méid ama is féidir leis an róbat iarracht a dhéanamh gluaiseacht a chríochnú. Is féidir leis seo a bheith ina shlánuimhir dhearfach integer nó ina dheachúil (float).

units

Roghnach. An t-aonad ama: MSEC (mileasoicind, réamhshocraithe) nó SECONDS.

# Turn right after driving forward
drivetrain.set_timeout(1, SECONDS)
drivetrain.drive_for(FORWARD, 25, INCHES)
drivetrain.turn_for(RIGHT, 90)

set_heading#

Is éard atá i dtreo an róbait ná an treo ina bhfuil sé ag tabhairt aghaidh, agus é á thomhas i gcéimeanna. Athraíonn set_heading treo reatha an róbait go luach treo nua.

Mar shampla, má tá an róbat casadh chun aghaidh a thabhairt ar dheis, má shocraítear an treo go 0 céim, déantar an suíomh sin atá ag tabhairt aghaidh ar dheis a athrú go dtí an 0 céim nua. Ansin is féidir leis an róbat casadh chuig suíomhanna eile bunaithe ar an treo nua sin.

Usage:
drivetrain.set_heading(heading, units)

Paraiméadair

Cur síos

heading

An luach treorach, i gcéimeanna nó i gcasadh, le socrú don róbat. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad ceannteidil: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

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

set_rotation#

Is é rothlú an méid atá casta ag an róbat, arna thomhas i gcéimeanna nó i gcasadh. Ag tús tionscadail, socraítear an luach rothlaithe go 0 céim. Athraíonn set_rotation rothlú reatha an róbait go luach nua.

Mar shampla, má tá dhá chasadh iomlána déanta ag an róbat ar dheis, beidh a luach rothlaithe 720 céim. Má shocraítear an rothlú go 0 céim, athshocrófar an rothlú sin ó 720 go 0 céim. Ansin is féidir leis an róbat casadh go rothluithe bunaithe ar an luach nua sin.

Usage:
drivetrain.set_rotation(rotation, units)

Paraiméadair

Cur síos

rotation

An luach rothlaithe, i gcéimeanna nó i gcasadh, le socrú don róbat. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float).

units

Roghnach. An t-aonad rothlaithe: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

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

set_turn_threshold#

set_turn_threshold socraíonn sé cé chomh gar agus is gá don róbat teacht d’uillinn sprice sula mbíonn casadh críochnaithe.

Is féidir le tairseach níos lú casadh a dhéanamh níos cruinne, ach d’fhéadfadh sé go dtógfadh sé níos faide ar an róbat casadh a chríochnú. Is féidir le tairseach níos mó casadh a chríochnú níos luaithe, ach d’fhéadfadh siad a bheith níos lú cruinne.

Usage:
drivetrain.set_turn_threshold(value)

Paraiméadair

Cur síos

value

An tairseach casadh, i gcéimeanna. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Is é 1 chéim an tairseach casadh réamhshocraithe.

# Set the turn threshold to 5 degrees
drivetrain.set_turn_threshold(5)

set_turn_constant#

Athraíonn set_turn_constant cé chomh láidir agus a cheartaíonn an róbat a chasadh.

Má tá luach níos airde ann, bíonn an róbat ag casadh níos láidre. Má tá luach níos ísle ann, bíonn an róbat ag casadh níos séimhe. Is é 1.0 an luach réamhshocraithe.

Usage:
drivetrain.set_turn_constant(value)

Paraiméadair

Cur síos

value

An tairiseach casadh. Is féidir leis seo a bheith ina dheachúil (float) ó 0.1 go 4.0. Is é 1.0 an réamhshocrú.

# Increase the turn constant to 2.0
drivetrain.set_turn_constant(2.0)

Faighteoirí#

heading#

Is é treo an róbait ná treo atá os comhair an róbait, arna thomhas i gcéimeanna. Tugann heading treo reatha an róbait ar ais ó 0 go 359 céim.

Is é 0 céim treo tosaigh an róbait.

Usage:
drivetrain.heading(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le tabhairt ar ais sa treo: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

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

rotation#

Is é rothlú an méid atá casta ag an róbat, arna thomhas i gcéimeanna nó i gcasadh. Ag tús tionscadail, socraítear an luach rothlaithe go 0 céim. Tugann rotation rothlú reatha an róbait ar ais.

Méadaíonn casadh ar dheis an rothlú, agus laghdaíonn casadh ar chlé an rothlú. Mar shampla, má dhéantar dhá chasadh iomlána ar dheis, beidh rothlú 720 céim ann.

Usage:
drivetrain.rotation(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le rothlú a thabhairt ar ais ann: DEGREES (réamhshocraithe) nó TURNSIs ionann casadh amháin agus 360 céim.

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

velocity#

Tugann velocity ar ais cé chomh tapa agus atá an róbat ag tiomáint.

Is féidir leis luas a thabhairt ar ais mar chéatadán ó -100% go 100%, i RPM ó -127 rpm go 127 rpm, nó i VelocityUnits.DPSCiallaíonn luach dearfach go bhfuil an róbat ag tiomáint ar aghaidh. Ciallaíonn luach diúltach go bhfuil an róbat ag tiomáint ar gcúl.

Usage:
drivetrain.velocity(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le luas a thabhairt ar ais ann: PERCENT (réamhshocraithe), RPM (rothlaithe in aghaidh an nóiméid), nó VelocityUnits.DPS (céimeanna in aghaidh an tsoicind).

current#

Tugann current ar ais cé mhéad srutha leictrigh atá á úsáid ag an traein tiomána, arna thomhas in aimpéir (ampéir). Is é an sruth an méid leictreachais atá ag sreabhadh tríd an traein tiomána.

Ciallaíonn luach reatha níos airde go bhfuil an traein tiomána ag úsáid níos mó srutha leictrigh. Is féidir leis seo tarlú nuair a bhíonn an róbat ag brú i gcoinne réada nó ag iarraidh bogadh nuair atá sé sáinnithe.

Is féidir é seo a úsáid chun a sheiceáil an bhfuil an traein tiomána ag streachailt le linn gluaiseachta. Má fhanann an sruth ard, d’fhéadfadh an traein tiomána dul níos teo nó cumhacht a úsáid níos lú éifeachtúla.

Usage:
drivetrain.current(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le sruth a thabhairt ar ais ann: CurrentUnits.AMP (ampéir, réamhshocraithe).

is_moving#

is_moving luach Booleánach ar ais chun a fháil amach an bhfuil an róbat ag bogadh. Is féidir é seo a úsáid chun am iompraíochtaí eile a rialú bunaithe ar ghluaiseacht an róbait.

  • True — Tá an róbat ag bogadh.

  • False — Níl an róbat ag bogadh.

Oibríonn an modh seo i gcomhar leis na modhanna Drivetrain seo a leanas a bhfuil an paraiméadar wait acu: drive_for, turn_for, turn_to_heading, agus turn_to_rotation.

Usage:
drivetrain.is_moving()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

is_done#

is_done tugann sé seo ar ais an bhfuil an róbat críochnaithe ag bogadh, mar luach Booleánach. Is féidir é seo a úsáid chun am iompraíochtaí eile a rialú bunaithe ar ghluaiseacht an róbait.

  • True — Tá an róbat críochnaithe ag bogadh.

  • False — Tá an róbat fós ag bogadh.

Oibríonn an modh seo i gcomhar leis na modhanna Drivetrain seo a leanas a bhfuil an paraiméadar wait acu: drive_for, turn_for, turn_to_heading, agus turn_to_rotation.

Usage:
drivetrain.is_done()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

is_turning#

is_turning ar ais an bhfuil an róbat ag casadh, mar luach Booleanach. Is féidir é seo a úsáid chun am iompraíochtaí eile a rialú bunaithe ar ghluaiseacht an róbait.

  • True — Tá an róbat ag casadh.

  • False — Níl an róbat ag casadh.

Oibríonn an modh seo i dteannta na modhanna Drivetrain seo a leanas a bhfuil an paraiméadar wait acu: turn_for, turn_to_heading, agus turn_to_rotation.

Usage:
drivetrain.is_turning()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

power#

Tugann power ar ais cé mhéad cumhachta atá á úsáid ag an traein tiomána, arna thomhas i vata. Léiríonn cumhacht cé chomh tapa agus atá an traein tiomána ag úsáid fuinnimh.

Ciallaíonn luach cumhachta níos airde go bhfuil an traein tiomána ag úsáid fuinnimh níos tapúla. Is féidir leis seo tarlú nuair a bhíonn an róbat ag brú i gcoinne réada nó ag iarraidh bogadh nuair atá sé sáinnithe.

Is féidir é seo a úsáid chun gluaiseachtaí a chur i gcomparáid nó a sheiceáil an bhfuil an traein tiomána ag streachailt. Má fhanann an chumhacht ard, féadfaidh an traein tiomána téamh nó fuinneamh a úsáid níos lú éifeachtúla.

Usage:
drivetrain.power()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

torque#

Léiríonn chasmhóiminte cé chomh crua is féidir leis an traein tiomána brú nó tarraingt agus na rothaí ag sníomh.

Tugann torque ar ais cé mhéad chasmhóiminte atá á úsáid ag an traein tiomána, arna thomhas i Niútán-méadair (Nm) nó in orlach-phunt (InLb).

Ciallaíonn luach chasmhóiminte níos airde go bhfuil an traein tiomána ag brú nó ag tarraingt níos deacra. Is féidir leis seo tarlú nuair a bhíonn an róbat ag brú i gcoinne réada nó ag iarraidh bogadh nuair atá sé sáinnithe.

Is féidir é seo a úsáid chun a sheiceáil an bhfuil an traein tiomána ag streachailt nó chun comparáid a dhéanamh idir an méid brú a theastaíonn ó ghluaiseachtaí éagsúla.

Usage:
drivetrain.torque(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le chasmhóimint a thabhairt ar ais ann: TorqueUnits.NM (méadair niútan, réamhshocraithe) nó TorqueUnits.INLB (punt orlach).

efficiency#

Tugann efficiency ar ais cé chomh héifeachtúil is atá an traein tiomána ag úsáid cumhachta, mar chéatadán ó 0% go 100%.

Léiríonn éifeachtúlacht cé mhéad de chumhacht an traein tiomána atá á úsáid le haghaidh gluaiseachta. Ciallaíonn luach éifeachtúlachta níos airde go bhfuil níos mó de chumhacht an traein tiomána á húsáid le haghaidh gluaiseachta. Is féidir luach éifeachtúlachta níos ísle tarlú nuair a bhíonn an traein tiomána ag obair go dian ach nach bhfuil ag bogadh mórán, mar shampla nuair a bhíonn an róbat sáinnithe nó ag brú i gcoinne réada.

Is féidir é seo a úsáid chun gluaiseachtaí a chur i gcomparáid nó chun a sheiceáil an bhfuil an traein tiomána ag cur cumhachta amú seachas í a úsáid le haghaidh gluaiseachta.

Usage:
drivetrain.efficiency()

Paraiméadair

Cur síos

Níl aon pharaiméadair ag an modh seo.

temperature#

Tugann temperature meánteocht an traenach tiomána ar ais san aonad teochta roghnaithe.

Léiríonn an teocht cé chomh te is atá mótair an tiomáintóra. Ciallaíonn teocht níos airde go bhfuil na mótair ag téamh suas agus iad ag obair. Ba chóir go bhfanfadh na mótair faoi bhun 55°C le go leanfaidís ag obair ag a bhfeidhmíocht iomlán.

Má théann na mótair ró-the, laghdóidh siad a sruth uasta chun iad féin a chosaint. Ag 70°C, stopfaidh na mótair ag rith go dtí go bhfuaróidh siad síos.

Is féidir é seo a úsáid chun a sheiceáil an bhfuil an traein tiomána ag éirí ró-the le linn gluaiseachtaí arís agus arís eile, ritheanna fada, nó nuair a bhíonn sé ag brú i gcoinne réada.

Usage:
drivetrain.temperature(units)

Paraiméadair

Cur síos

units

Roghnach. An t-aonad le teocht a thabhairt ar ais ann: TemperatureUnits.CELSIUS (réamhshocraithe) nó TemperatureUnits.FAHRENHEIT.

Tógálaithe#

Úsáidtear tógálaithe chun DriveTrain agus SmartDrive a chruthú i gcód. Tá sé seo úsáideach agus traein tiomána á cumrú gan an fhuinneog Gléasanna a úsáid.

Ní mór dhá réad ar a laghad Motor nó MotorGroup a chruthú sula gcruthaítear traein tiomána.

DriveTrain#

Cruthaíonn DriveTrain traein tiomána gan Braiteoir Támha nó Braiteoir Gíreafóilió.

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

Paraiméadar

Cur síos

lm

An mótar nó an grúpa mótair ar chlé.

rm

An mótar nó an grúpa mótair ceart.

wheelTravel

Roghnach. Imlíne rothaí an tiomána. Is é 300 milliméadar an réamhshocrú.

trackWidth

Roghnach. An leithead idir na rothaí clé agus deas. Is é 320 milliméadar an réamhshocrú.

wheelBase

Roghnach. An fad idir na rothaí tosaigh agus cúil. Is é 320 milliméadar an réamhshocrú.

units

Roghnach. An t-aonad le haghaidh wheelTravel, trackWidth, agus wheelBase: MM (réamhshocraithe), INCHES, nó DistanceUnits.CM (ceintiméadair).

externalGearRatio

Roghnach. An cóimheas giaranna a úsáidtear chun achair tiomána a choigeartú má úsáidtear giaranna. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Is é 1.0 an réamhshocrú.

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

Cruthaíonn SmartDrive traein tiomána atá cumraithe le Braiteoir Támha nó Braiteoir Gíreafóilió.

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

Paraiméadar

Cur síos

lm

An mótar nó an grúpa mótair ar chlé.

rm

An mótar nó an grúpa mótair ceart.

g

An Braiteoir Támha nó an Braiteoir Gíro a úsáideann an traein tiomána.

wheelTravel

Roghnach. Imlíne rothaí an tiomána. Is é 300 milliméadar an réamhshocrú.

trackWidth

Roghnach. An leithead idir na rothaí clé agus deas. Is é 320 milliméadar an réamhshocrú.

wheelBase

Roghnach. An fad idir na rothaí tosaigh agus cúil. Is é 320 milliméadar an réamhshocrú.

units

Roghnach. An t-aonad le haghaidh wheelTravel, trackWidth, agus wheelBase: MM (milliméadair, réamhshocraithe) nó INCHES.

externalGearRatio

Roghnach. An cóimheas giaranna a úsáidtear chun achair tiomána a choigeartú má úsáidtear giaranna. Is féidir leis seo a bheith ina shlánuimhir integer nó ina dheachúil (float). Is é 1.0 an réamhshocrú.

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

Más rud é go bhfuil tú ag déanamh tiomána cliste le hilmhótair, ní mór duit na mótair a chruthú ar leithligh sula ngrúpálfaidh tú iad i ngrúpa mótair.

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