Gluaiseacht#

Réamhrá#

Úsáideann an Róbat Códaithe VEX AIM tiomáint holonomic chun bogadh ar aghaidh, ar gcúl, ar chlé, ar dheis, nó ag uillinn agus é in ann casadh go neamhspleách ag an am céanna. Rialaíonn modhanna gluaisne conas a ghluaiseann agus a chasann an róbat, cé chomh tapa agus a ghluaiseann sé, agus conas a rianaítear a shuíomh x agus y.

Dial compáis chiorclach ó 0 go 315 céim timpeall ar thaispeántas liath dorcha le scáileán gorm cabhlaigh. Tá tosaigh an róbait os comhair 0 céim ar dhiail an chompáis.

Seo thíos liosta de na modhanna atá ar fáil:

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

  • move_at — Bogann sé an róbat ag uillinn shonrach go deo.

  • move_for — Bogann sé an róbat ag uillinn shonrach ar feadh achar sonraithe.

  • move_with_vectors — Bogann sé an róbat ag baint úsáide as luachanna x, y, agus rothlaithe bunaithe ar veicteoirí.

  • 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 — Casann sé an róbat chun aghaidh a thabhairt ar threo ar leith.

  • stop_all_movement — Stopann sé gach gluaiseacht den róbat.

Múiteoirí — Socraigh luachanna gluaiseachta an róbait.

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

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

  • set_xy_position — Athraíonn sé seo suíomh x agus y reatha an róbait go luachanna nua.

Getters — Tuairiscigh staid agus suíomh an róbait.

  • get_x_position — Tugann sé seo comhordanáid x reatha an róbait ar ais.

  • get_y_position — Tugann sé seo comhordanáid y reatha an róbait ar ais.

  • is_move_active — Tugann sé seo le fios an bhfuil an róbat ag bogadh.

  • is_turn_active — Tugann sé seo ar ais an bhfuil an róbat ag casadh.

  • is_stopped — Tugann sé seo le fios an bhfuil an róbat ag bogadh ná ag casadh.

Gníomhartha#

move_at#

move_at bogann an róbat go deo ag uillinn shonrach. Tá an uillinn i gcoibhneas le suíomh reatha an róbait. Leanfaidh an róbat ag bogadh go dtí go dtabharfar gníomh eile dó, amhail bogadh ag uillinn dhifriúil, casadh, nó stopadh.

Úsáid:

robot.move_at(angle, velocity, units)

Paraiméadair

Cur síos

angle

An uillinn, i gcéimeanna, a ghluaiseann an róbat. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil ó -360 go 360.

velocity

Roghnach. An luas le bogadh leis ó 0% go 100% nuair a úsáidtear PERCENT, nó ó 0 go 200 milliméadar in aghaidh an tsoicind nuair a úsáidtear MMPS. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe). Mura soláthraítear aon luas, bogann an róbat ag an luas gluaiseachta reatha.

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe) nó MMPS (milliméadair in aghaidh an tsoicind).

# Move right, then move forward and stop.
robot.move_at(90)
wait(1,SECONDS)
robot.move_at(0)
wait(1,SECONDS)
robot.stop_all_movement()

# Move right slowly, move in reverse quickly and stop.
robot.move_at(90, 25)
wait(2, SECONDS)
robot.move_at(180, 100, PERCENT)
wait(1, SECONDS)
robot.stop_all_movement()

# Move diagonally to the right and stop.
robot.move_at(45.33)
wait(1,SECONDS)
robot.stop_all_movement()

move_for#

move_for bogann an róbat ag uillinn shonrach ar feadh achar sonrach. Tá an uillinn i gcoibhneas le suíomh reatha an róbait. 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.

Úsáid:

robot.move_for(distance, angle, velocity, units, wait)

Paraiméadair

Cur síos

distance

An fad a ghluaiseann an róbat, i milliméadair (mm). Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe).

angle

An uillinn, i gcéimeanna, a ghluaiseann an róbat. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil ó -360 go 360.

velocity

