Támhúlacht#
Réamhrá#
Tá Braiteoir Támha ionsuite sa Róbat Códaithe VEX AIM. Tomhaiseann an braiteoir seo conas atá an róbat ag bogadh agus ag casadh.
Úsáideann an Braiteoir Táimhe dhá chuid chun seo a dhéanamh. Déanann an giroscóp tomhas ar chasadh, amhail treo, rothlú, luasghéarú, rolladh, claonadh agus ráta casadh an róbait. Déanann an luasghéaraitheoir athruithe i ngluaiseacht a thomhas, amhail luasghéarú, moilliú nó stopadh go tobann le linn timpiste.
Is féidir na modhanna táimhe a úsáid chun casadh a rianú, luasghéarú a thomhas, tuairteanna a bhrath, luachanna treo nó rothlaithe a athshocrú, agus an braiteoir a chalabrú.
Seo thíos liosta de na modhanna uile:
Treoshuíomh — Faigh agus athshocraigh conas atá an róbat ag tabhairt aghaidh air, ag casadh nó ag claonadh.
get_rotation— Tugann sé seo ar ais cé chomh fada agus atá an róbat casta.get_heading— Tugann sé seo an treo ina bhfuil an róbat os comhair ar ais, ó 0 go 359.99 céim.get_yaw— Tugann sé seo uillinn luasctha an róbait ar ais.get_roll— Tugann sé seo uillinn rolla an róbait ar ais.get_pitch— Tugann sé seo uillinn pháirce an róbait ar ais.reset_rotation— Athshocraíonn sé rothlú reatha an róbait go 0 céim.reset_heading— Athshocraíonn sé treo reatha an róbait go 0 céim.set_heading— Socraíonn sé seo luach ceannteidil nua do cheannteideal reatha an róbait.
Tuairt — Braith imbhuailtí.
crashed— Cláraíonn sé feidhm le rith nuair a bhraitear tuairteáil.set_crash_sensitivity— Socraíonn sé cé chomh híogair is atá braiteadh tuairte i leith imbhuailtí.
Gluaiseacht — Tomhais luasghéarú agus luas casadh.
get_acceleration— Tugann sé seo ar ais cé chomh tapa agus atá an róbat ag luasghéarú nó ag moilliú ar an ais roghnaithe.get_turn_rate— Tugann sé seo ar ais cé chomh tapa agus atá an róbat ag rothlú ar an ais roghnaithe.
Calabrú — Bainistigh calabrú braiteora.
calibrate— Calabraíonn sé an Braiteoir Támha.is_calibrating— Tugann sé seo ar ais an bhfuil an Braiteoir Támha ag calabrú faoi láthair.
Treoshuíomh#
get_rotation#
Is é rothlú an méid atá casta ag an róbat, a thomhaistear i gcéimeanna. Murab ionann agus treo, is féidir le rothlú méadú thar 359.99 céim nó laghdú faoi bhun 0 céim. Ag tús tionscadail, socraítear an luach rothlaithe go 0 céim. Tugann get_rotation rothlú reatha an róbait ar ais mar shnámhphointe.
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, gheobhaidh tú rothlú 720 céim. Má dhéantar casadh iomlán amháin ar chlé ó 0 céim, gheobhaidh tú rothlú -360 céim.
Usage:
robot.inertial.get_rotation()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Display the robot's rotation as it rotates
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(f"Rotation: {robot.inertial.get_rotation():.2f}")
wait(50, MSEC)
get_heading#
Is éard atá i gceannteideal an treo ina bhfuil an róbat ag tabhairt aghaidh, agus é á thomhas i gcéimeanna ó 0 go 359.99. get_heading tugann sé ceannteideal reatha an róbait ar ais mar shnámhphointe.
Is é 0 céim an treo tosaigh. Má chasann an róbat thar 359.99 céim, fillteann an treo ar ais go 0 céim.
Usage:
robot.inertial.get_heading()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Turn right until the heading reaches 90 degrees
robot.turn(RIGHT)
while robot.inertial.get_heading() < 90:
wait(50, MSEC)
robot.stop_all_movement()
# Display the robot's heading as it is rotated by hand
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(f"Heading: {robot.inertial.get_heading()} degrees")
wait(50, MSEC)
get_yaw#
Déanann “yaw” cur síos ar an róbat ag casadh ar chlé nó ar dheis timpeall a ais ingearach. get_yaw tugann sé uillinn “yaw” an róbait ar ais sa raon -180.00 go 180.00 céim mar shnámhphointe.
Úsáideann an íomhá thíos saigheada chun treo an rothlaithe dhearfaigh le haghaidh giall a thaispeáint.
Usage:
robot.inertial.get_yaw()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Display the robot's yaw angle as it is rotated by hand
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(robot.inertial.get_yaw())
wait(50, MSEC)
get_roll#
Déanann rolladh cur síos ar an róbat ag claonadh ó thaobh go taobh. get_roll tugann sé uillinn rolla an róbait ar ais sa raon -180.00 go 180.00 céim mar shnámhphointe.
Úsáideann an íomhá thíos saigheada chun treo rothlaithe dearfach don rolla a thaispeáint.
Usage:
robot.inertial.get_roll()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Display the robot's roll angle as it is tilted by hand
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(robot.inertial.get_roll())
wait(50, MSEC)
get_pitch#
Déanann claonadh ar aghaidh nó ar gcúl cur síos ar an róbat. get_pitch tugann sé uillinn claonadh an róbait ar ais sa raon -90.00 go 90.00 céim mar shnámhphointe.
Úsáideann an íomhá thíos saigheada chun treo rothlaithe dearfach don pháirc a thaispeáint.
Usage:
robot.inertial.get_pitch()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Display the robot's pitch angle as it is tilted by hand
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(robot.inertial.get_pitch())
wait(50, MSEC)
reset_rotation#
reset_rotation Athshocraíonn sé rothlú reatha an róbait go 0 céim.
Tar éis an modh seo a úsáid, rianaíonn an róbat casadh amach anseo ón luach rothlaithe 0 céim nua.
Usage:
robot.inertial.reset_rotation()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Reset the robot's rotation if it exceeds 180 degrees
while True:
if robot.inertial.get_rotation() >= 180:
robot.inertial.reset_rotation()
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(f"Rotation: {robot.inertial.get_rotation():.2f}")
wait(50, MSEC)
reset_heading#
reset_heading treo reatha an róbait go 0 céim.
Tar éis an modh seo a úsáid, is é treo reatha an róbait an treo nua 0 céim.
Usage:
robot.inertial.reset_heading()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Turn the robot around using a new 90 degree heading
robot.turn_to(90)
wait(1, SECONDS)
robot.inertial.reset_heading()
robot.turn_to(90)
set_heading#
Is é treo an róbait ná treo atá os comhair, arna thomhas i gcéimeanna ó 0 go 359.99. 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, beidh an suíomh sin atá ag tabhairt aghaidh ar dheis mar an 0 céim nua. Ansin is féidir leis an róbat treoruithe eile a rianú bunaithe ar an treo nua sin.
Usage:
robot.inertial.set_heading(heading)
Paraiméadair |
Cur síos |
|---|---|
|
An luach treorach, i gcéimeanna, le socrú don róbat. Is féidir leis seo a bheith ina luach ó 0 go 359.99. |
# Turn the robot to 90 degrees using its new heading
robot.inertial.set_heading(45)
robot.turn_to(90)
Tuairt#
crashed#
crashed cláraíonn feidhm le glaoch uirthi nuair a bhraitheann an róbat tionchar nó imbhualadh tobann.
Úsáid:
robot.inertial.crashed(callback, arg)
Paraiméadair |
Cur síos |
|---|---|
|
Feidhm [Feidhmeanna] atá sainmhínithe roimhe seo le forghníomhú nuair a bhraitear imbhualadh. |
|
Roghnach. Tupla ina bhfuil argóintí le cur chuig an bhfeidhm athghlaoite. Féach Úsáid Feidhmeanna le Paraiméadair le haghaidh tuilleadh eolais. |
# Define what happens when a crash occurs
def crash_detected():
# Stop all movement and indicate a crash occurred
robot.screen.print("Crash detected")
robot.stop_all_movement()
robot.inertial.crashed(crash_detected)
# Drive forward until crash
robot.move_at(0, 100)
set_crash_sensitivity#
set_crash_sensitivity coigeartaíonn sé cé mhéad luasghéaraithe tobann atá ag teastáil chun go mbraithfidh an róbat tuairt.
Usage:
robot.inertial.set_crash_sensitivity(sensitivity)
Paraiméadair |
Cur síos |
|---|---|
|
Íogaireacht na tuairteála:
|
def crashed_callback():
robot.stop_all_movement()
robot.sound.play(CRASH)
# system event handlers
robot.inertial.crashed(crashed_callback)
# add 15ms delay to make sure events are registered correctly.
wait(15, MSEC)
# Detect a crash at a slow velocity.
robot.set_move_velocity(35, PERCENT)
robot.inertial.set_crash_sensitivity(HIGH)
robot.move_at(0)
Gluaiseacht#
get_acceleration#
Is é luasghéarú cé chomh tapa agus atá an róbat ag luasghéarú nó ag moilliú. get_acceleration seolann sé luasghéarú an róbait ar an ais roghnaithe, ó -4.00 G go 4.00 G, ar ais mar shnámhphointe.
Is aonad tomhais é G a úsáidtear chun luasghéarú a thomhas. Is ionann 1 G agus an luasghéarú a bhraitheann tú ó dhomhantarraingt agus tú i do shuí go socair.
Is féidir leis an luach a bheith dearfach nó diúltach ag brath ar threo an luasghéaraithe ar an ais roghnaithe. Ar AIM, ainmnítear na roghanna ais i ndiaidh treoracha ar an róbat: FORWARD, RIGHTWARD, agus DOWNWARD.

