Python Sonrach do Róbónna#
Réamhrá#
Áirítear leis an Laoch Bot, Flex, Mótar Crúb, Mótar Láimhe, Braiteoir Fís AI, Braiteoir Fad, agus Braiteoir Córas Suite Cluiche (GPS).
Tá gach modh caighdeánach VEXcode VR ar fáil lena n-úsáid sa Chlós Súgartha V5 26-27 Override.
Seo thíos liosta de na modhanna uile atá ar fáil atá sainiúil do róbat:
Tiománaí – Bog agus cas an róbat.
Gníomhartha
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.turn_to_rotation— Casann sé an róbat go rothlú ar leith.stop— Stopann sé gluaiseacht an róbait.
Múiteoirí
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_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_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.
Gabhálaithe
heading— Tugann sé seo ceannteideal reatha an róbait ar ais ó 0 go 359.99 céim.rotation— Tugann sé seo rothlú reatha an róbait ar ais.is_done— Tugann sé seo ar ais an bhfuil an róbat críochnaithe ag bogadh, mar luach Booleánach.is_moving— Tugann sé seo ar ais an bhfuil an róbat ag bogadh, mar luach Booleánach.velocity— Tugann sé seo léargas ar cé chomh tapa agus atá an róbat ag tiomáint.
Gluaiseacht – Bog agus rianaigh mótair an róbait.
Gníomhartha
spin— Casann sé mótar ar aghaidh nó ar gcúl go deo.spin_for— Casann sé mótar ar feadh achar ar leith.spin_to_position— Casann sé mótar go suíomh ar leith.stop— Cuireann sé stop le mótar ó bheith ag sníomh.
Múiteoirí
set_position— Athraíonn sé suíomh reatha an mhótair go luach nua.set_velocity— Insíonn sé seo do mhótar cé chomh tapa agus atá sé le sníomh.set_timeout— Socraíonn sé cé mhéad ama a thógfaidh sé ar mhótar iarracht gluaiseacht a chríochnú.
Gabhálaithe
is_done— Tugann sé seo ar ais an bhfuil an mótar críochnaithe ag bogadh, mar luach Booleanach.is_spinning— Tugann sé seo ar ais an bhfuil an mótar ag sníomh, mar luach Booleánach.position— Tugann sé seo suíomh reatha an mhótair ar ais.velocity— Tugann sé seo ar ais cé chomh tapa agus atá an mótar ag sníomh.
Fís AI – Gabh agus anailísigh rudaí ag baint úsáide as an Braiteoir Fís AI.
Gabhálaithe
take_snapshot– Tugann sé seo liosta de rudaí a braitheadh le haghaidh síniú ar leith ar ais.
Airíonna
.width– Leithead an réada braite i bpicteilíní..height– Airde an réada braite i bpicteilíní..centerX– Suíomh X lár an réada i bpicteilíní..centerY– Suíomh Y lár an réada i bpicteilíní..originX– Suíomh X chúinne uachtarach na láimhe clé den réada i bpicteilíní..originY– Suíomh Y chúinne uachtarach na láimhe clé den réada i bpicteilíní..id– Classification ID of the detected object.
Consól – Priontáil chuig an gConsól agus déan monatóireacht ar luachanna.
Priontáil
brain.screen.print— Taispeánann sé téacs, uimhreacha, nó luachanna athróg sa Chonsól.brain.screen.next_row— Bogann sé seo cúrsóir an Chonsóil go dtí tús an chéad ró eile.brain.screen.clear_screen— Glanann sé gach sraith ón gConsól.
Monatóir
monitor_variable— Cuireann sé athróg réamhshainithe amháin nó níos mó leis an táb Monatóra.monitor_sensor— Cuireann sé luach braiteora amháin nó níos mó leis an táb Monatóra.
Braiteoireacht – Bain úsáid as braiteoirí éagsúla an róbait.
Fad
found_object– Tugann sé seo ar ais an mbraitheann an Braiteoir Fad réad laistigh den raon.object_distance– Tugann sé seo an fad idir an Braiteoir Fad agus an réad braite is gaire ar ais.
GPS
x_position– Tugann sé seo comhordanáid x reatha an Braiteora GPS ar an réimse ar ais.y_position– Tugann sé seo comhordanáid y reatha an Braiteora GPS ar an réimse ar ais.heading– Tugann sé seo an treo atá os comhair an róbait faoi láthair bunaithe ar an Braiteoir GPS.
Úsáideann na samplaí ar an leathanach seo Suíomh Tosaigh C ó sheicliosta Réamh-Chluiche an Chlós Súgartha.
Tiomáint#
Rialaíonn an traein tiomána conas a thiomáineann agus a chasann an Róbat VR. Is féidir leis an traein tiomána bogadh ar aghaidh nó ar gcúl, casadh ar chlé nó ar dheis, casadh de réir treorach, agus a rothlú a rianú.
Gníomhartha#
tiomáint#
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)
Paraiméadair |
Cur síos |
|---|---|
|
An treo a mbogann an róbat: |
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive(FORWARD)
wait(0.5, SECONDS)
drivetrain.stop()
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
tiomáint_le haghaidh#
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, wait)
Paraiméadair |
Cur síos |
|---|---|
|
An treo a mbogann an róbat: |
|
An fad a thiomáineann an róbat. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad achair: |
|
Roghnach. |
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
casadh#
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)
Paraiméadair |
Cur síos |
|---|---|
|
An treo a chasann an róbat: |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn(LEFT)
wait(0.78, SECONDS)
drivetrain.stop()
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
cas_le_#
Casann turn_for an róbat ar chlé nó ar dheis ar feadh líon áirithe céimeanna. 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, wait)
Paraiméadair |
Cur síos |
|---|---|
|
An treo a chasann an róbat: |
|
Líon na gcéimeanna a chasann an róbat. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad uillinne: |
|
Roghnach. |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_for(LEFT, 110, DEGREES)
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
cas_go_ceannteideal#
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 an treo tosaigh.
Usage:
drivetrain.turn_to_heading(heading, units, wait)
Paraiméadair |
Cur síos |
|---|---|
|
An treo ba chóir don róbat a bheith os a chomhair, ó -359 go 359 céim. |
|
Roghnach. An t-aonad uillinne: |
|
Roghnach. |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_to_heading(-110, DEGREES)
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
cas_go_rothlú#
turn_to_rotation Casann an róbat go rothlú ar leith.
Is é rothlú an méid atá casta ag an róbat, tomhaiste i gcéimeanna. Ag tús tionscadail, socraítear an luach rothlaithe go 0 céim. 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 sé go rothlú 720 céim, casfaidh sé ar dheis faoi dhó. Má chasann sé ansin go rothlú 360 céim, casfaidh sé ar chlé uair amháin, mar go bhfuil 360 níos lú ná 720.
Usage:
drivetrain.turn_to_rotation(rotation, units, wait)
Paraiméadair |
Cur síos |
|---|---|
|
An luach rothlaithe, i gcéimeanna, a chasfaidh an róbat chuige. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad uillinne: |
|
Roghnach. |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_to_rotation(-110, DEGREES)
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
stad#
stop stopann gluaiseacht an róbait.
Usage:
drivetrain.stop()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn(LEFT)
wait(0.78, SECONDS)
drivetrain.stop()
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Sóiteoirí#
socraigh_ceannteideal#
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 |
|---|---|
|
An luach treorach, i gcéimeanna, le socrú don róbat. |
|
Roghnach. An t-aonad uillinne: |
def main():
# Make facing the Neutral Goal the new heading
drivetrain.set_heading(110, DEGREES)
drivetrain.turn_to_heading(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_rothlú#
Is é rothlú an méid atá casta ag an róbat, arna thomhas i gcéimeanna. Athraíonn set_rotation rothlú reatha an róbait go luach nua.
Usage:
drivetrain.set_rotation(rotation, units)
Paraiméadair |
Cur síos |
|---|---|
|
An luach rothlaithe, i gcéimeanna, le socrú don róbat. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad uillinne: |
def main():
# Make facing the Neutral Goal the new rotation
drivetrain.set_rotation(110, DEGREES)
drivetrain.turn_to_rotation(0, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_am_scoite#
set_timeout socraíonn sé cé mhéad soicind 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(time, units)
Paraiméadair |
Cur síos |
|---|---|
|
An líon soicindí 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 |
|
Roghnach. An t-aonad ama: |
def main():
# Turn to face the Neutral Goal
drivetrain.set_timeout(0.8, SECONDS)
drivetrain.turn_for(LEFT, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_luas_tiomána#
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 |
|---|---|
|
An luas le tiomáint ó 0% go 100%. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad luais: |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_for(LEFT, 110, DEGREES)
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.set_drive_velocity(100, PERCENT)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_luas_casadh#
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 |
|---|---|
|
An luas le casadh leis ó 0% go 100%. Is féidir leis seo a bheith ina shlánuimhir |
|
Roghnach. An t-aonad luais: |
def main():
# Turn to face the Neutral Goal faster
drivetrain.set_turn_velocity(100, PERCENT)
drivetrain.turn_for(LEFT, 110, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Faighteoirí#
ceannteideal#
Is é treo an róbait ná an treo ina bhfuil sé ag tabhairt aghaidh, arna thomhas i gcéimeanna. Tugann heading treo reatha an róbait ar ais ó 0 go 359.99 céim.
Is é 0 céim treo tosaigh an róbait.
Usage:
drivetrain.heading(units)
Paraiméadair |
Cur síos |
|---|---|
|
Roghnach. An t-aonad ceannteidil: |
def main():
# Turn to the Goal, then show heading
drivetrain.turn_for(LEFT, 110, DEGREES)
brain.screen.print("Heading: ")
brain.screen.print(drivetrain.heading(DEGREES))
# VR threads — Do not delete
vr_thread(main)
rothlú#
Is é rothlú an méid atá casta ag an róbat, arna thomhas i gcéimeanna. 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 |
|---|---|
|
Roghnach. An t-aonad rothlaithe: |
def main():
# Spin to find a Pin, then show rotation
drivetrain.turn_for(RIGHT, 450, DEGREES)
brain.screen.print("Rotation: ")
brain.screen.print(drivetrain.rotation(DEGREES))
# VR threads — Do not delete
vr_thread(main)
is_done#
is_done tugann sé seo ar ais an bhfuil an róbat críochnaithe ag bogadh, 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 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. |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_for(LEFT, 110, DEGREES)
arm_motor.spin_for(FORWARD, 800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES, wait=False)
wait(0.5, SECONDS)
while not drivetrain.is_done():
wait(5, MSEC)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
ag_bogadh#
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.
Usage:
drivetrain.is_moving()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Raise the Arm once stopped near the Goal
drivetrain.turn_for(LEFT, 110, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES, wait=False)
wait (0.5, SEC)
while drivetrain.is_moving():
wait(5, MSEC)
arm_motor.spin_for(FORWARD, 800, DEGREES)
# VR threads — Do not delete
vr_thread(main)
luas#
Tugann velocity ar ais cé chomh tapa agus atá an róbat ag tiomáint, mar chéatadán ó -100% go 100%.
Usage:
drivetrain.velocity(units)
Paraiméadair |
Cur síos |
|---|---|
|
Roghnach. An t-aonad luais: |
def main():
# Show speed while driving to the Goal
drivetrain.drive_for(FORWARD, 150, MM)
brain.screen.print("Velocity: ")
brain.screen.print(drivetrain.velocity(PERCENT))
# VR threads — Do not delete
vr_thread(main)
Gluaiseacht#
Úsáideann Flex Mótar na Láimhe chun an lámh a ardú agus a ísliú, agus Mótar na Crúba chun an crúb a oscailt agus a dhúnadh.
Tá a threo-iompar féin ag gach mótar. Míníonn na tuairiscí treorach conas a ghluaiseann gach treo an mótar sin ar Flex.
Gníomhartha#
casadh#
Casann spin mótar i gceann de dhá threo go deo. Leanfaidh an mótar ag sníomh go dtí go dtugtar gníomh eile dó, amhail sníomh i dtreo difriúil nó stopadh.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An treo a rothlaíonn an mótar:
|
def main():
# Raise the Arm before driving toward a Pin
arm_motor.spin(FORWARD)
wait(1, SECONDS)
arm_motor.stop()
# VR threads — Do not delete
vr_thread(main)
casadh_do#
spin_for rothlaíonn mótar ar feadh achar sonrach. Tá an rothlú i gcoibhneas le suíomh reatha an mhótair. Fanfaidh an tionscadal go dtí go mbeidh an mótar críochnaithe ag rothlú sula rithfidh an chéad líne eile de chód.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An treo a rothlaíonn an mótar:
|
|
An fad a rothlaíonn an mótar. |
|
Roghnach. An t-aonad achair: |
|
Roghnach.
|
def main():
# Raise the Arm to carry the Pin to the Goal
arm_motor.spin_for(FORWARD, 800, DEGREES)
# VR threads — Do not delete
vr_thread(main)
casadh_go_suíomh#
spin_to_position Casann mótar go suíomh ar leith.
Is é suíomh mótair an fad atá sé sníomhaithe, tomhaiste i DEGREES nó TURNSIs ionann casadh amháin agus 360 céim. Ag tús tionscadail, socraítear suíomh Mhótar na Láimhe go 0 céim. Is é Mótar na Crúba an t-eisceacht — tosaíonn sé ag 467 céim (dúnta go hiomlán). Is féidir suíomh an mhótair a shocrú freisin ag baint úsáide as an modh set_position.
Is luachanna absalóideacha iad luachanna suímh. Ciallaíonn sé seo go mbraitheann treo an rothlaithe ar shuíomh reatha an mhótair.
Mar shampla, má thosaíonn an mótar ag 0 céim agus má rothlaíonn sé go dtí suíomh 720 céim, rothlóidh sé ar aghaidh dhá chasadh. Má rothlaíonn sé ansin go dtí suíomh 360 céim, rothlóidh sé ar gcúl casadh amháin, mar go bhfuil 360 níos lú ná 720.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An luach suímh a rothlóidh an mótar chuige. |
|
Roghnach. An t-aonad suímh: |
|
Roghnach.
|
def main():
# Raise the Arm, then release the Pin
arm_motor.spin_to_position(800, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
stad#
stop stopann mótar ó sníomh.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Raise the Arm partway to hold the Pin
arm_motor.spin(FORWARD)
wait(1, SECONDS)
arm_motor.stop()
# VR threads — Do not delete
vr_thread(main)
Sóiteoirí#
socraigh_suíomh#
Is é suíomh mótair an fad atá sé sníomhaithe, a thomhastar i DEGREES nó TURNS. Is ionann casadh amháin agus 360 céim. set_position athraíonn sé suíomh reatha an mhótair go luach nua.
Mar shampla, má tá mótar tar éis sníomh go 180 céim, má shocraítear an suíomh go 0 céim athshocrófar an suíomh sin ó 180 go 0 céim. Ansin is féidir leis an mótar sníomh go suíomhanna bunaithe ar an luach nua sin.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An luach suímh le socrú don mhótar. |
|
Roghnach. An t-aonad suímh: |
def main():
# Reset encoder, raise Arm, place Pin
arm_motor.set_position(0, DEGREES)
arm_motor.spin_to_position(800, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_luas#
Insíonn set_velocity do mhótar cé chomh tapa agus atá sé le sníomh. Má bhíonn céatadán níos airde ann, sníomhann an mótar níos tapúla agus má bhíonn céatadán níos ísle ann, sníomhann an mótar níos moille.
Tosaíonn gach tionscadal le gach mótar ag sníomh ag luas 50% de réir réamhshocraithe.
Nóta: Má bhíonn luas níos airde ann, rothlaíonn an mótar níos tapúla, ach d’fhéadfadh sé a bheith níos lú cruinn. Má bhíonn luas níos ísle ann, rothlaíonn an mótar níos moille, ach d’fhéadfadh sé a bheith níos cruinne.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An luas le sníomh leis ó 0% go 100%. Is féidir leis seo a bheith ina shlánuimhir |
|
An t-aonad luais: |
def main():
# Raise the Arm fast to release the Pin
arm_motor.set_velocity(100, PERCENT)
arm_motor.spin_for(FORWARD, 800, DEGREES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
socraigh_am_scoite#
set_timeout socraíonn sé cé mhéad ama a dhéanfaidh mótar iarracht gluaiseacht a chríochnú. Mura féidir leis an mótar críochnú laistigh den am sin, stopfaidh sé ag iarraidh agus bogfaidh sé ar aghaidh go dtí an chéad líne eile de chód. Coinníonn sé seo an mótar ó bheith sáinnithe i ngluaiseacht.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An méid ama is féidir leis an mótar iarracht a dhéanamh gluaiseacht a chríochnú. Is féidir leis seo a bheith ina shlánuimhir dhearfach |
|
An t-aonad ama: |
def main():
# Score a Pin in a Neutral Goal
drivetrain.turn_for(LEFT, 110, DEGREES)
arm_motor.set_timeout(1, SECONDS)
arm_motor.spin_for(FORWARD, 1800, DEGREES)
drivetrain.drive_for(FORWARD, 25, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Faighteoirí#
is_done#
is_done tugann sé seo ar ais an bhfuil an mótar críochnaithe ag bogadh, mar luach Booleanach. Is féidir é seo a úsáid chun am iompraíochtaí eile a rialú bunaithe ar ghluaiseacht an mhótair.
True— Tá an mótar críochnaithe ag gluaiseacht.False— Tá an mótar fós ag gluaiseacht.
Oibríonn an modh seo i gcomhar leis na modhanna Gluaiseachta seo a leanas a bhfuil an paraiméadar wait acu: spin_for agus spin_to_position.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Raise the Arm while driving to the Goal
arm_motor.spin_to_position(800, DEGREES, wait=False)
wait(0.1, SECONDS)
while not arm_motor.is_done():
drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)
ag_sníomh#
is_spinning Booleánach ar ais chun a fháil amach an bhfuil an mótar ag sníomh, mar luach Booleánach. Is féidir é seo a úsáid chun am iompraíochtaí eile a rialú bunaithe ar ghluaiseacht an mhótair.
True— Tá an mótar ag sníomh.False— Níl an mótar ag sníomh.
Oibríonn an modh seo i gcomhar leis na modhanna Gluaiseachta seo a leanas a bhfuil an paraiméadar wait acu: spin_for agus spin_to_position.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Raise the Arm while driving to the Goal, then release the Pin
arm_motor.spin_to_position(800, DEGREES, wait=False)
wait(0.1, SECONDS)
while arm_motor.is_spinning():
drivetrain.drive_for(FORWARD, 25, MM)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
seasamh#
Is é suíomh innill an fad atá sé sníomhaithe, a thomhastar i DEGREES nó TURNSIs ionann casadh amháin agus 360 céim. position tugann sé suíomh reatha an innill ar ais.
Ag tús tionscadail, socraítear suíomh Mhótar na Láimhe go 0 céim. Is é Mótar na Crúba an t-eisceacht — tosaíonn sé ag 467 céim (dúnta go hiomlán). Má rothlaíonn an mótar casadh iomlán amháin ar aghaidh, méadaíonn an suíomh. Má rothlaíonn an mótar sa treo eile, laghdaíonn an suíomh.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An t-aonad chun suíomh an mhótair a thabhairt ar ais i: |
def main():
# Raise the Arm, then release the Pin
while arm_motor.position(DEGREES) < 800:
arm_motor.spin(FORWARD)
wait(2, MSEC)
arm_motor.stop()
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
luas#
velocity a thugann ar ais cé chomh tapa agus atá an mótar ag sníomh.
Ciallaíonn luach dearfach go bhfuil an mótar ag sníomh ar aghaidh. Ciallaíonn luach diúltach go bhfuil an mótar ag sníomh ar gcúl.
Úsáid:
Is féidir ceann amháin de dhá réad mótair atá ar fáil a úsáid leis an modh seo, mar a thaispeántar thíos:
mótar |
Ordú |
|---|---|
|
|
|
|
Paraiméadair |
Cur síos |
|---|---|
|
An t-aonad luais le tabhairt ar ais: |
def main():
# Show Arm Motor velocity while raising
arm_motor.set_velocity(100, PERCENT)
arm_motor.spin_to_position(800, DEGREES, wait=False)
wait(0.2, SECONDS)
brain.screen.print(arm_motor.velocity(PERCENT))
# VR threads — Do not delete
vr_thread(main)
Fís AI#
Faighteoirí#
tóg_pictiúr#
Scagann take_snapshot sonraí ó fhráma Braiteoir Fís AI go síniú aonair — cur síos sábháilte ar rud is féidir leis an braiteoir a aithint, amhail eilimint chluiche ar an bpáirc — agus tugann sé tuple ar ais.
Stórálann an tuple réada in ord ón gceann is mó go dtí an ceann is lú de réir leithead, ag tosú ag innéacs 0. Is féidir rochtain a fháil ar airíonna gach réada trína innéacs a úsáid. Seoltar tuple folamh ar ais mura mbraitear aon réada comhoiriúnacha.
Usage:
ai_vision.take_snapshot(signature)
Paraiméadair |
Cur síos |
|---|---|
|
Scagann sé an tacar sonraí chun sonraí an tsínithe tugtha amháin a áireamh. Is iad na sínithe atá ar fáil:
|
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Turn to face the Pin
drivetrain.set_turn_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].centerX < 140:
drivetrain.turn(LEFT)
elif ai_objects[0].centerX > 180:
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
break
# VR threads — Do not delete
vr_thread(main)
Airíonna#
Tá seacht n-airíonna san áireamh le gach réad atá stóráilte i dtuple tar éis take_snapshot a úsáid.
Déanann gach luach maoine seachas .id cur síos ar shuíomh agus méid an réada braite i radharc Braiteoir Fís AI ag an nóiméad a úsáideadh take_snapshot Tomhaistear na luachanna seo i bpicteilíní, bunaithe ar réiteach 320 faoi 240 picteilín an braiteora.
.leithead#
Tugann .width leithead an réada braite i bpicteilíní ar ais, ar slánuimhir é idir 1 agus 320.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Approach the next Cup and Pin
drivetrain.set_drive_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].width > 140:
drivetrain.stop()
break
else:
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
airde#
.height tugann sé airde an réada braite i bpicteilíní ar ais, ar slánuimhir é idir 1 agus 240.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Approach the next Cup and Pin
drivetrain.set_drive_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].height > 200:
drivetrain.stop()
break
else:
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
.centerX#
.centerX seolann sé comhordanáid-x lár an réada braite i bpicteilíní ar ais, ar slánuimhir idir 0 agus 320 é.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Turn and approach the next Cup and Pin
drivetrain.set_turn_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].centerX < 140:
drivetrain.turn_for(LEFT, 5, DEGREES)
else:
drivetrain.drive_for(FORWARD, 25, INCHES)
break
# VR threads — Do not delete
vr_thread(main)
.centerY#
.centerY seolann sé comhordanáid-y lár an réada braite i bpicteilíní ar ais, ar slánuimhir idir 0 agus 240 é.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Approach the next Cup and Pin
drivetrain.set_drive_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].centerY > 230:
drivetrain.stop()
break
else:
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
.originX#
.originX seolann sé comhordanáid-x chúinne uachtarach na láimhe clé de bhosca teorann an réada braite i bpicteilíní, ar slánuimhir idir 0 agus 320 í.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Turn and approach the next Cup and Pin
drivetrain.set_turn_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].originX < 100:
drivetrain.turn_for(LEFT, 5, DEGREES)
else:
drivetrain.drive_for(FORWARD, 25, INCHES)
break
# VR threads — Do not delete
vr_thread(main)
.bunúsY#
Tugann .originY comhordanáid-y chúinne uachtarach na láimhe clé de bhosca teorann an réada braite ar ais i bpicteilíní, arb é slánuimhir idir 0 agus 240 é.
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Approach the next Cup and Pin
drivetrain.set_drive_velocity(30, PERCENT)
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
if ai_objects[0].originY > 140:
drivetrain.stop()
break
else:
drivetrain.drive(FORWARD)
# VR threads — Do not delete
vr_thread(main)
.id#
.id tugann sé aitheantóir an Aicmithe AI a braitheadh ar ais mar shlánuimhir.
Aicmiú AI |
aitheantas |
Síniú |
|---|---|---|
Biorán DeargGorm |
0 |
|
Biorán GormBuí |
1 |
|
Biorán DeargBuí |
2 |
|
Biorán Buí |
3 |
|
Corn |
4 |
|
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
drivetrain.turn_for(LEFT, 70, DEGREES)
# Display the ID of the next closest object
while True:
ai_objects = ai_vision.take_snapshot(AiVision.ALL_AIOBJS)
if ai_objects:
brain.screen.print(ai_objects[0].id)
break
# VR threads — Do not delete
vr_thread(main)
Consól#
Taispeánann an Consól téacs, uimhreacha, agus luachanna athróg agus tionscadal ar siúl. Is féidir le modhanna consól an cúrsóir a bhogadh go sraith nua, an Consól a ghlanadh, agus athróga nó luachanna braiteora a chur leis an táb Monatóra.
Priontáil#
prionta.scáileáin.inchinne#
brain.screen.print taispeánann téacs, uimhreacha, nó luachanna athróg sa Chonsól ag baint úsáide as suíomh reatha an chúrsóra.
Úsáid brain.screen.next_row nuair is mian leat go dtosóidh an chéad luach priontáilte eile ar shraith nua.
Usage:
brain.screen.print(value)
Paraiméadair |
Cur síos |
|---|---|
|
An téacs, an uimhir, nó an luach athrógach le taispeáint sa Chonsól. |
def main():
# Display a message in the Console
brain.screen.print("Hello, robot!")
# VR threads — Do not delete
vr_thread(main)
scáileán.inchinn.an chéad_roghanna_eile#
brain.screen.next_row bogann an cúrsóir go colún 1 ar an gcéad ró eile sa Chonsól. Beidh an chéad luach eile a phriontáiltear le feiceáil ar an ró sin.
Usage:
brain.screen.next_row()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Print on two rows
brain.screen.print("Row 1")
brain.screen.next_row()
brain.screen.print("Row 2")
# VR threads — Do not delete
vr_thread(main)
scáileán.inchinn.scáileán_clear#
brain.screen.clear_screen Glanann sé na sraitheanna uile ón gConsól agus bogann sé an cúrsóir ar ais go Ró 1.
Usage:
brain.screen.clear_screen()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Display text, then clear it after two seconds
brain.screen.print("This will disappear...")
wait(2, SECONDS)
brain.screen.clear_screen()
# VR threads — Do not delete
vr_thread(main)
Monatóir#
athróg_monatóra#
monitor_variable Cuireann athróg réamhshainithe amháin nó níos mó leis an táb Monatóireachta i VEXcode. Ligeann sé seo duit féachaint ar luach athróige ag athrú agus tionscadal ar siúl.
Ní mór athróga a bheith domhanda le go n-éireoidh le monatóireacht a dhéanamh orthu le monitor_variable Cuir ainm gach athróige ar fáil mar theaghrán.
Usage:
monitor_variable(“variable”)
monitor_variable(“variable1”, “variable2”)
Paraiméadair |
Cur síos |
|---|---|
|
Ainm athróg dhomhanda réamhshainithe le monatóireacht a dhéanamh uirthi, tugtha mar theaghrán. Chun níos mó ná athróg amháin a mhonatóiriú, scar gach ainm athróg le camóg. |
def main():
# Monitor the number of loops
global loops
monitor_variable("loops")
# Turn in a full circle 3 times
for loops in range(12):
drivetrain.turn_for(RIGHT, 90, DEGREES)
# VR threads — Do not delete
vr_thread(main)
braiteoir_monatóra#
Cuireann monitor_sensor luach braiteora amháin nó níos mó leis an táb Monatóra i VEXcode. Ligeann sé seo duit féachaint ar luachanna braiteora ag athrú agus tionscadal ar siúl.
Cuir gach luach braiteora ar fáil mar theaghrán.
Usage:
monitor_sensor(“sensor”)
monitor_sensor(“sensor1”, “sensor2”)
Paraiméadair |
Cur síos |
|---|---|
|
The sensor value to monitor, given as a string. To monitor more than one sensor value, separate each sensor value with a comma. Supported sensor identifiers include:
|
def main():
# Monitor the robot's heading
monitor_sensor("drivetrain.heading")
drivetrain.turn_for(RIGHT, 450, DEGREES)
# VR threads — Do not delete
vr_thread(main)
Braiteadh#
Fad#
réad_aimsithe#
found_object tugann sé seo ar ais an bhfuil réad laistigh de 2000mm á bhrath ag an Braiteoir Fad faoi láthair.
True— Braitheann an Braiteoir Faid réad.False— Ní bhraitheann an Braiteoir Fad réad.
Usage:
distance.found_object()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Turn until something is detected, then release the Pin
drivetrain.turn(RIGHT)
while True:
wait(5, MSEC)
if distance.found_object():
drivetrain.stop()
break
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
achar_réada#
object_distance tugann sé an fad ar ais idir an Braiteoir Fad agus an réad braite is gaire.
Usage:
distance.object_distance(units)
Paraiméadair |
Cur síos |
|---|---|
|
An t-aonad achair: |
def main():
# Drive until 200 mm from the Goal, then release the Pin
while distance.object_distance(MM) > 200:
wait(5, MSEC)
drivetrain.drive(FORWARD)
drivetrain.stop()
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
GPS#
suíomh_x#
Tugann x_position comhordanáid-x reatha Braiteora GPS (Córas Suiteála Cluiche™) ar an bpáirc ar ais.
Usage:
gps.x_position(units)
Paraiméadair |
Cur síos |
|---|---|
aonaid |
Aonad an luacha fritháirimh: |
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive(FORWARD)
while not gps.x_position(MM) > -1370:
wait(2, MSEC)
drivetrain.stop()
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
suíomh_y#
Tugann y_position comhordanáid y reatha Braiteora GPS (Córas Suiteála Cluiche™) ar an bpáirc ar ais.
Usage:
gps.y_position(units)
Paraiméadair |
Cur síos |
|---|---|
aonaid |
Aonad an luacha fritháirimh: |
def main():
# Raise the Arm, drive to the Goal, release the Pin
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive(FORWARD)
while not gps.y_position(MM) < -450:
wait(2, MSEC)
drivetrain.stop()
claw_motor.spin_for(REVERSE, 180, DEGREES)
# VR threads — Do not delete
vr_thread(main)
ceannteideal#
Tugann heading an ceannteideal atá os comhair an róbait faoi láthair ar ais bunaithe ar léamha an Braiteora GPS (Córas Positioning Cluiche™) ó 0 go 359 céim.
Usage:
gps.heading()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
def main():
# Raise the Arm, drive to the Goal, release the Pin
monitor_sensor("gps.heading")
arm_motor.spin_for(FORWARD, 300, DEGREES)
drivetrain.drive_for(FORWARD, 10, INCHES)
claw_motor.spin_for(REVERSE, 180, DEGREES)
# Turn left to face the Neutral Goal
drivetrain.set_turn_velocity(30, PERCENT)
drivetrain.turn(LEFT)
while not gps.heading() < 18:
wait(2, MSEC)
drivetrain.stop()
# VR threads — Do not delete
vr_thread(main)