Roghnach. An luas le bogadh leis ó 0% go 100% nuair a úsáidtear PERCENT, nó ó 0 go 200 milliméadar in aghaidh an tsoicind nuair a úsáidtear MMPS. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe). Mura soláthraítear aon luas, bogann an róbat ag an luas gluaiseachta reatha.

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe) nó MMPS (milliméadair 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.

# Move right, then move forward.
robot.move_for(50, 90)
robot.move_for(100, 0)

# Move in reverse slowly, then move forward quickly.
robot.move_for(100, 180, 25)
robot.move_for(100, 0, 100, PERCENT)

# Drive forward and blink all LEDs red.
robot.move_for(100, 0, wait=False)
robot.led.on(ALL_LEDS, RED)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, BLACK)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, RED)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, BLACK)

move_with_vectors#

Is bealach é veicteoir chun cur síos a dhéanamh ar cé chomh tapa agus a ghluaiseann rud éigin, agus cén treo ina mbogann sé. move_with_vectors Bogann an róbat ag baint úsáide as gluaiseacht veicteoir-bhunaithe. Comhcheanglaíonn an róbat luachanna luas ar aghaidh, ar dheis agus rothlaithe chun gluaiseacht réidh a chruthú. Leanfaidh an róbat ag bogadh ag baint úsáide as an veicteoir seo go dtí go dtabharfar gníomh eile dó, amhail bogadh ag uillinn dhifriúil, casadh nó stopadh.

Nóta: Socraíonn an modh seo luachanna gluaiseachta agus luas casadh go díreach, mar sin ní úsáideann sé set_move_velocity ná set_turn_velocity.

Úsáid:

robot.move_with_vectors(forward, rightward, rotation)

Paraiméadair

Cur síos

forward

Luas an róbait feadh an ais-y, ó -100% go 100%. Bogann luachanna diúltacha an róbat ar gcúl agus bogann luachanna dearfacha ar aghaidh é.

rightward

Luas an róbait feadh an ais-x, ó -100% go 100%. Bogann luachanna diúltacha an róbat ar chlé agus bogann luachanna dearfacha ar dheis é.

rotation

Luas casadh an róbait, ó -100% go 100%. Casann luachanna diúltacha an róbat tuathalach agus casann luachanna dearfacha deiseal é.

# Move at 15°
robot.move_with_vectors(48.3, 12.95, 0)
wait(2, SECONDS)
robot.stop_all_movement()

# Move at 45° while turning counterclockwise.
robot.move_with_vectors(50, 50, -30)
wait(2, SECONDS)
robot.stop_all_movement()

# Scaling movement using the controller joystick
while True:
    # Move forward (and backwards) slower than axis1 input
    forward   = controller.axis1.position() * 0.7
    
    # Move right (and left) faster than axis2 input
    rightward = controller.axis2.position() * 1.5    

    robot.move_with_vectors(forward, rightward, 0)

    wait(5, MSEC)

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 bogadh nó stopadh.

Úsáid:

robot.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% nuair a úsáidtear PERCENT, nó ó 0 go 150 céim in aghaidh an tsoicind nuair a úsáidtear DPSIs féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe). Mura soláthraítear aon luas, casann an róbat ag an luas casadh reatha.

units

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

# Turn left, then stop.
robot.turn(LEFT)
wait(1, SECONDS)
robot.stop_all_movement()

# Turn left quickly, turn right slowly, then stop.
robot.turn(LEFT, 80)
wait(2, SECONDS)
robot.turn(RIGHT, 20, PERCENT)
wait(3, SECONDS)
robot.stop_all_movement()

turn_for#

Casann turn_for an róbat ar chlé nó ar dheis ar feadh líon áirithe céimeanna. Tá an casadh i gcoibhneas leis an treo atá os comhair an róbat faoi láthair. 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.

Úsáid:

robot.turn_for(direction, angle, velocity, units, wait)

Paraiméadair

Cur síos

direction

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

angle

Líon na gcéimeanna a chasann an róbat, idir -360 agus 360 céim. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe).

velocity

Roghnach. An luas le casadh leis ó 0% go 100% nuair a úsáidtear PERCENT, nó ó 0 go 150 céim in aghaidh an tsoicind nuair a úsáidtear DPSIs féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe). Mura soláthraítear aon luas, casann an róbat ag an luas casadh reatha.

