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.

Róbat Códaithe VEX AIM le saighead ghorm ag pointeáil anuas ó lár an róbait. Timpeall na saighead gorma, tá saighead cuartha dhubh ag pointeáil deiseal, rud a léiríonn an treo dearfach giúise.

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.

Róbat Códaithe VEX AIM le saighead ghlas ag síneadh amach ó thosach an róbait, i lár an braiteora AI Vision. Timpeall na saighead ghlas, cuarann ​​saighead dhubh tuathalach, ag léiriú an treo dearfach don rolladh.

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.

Róbat Códaithe VEX AIM le saighead dhearg ag síneadh amach ó thaobh an róbait faoin lógó VEX. Timpeall na saighead deirge, cuarann ​​saighead dhubh tuathalach, ag léiriú an treo dearfach don pháirc.

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

heading

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

callback

Feidhm [Feidhmeanna] atá sainmhínithe roimhe seo le forghníomhú nuair a bhraitear imbhualadh.

arg

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

sensitivity

Íogaireacht na tuairteála:

  • HIGH — Is íogaire; braitheann sé tionchair níos lú agus spreagann sé ag 1G.
  • NORMAL — Íogaireacht réamhshocraithe; braitheann sé tionchair mheasartha agus spreagann sé ag 1.5G.
  • LOW — Is lú íogaireacht; braitheann sé tionchair níos láidre agus spreagann sé ag 2G.

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.

Róbat Códaithe VEX AIM le saigheada treorach ag síneadh amach ó lár an róbait. Síneann saighead ghlas atá lipéadaithe ar aghaidh amach ó thosach an róbait, síneann saighead ghorm lipéadaithe anuas amach ó bhun an róbait, agus síneann saighead dhearg atá lipéadaithe ar dheis amach ó thaobh an róbait faoi lógó VEX.

Úsáid:

robot.inertial.get_acceleration(type)

Paraiméadair

Cur síos

type

An ais le luasghéarú a thomhas air:

  • DOWNWARD — Tomhaiseann sé luasghéarú feadh treo ingearach an róbait.
  • FORWARD — Tomhaiseann sé luasghéarú feadh treo tosaigh go cúl an róbait.
  • RIGHTWARD — Tomhaiseann sé luasghéarú feadh treo taobh go taobh an róbait.

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

Róbat Códaithe VEX AIM le saigheada treorach ag síneadh amach ó lár an róbait. Síneann saighead uaine lipéadaithe rolla amach ó thosach an róbait le saighead cuartha dubh ag pointeáil tuathalach timpeall air. Síneann saighead ghorm lipéadaithe Yaw amach ó bhun an róbait le saighead cuartha dubh ag pointeáil deiseal timpeall air. Agus síneann saighead dhearg lipéadaithe Pitch amach ó thaobh an róbait faoi lógó VEX, le saighead cuartha dubh ag pointeáil tuathalach timpeall air.

Usage:
robot.inertial.get_turn_rate(axis)

Paraiméadair

Cur síos

axis

Cén treoshuíomh le tabhairt ar ais:

  • YAW
  • ROLL
  • PITCH
# 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)