Úsáid:
robot.inertial.get_acceleration(type)
Paraiméadair |
Cur síos |
|---|---|
|
An ais le luasghéarú a thomhas air:
|
# Display the acceleration as the robot begins to move
robot.screen.set_cursor(4,1)
sitting_accel = robot.inertial.get_acceleration(RIGHTWARD)
robot.screen.print(f"Resting: {sitting_accel:.2f}")
wait(0.5, SECONDS)
robot.screen.next_row()
robot.move_at(90, 100)
wait(0.1, SECONDS)
robot.screen.print(f"Startup: {robot.inertial.get_acceleration(RIGHTWARD):.2f}")
get_turn_rate#
Is é an ráta casadh cé chomh tapa agus atá an róbat ag rothlú. get_turn_rate seolann sé ráta casadh an róbait ar ais i gcéimeanna in aghaidh an tsoicind \(dps\) mar shnámhphointe, ó -1000.00 go 1000.00 dps.
Is féidir leis an luach a bheith dearfach nó diúltach ag brath ar an treo ina bhfuil an róbat ag rothlú ar an ais roghnaithe. Úsáideann an íomhá thíos saigheada chun treo an rothlaithe dhearfaigh a thaispeáint le haghaidh rolladh, claonadh, agus luascadh.

Usage:
robot.inertial.get_turn_rate(axis)
Paraiméadair |
Cur síos |
|---|---|
|
Cén treoshuíomh le tabhairt ar ais:
|
# Display the gyro rate as the robot is rotated by hand
while True:
robot.screen.clear_screen()
robot.screen.set_cursor(1, 1)
robot.screen.print(robot.inertial.get_turn_rate(YAW))
wait(50, MSEC)
Calabrú#
Cuidíonn calabrú leis an mbraiteoir támh casadh i gceart trí thorann agus drift an braiteora a thomhas agus a chúiteamh thar thréimhse 2 shoicind. Le linn an ama seo, ní mór don róbat fanacht go hiomlán socair ar dhromchla cobhsaí. Is féidir le gluaiseacht le linn calabrúcháin torthaí míchruinne a thabhairt.
Déanann róbónna VEX iarracht iad féin a chalabrú go huathoibríoch nuair a thosaíonn siad, ag fanacht go dtí nach mbraitheann siad aon ghluaiseacht. Mar sin féin, má tá an róbat á iompar nó á bhogadh le linn an tosaithe, d’fhéadfadh sé nach n-éireoidh leis an braiteoir calabrú i gceart nó go dtabharfadh sé calabrú mícheart.
Más rud é go bhfuil do thionscadal ag brath go mór ar threoir chruinn a bheith agat, nó más gá duit casadh comhsheasmhach agus in-athdhéanta, d’fhéadfadh sé a bheith ina chuidiú glaoch ar calibrate ag tús do chóid. Is dea-chleachtas é teachtaireacht cosúil le “Calabrú…” a thaispeáint ar scáileán an róbait le linn calabrúcháin, agus ansin é a nuashonrú go “Calabrú críochnaithe” ina dhiaidh sin chun a mheabhrú duit féin (agus d’aon duine eile atá ag úsáid an róbait) go gcaithfidh an róbat fanacht gan ghluaiseacht le linn na tréimhse seo.
calibrate#
calibrate calabraíonn an gyro. Cuidíonn calabrú leis an Braiteoir Támh casadh a thomhas i gceart trí thorann agus drift an braiteora a thomhas agus a chúiteamh thar thréimhse 2 shoicind. Le linn an ama seo, ní mór don róbat fanacht go hiomlán socair ar dhromchla cobhsaí. Is féidir le gluaiseacht le linn calabrúcháin torthaí míchruinne a thabhairt.
Déanann róbónna VEX iarracht iad féin a chalabrú go huathoibríoch nuair a thosaíonn siad, ag fanacht go dtí nach mbraitheann siad aon ghluaiseacht. Mar sin féin, má tá an róbat á iompar nó á bhogadh le linn an tosaithe, d’fhéadfadh sé nach n-éireoidh leis an braiteoir calabrú i gceart nó go dtabharfadh sé calabrú mícheart.
Usage:
robot.inertial.calibrate()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Calibrate the gyro before moving
robot.inertial.calibrate()
robot.screen.show_emoji(THINKING)
wait(2, SECONDS)
robot.screen.show_emoji(PROUD)
robot.move_for(50, 90)
is_calibrating#
is_calibrating luach Booleach ar ais a léiríonn an bhfuil an Braiteoir Támha ag calabrú.
True— Tá an Braiteoir Támha ag calabrú.False— Níl an Braiteoir Támha ag calabrú.
Usage:
robot.inertial.is_calibrating()
Paraiméadair |
Cur síos |
|---|---|
Níl aon pharaiméadair ag an modh seo. |
# Move after the calibration is completed
robot.inertial.calibrate()
while robot.inertial.is_calibrating():
robot.screen.show_emoji(THINKING)
wait(50, MSEC)
robot.screen.show_emoji(PROUD)
robot.move_for(50, 90)