units

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

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 turn around to the right.
robot.turn_for(LEFT, 90)
robot.turn_for(RIGHT, 180)

# Turn left quickly, then turn right slowly.
robot.turn_for(LEFT, 90, 100)
robot.turn_for(RIGHT, 180, 15, PERCENT)

# Turn right and blink all LEDs blue.
robot.turn_for(RIGHT, 180, wait=False)
robot.led.on(ALL_LEDS, BLUE)
wait(0.5, SECONDS)
robot.led.off(ALL_LEDS)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, BLUE)
wait(0.5, SECONDS)
robot.led.off(ALL_LEDS)

turn_to#

Is é treo an róbait ná an treo a bhfuil sé os a chomhair, agus é á thomhas i gcéimeanna. Casann turn_to an róbat chun treo ar leith a thabhairt. 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.

Úsáid:

robot.turn_to(heading, velocity, units, wait)

Paraiméadair

Cur síos

heading

An treo ba chóir don róbat a bheith os a chomhair, ó -360 go 360 céim.

velocity

Roghnach. An luas le casadh leis ó 0% go 100% nuair a úsáidtear PERCENT, nó ó 0 go 150 céim in aghaidh an tsoicind nuair a úsáidtear DPSIs féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe). Mura soláthraítear aon luas, casann an róbat ag an luas casadh reatha.

units

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

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 each cardinal directions.
robot.turn_to(90)
wait(2, SECONDS)
robot.turn_to(180)
wait(2, SECONDS)
robot.turn_to(270)
wait(2, SECONDS)
robot.turn_to(0)

# Turn to face backward slowly, then face forward quickly.
robot.turn_to(180, 25)
wait(1, SECONDS)
robot.turn_to(0, 90, PERCENT)

# Turn around quickly and blink all LEDs green.
robot.turn_to(180, 100, wait=False)
robot.led.on(ALL_LEDS, GREEN)
wait(0.5, SECONDS)
robot.led.off(ALL_LEDS)
wait(0.5, SECONDS)
robot.led.on(ALL_LEDS, GREEN)
wait(0.5, SECONDS)
robot.led.off(ALL_LEDS)

stop_all_movement#

stop_all_movement stopann gach gluaiseacht an róbait.

Úsáid:

robot.stop_all_movement()

Paraiméadair

Cur síos

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

# Turn right, then stop moving
robot.turn(RIGHT)
wait(1, SECONDS)
robot.stop_all_movement()

Sóiteoirí#

set_move_velocity#

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

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

Is ionann luas gluaiseachta 100% agus 200 milliméadar in aghaidh an tsoicind.

Úsáid:

robot.set_move_velocity(velocity, units)

Paraiméadair

Cur síos

velocity

An luas le bogadh leis ó 0% go 100% agus PERCENT, nó ó 0 go 200 milliméadar in aghaidh an tsoicind agus MMPSá úsáid . Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe).

units

Roghnach. An t-aonad luais: PERCENT (réamhshocraithe) nó MMPS (milliméadair in aghaidh an tsoicind).

# Move forward at the default velocity,
robot.set_move_velocity(50)
robot.move_for(100, 0)
wait(1, SECONDS)
# Move slower than the default velocity
robot.set_move_velocity(20)
robot.move_for(100, 0)
wait(1, SECONDS)
# Move faster than the default velocity
robot.set_move_velocity(100)
robot.move_for(100, 0)

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% (75 céim in aghaidh an tsoicind) de réir réamhshocraithe.

Úsáid:

robot.set_turn_velocity(velocity, units)

Paraiméadair

Cur síos

velocity

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

units

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

# Turn around at default velocity
robot.set_turn_velocity(50)
robot.turn_for(RIGHT, 180)
wait(1, SECONDS)
# Turn around slower than the default velocity
robot.set_turn_velocity(20)
robot.turn_for(RIGHT, 180)
wait(1, SECONDS)
# Turn around faster than the default velocity
robot.set_turn_velocity(100)
robot.turn_for(RIGHT, 180)

set_xy_position#

set_xy_position athraíonn suíomh x agus y reatha an róbait go luachanna nua.

Mar shampla, má bhog an róbat óna phointe tosaigh, má shocraítear x go 0 agus y go 0, is é suíomh reatha an róbait an suíomh nua 0, 0. Ansin is féidir leis an róbat suíomhanna amach anseo a rianú bunaithe ar an luach nua sin.

Úsáid:

robot.set_xy_position(x, y)

Paraiméadair

Cur síos

x

An luach suíomh-x le socrú don róbat, i mm. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe).

y

An luach suíomh-y le socrú don róbat, i mm. Is féidir leis seo a bheith ina shlánuimhir nó ina dheachúil (snámhphointe).

# Set the robot's current position
# Move forward and print the new coordinate
robot.set_xy_position(100, 50)
robot.move_for(150, 0)
robot.screen.print("X:", robot.get_x_position())
robot.screen.next_row()
robot.screen.print("Y:", robot.get_y_position())

Faighteoirí#

get_x_position#

get_x_position tugann sé comhordanáid x reatha an róbait ar ais i milliméadair.

Ag tús tionscadail, socraítear suíomh-x an róbait go 0. Athraíonn an suíomh-x de réir mar a ghluaiseann an róbat ar chlé nó ar dheis agus is féidir é a shocrú ag baint úsáide as an modh set_xy_position.

Úsáid:

robot.get_x_position()

Paraiméadair

Cur síos

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

# Print the start and end x-value 
# of the robot's position after moving
robot.screen.print("Start X:", robot.get_x_position())
robot.move_for(200, 90)
robot.screen.next_row()
robot.screen.print("End X:", robot.get_x_position())

get_y_position#

get_y_position tugann sé comhordanáid y reatha an róbait ar ais i milliméadair.

Ag tús tionscadail, socraítear suíomh-y an róbait go 0. Athraíonn an suíomh-y de réir mar a ghluaiseann an róbat ar aghaidh nó ar gcúl agus is féidir é a shocrú ag baint úsáide as an modh set_xy_position.

Úsáid:

robot.get_y_position()

Paraiméadair

Cur síos

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

# Print the start and end y-value 
# of the robot's position after moving
robot.screen.print("Start Y:", robot.get_y_position())
robot.move_for(200, 0)
robot.screen.next_row()
robot.screen.print("End Y:", robot.get_y_position())

is_move_active#

is_move_active 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 le modhanna Gluaiseachta a bhfuil an paraiméadar wait acu, amhail move_for.

Úsáid:

robot.is_move_active()

Paraiméadair

Cur síos

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

# Blink all the LEDs when the robot is moving.
robot.move_for(200, 0, wait=False)

while robot.is_move_active():
    robot.led.on(ALL_LEDS, ORANGE)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, CYAN)
    wait(0.5, SECONDS)

robot.led.off(ALL_LEDS)

is_turn_active#

is_turn_active ar ais an bhfuil an róbat ag casadh, 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 ag casadh.

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

Oibríonn an modh seo i gcomhar le modhanna Gluaiseachta a bhfuil an paraiméadar wait acu, amhail turn_for agus turn_to.

Úsáid:

robot.is_turn_active()

Paraiméadair

Cur síos

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

# Blink all the LEDs while the robot is turning
robot.turn_for(RIGHT, 180, wait=False) 

while robot.is_turn_active():
    robot.led.on(ALL_LEDS, GREEN)
    wait(0.5, SECONDS)
    robot.led.on(ALL_LEDS, CYAN)
    wait(0.5, SECONDS)

robot.led.off(ALL_LEDS)

is_stopped#

is_stopped ar ais cibé an bhfuil an róbat ag bogadh ná 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 — Níl an róbat ag bogadh ná ag casadh.

  • False — Tá an róbat ag bogadh nó ag casadh.

Úsáid:

robot.is_stopped()

Paraiméadair

Cur síos

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

# Blink all the LEDs while the robot is moving or turning

def light_show():
    # Flash LEDs while the robot is moving or turning
    while not robot.is_stopped():
        robot.led.on(ALL_LEDS, GREEN)
        wait(.5, SECONDS)
        robot.led.on(ALL_LEDS, PURPLE)
        wait(.5, SECONDS)

    robot.led.off(ALL_LEDS)

robot.move_for(200, 0, wait=False)
light_show()

robot.turn_for(RIGHT, 180, wait=False)
light_show()