Makró#
Bevezetés#
A VEX AIM Python makrók előre elkészített kódblokkok, amelyek behúzhatók egy Python projektbe. Minden makró Python parancsok csoportja, amelyek együttesen arra késztetik a robotot, hogy egy nagyobb viselkedést hajtson végre.
Ezek nem egyetlen metódusok, amelyeket kódból hívnak meg. Ehelyett minden makró egy kész kódsorozatként kerül beillesztésre, amely felhasználható önállóan, vagy szerkeszthető a projekthez való hozzáadás után.
Ezen az oldalon minden Python kódblokk azt a kódsorozatot mutatja, amely a makró használatakor beszúródik.
Az alábbiakban az összes makró listája látható:
Érzelmek – Cselekedj a robottal kifejezően.
act happy— Boldoggá teszi a robotot.act sad— Szomorúvá teszi a robotot.act silly— Bután viselkedteti a robotot.act angry— Dühösnek tetteti a robotot.act excited— Izgatottá teszi a robotot.
AI Vision (Sportlabda) – Fordulj a sportlabdák felé, vagy gyűjtsd össze őket.
turn right until sports ball— Jobbra fordul, amíg sportlabdát nem észlel.turn left until sports ball— Balra fordul, amíg sportlabdát nem észlel.get sports ball— A robotot egy sportlabda összegyűjtésére mozgatja.
AI látás (Narancssárga hordó) – Fordulj a narancssárga hordók felé, vagy gyűjtsd össze őket.
turn right until orange barrel— Jobbra fordul, amíg narancssárga hordót nem észlelsz.turn left until orange barrel— Balra fordulás, amíg narancssárga hordót nem észlel.get orange barrel— A robotot egy narancssárga hordó összegyűjtésére mozgatja.
AI látás (Kék hordó) – Fordulj a kék hordók felé, vagy gyűjtsd össze őket.
turn right until blue barrel— Jobbra fordul, amíg kék hordót nem észlelsz.turn left until blue barrel— Balra fordul, amíg kék hordót nem észlel.get blue barrel— A robotot egy kék hordó összegyűjtésére mozgatja.
AI látás (AIM robot) – Forduljon vagy mozogjon más AIM robotok felé.
turn right until AIM robotAIM robot meg nem jelenik — Jobbra fordul, amíg egy másik AIM robotot nem észlel.turn left until AIM robotAIM robot meg nem jelenik — Balra fordul, amíg egy másik AIM robotot nem észlel.move to AIM robotAIM robothoz — Egy másik AIM robot felé mozog.
AI Vision (AprilTag) – Az AprilTags felé fordulás vagy elmozdulás.
turn right until AprilTagig — Jobbra fordul, amíg AprilTag-et nem észlel.turn left until AprilTagig — Balra fordul, amíg AprilTag-et nem észlel.move to AprilTag— Egy AprilTag felé mozdul el.
Érzelmek#
act happy#
Ez a makró vidám arcok mutatásával, vidám hangok lejátszásával, a LED-ek váltásával és előre-hátra mozgással készteti a robotot vidám viselkedésre. Akkor használd, amikor a robotnak vidáman vagy pozitívan kell reagálnia.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# act happy
robot.screen.show_emoji(HAPPY)
wait(.5,SECONDS)
robot.sound.play(ACT_HAPPY)
wait(115, MSEC)
robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.led.on(ALL_LEDS, YELLOW)
robot.turn_for(RIGHT, 4, 100)
robot.led.on(ALL_LEDS, WHITE)
robot.screen.show_emoji(HAPPY, LOOK_LEFT)
robot.turn_for(RIGHT, -8, 100)
robot.led.on(ALL_LEDS, YELLOW)
robot.screen.show_emoji(HAPPY, LOOK_RIGHT)
robot.turn_for(RIGHT, 4, 100)
wait(100,MSEC)
for i in range(3):
robot.screen.show_emoji(QUIET)
robot.led.on(ALL_LEDS, WHITE)
robot.move_for(1,-90)
robot.screen.show_emoji(HAPPY)
robot.led.on(ALL_LEDS, YELLOW)
robot.move_for(1,90)
robot.stop_all_movement()
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)
act sad#
Ez a makró szomorú arcok mutatásával, szomorú hang lejátszásával, a LED-ek elhalványításával és lassú, különböző irányokba történő mozgással szomorúvá teszi a robotot. Akkor használd, ha a robotnak csalódott vagy alacsony energiájú reakciót kell mutatnia.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# act sad
robot.screen.show_emoji(SAD)
wait(.5,SECONDS)
robot.sound.play(ACT_SAD)
wait(115, MSEC)
robot.led.on(ALL_LEDS, Color(0, 0, 250))
robot.screen.show_emoji(SAD, LOOK_RIGHT)
robot.move_for(11, 135, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 100))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 315, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 50))
robot.screen.show_emoji(SAD, LOOK_LEFT)
robot.move_for(11, 225, 70)
robot.led.on(ALL_LEDS, Color(0, 0, 10))
robot.screen.show_emoji(SAD, LOOK_FORWARD)
robot.move_for(11, 45, 70)
wait(.5,SECONDS)
robot.led.off(ALL_LEDS)
act silly#
Ez a makró viccesre sikerrel jár, ha a robot játékosan, játékosan reagál, arcot vált, és különböző LED-színeket villogtat. Használd, ha játékos vagy meglepő reakciót kell mutatnia.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# act silly
robot.screen.show_emoji(SILLY)
wait(.5,SECONDS)
robot.sound.play(ACT_SILLY)
wait(115,MSEC)
robot.turn_for(RIGHT, 360, 100, wait=False)
face_list = [SILLY, HAPPY, EXCITED, PROUD, THRILLED, LAUGHING]
colors = [BLUE, CYAN, GREEN, ORANGE, PURPLE, RED, WHITE, YELLOW]
while robot.is_turn_active():
robot.screen.show_emoji(SILLY)
robot.led.on(ALL_LEDS, random.choice(colors))
wait(110,MSEC)
robot.screen.show_emoji(random.choice(face_list))
wait(110,MSEC)
robot.screen.show_emoji(SILLY)
robot.led.off(ALL_LEDS)
wait(.5,SECONDS)
act angry#
Ez a makró dühös arcok mutatásával, dühös hang lejátszásával, a LED-ek pirosra váltásával és hirtelen mozgással készteti a robotot dühösnek. Akkor használd, ha a robotnak frusztrált vagy figyelmeztető reakciót kell mutatnia.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# act angry
robot.screen.show_emoji(ANGRY)
wait(.5,SECONDS)
robot.sound.play(ACT_ANGRY)
wait(115,MSEC)
robot.led.on(ALL_LEDS, RED)
robot.move_for(25, 0, 50)
wait(50,MSEC)
for i in range(5):
robot.screen.show_emoji(ANNOYED)
robot.move_for(5, 180, 50)
robot.screen.show_emoji(ANGRY)
wait(50,MSEC)
wait(.5,SECONDS)
robot.led.off(ALL_LEDS)
act excited#
Ez a makró izgatott arckifejezéssel, izgatott hang lejátszásával, gyors oldalirányú mozgással és narancssárga LED-ek villogtatásával izgatottá teszi a robotot. Akkor használd, ha a robotnak ünnepelnie vagy nagy energiával kell reagálnia.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# act excited
robot.screen.show_emoji(EXCITED)
wait(.5,SECONDS)
robot.sound.play(ACT_EXCITED)
wait(115, MSEC)
for angle in [3,-3,2,-2,2,-2,2,-2,1,-1]:
if angle > 0:
robot.screen.show_emoji(EXCITED, LOOK_RIGHT)
robot.led.on(LED4, ORANGE)
robot.led.on(LED5, ORANGE)
robot.led.on(LED6, ORANGE)
robot.led.off(LED1)
else:
robot.screen.show_emoji(EXCITED, LOOK_LEFT)
robot.led.on(LED1, ORANGE)
robot.led.on(LED2, ORANGE)
robot.led.on(LED3, ORANGE)
robot.led.off(LED6)
robot.turn_for(RIGHT, angle)
robot.led.off(ALL_LEDS)
robot.screen.show_emoji(EXCITED, LOOK_FORWARD)
wait(.5,SECONDS)
AI Vision (sportlabda)#
turn right until sports ball#
Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő nem érzékel egy sportlabdát, majd a detektált tárgy felé fordul. Akkor használja, amikor a robotnak sportlabdát kell keresnie, mielőtt felé haladna vagy elvenné.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn right until sports ball is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until sports ball#
Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő nem érzékel egy sportlabdát, majd a detektált tárgy felé fordul. Akkor használja, amikor a robotnak sportlabdát kell keresnie, mielőtt felé haladna vagy elvenné.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn left until sports ball is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get sports ball#
Ez a makró a robotot egy észlelt sportlabda felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már látott egy sportlabdát, vagy miután egy „fordulj-amíg-sportlabdát” makróval megtaláltad.
Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Get sports ball
while True:
vision_data = robot.vision.get_data(SPORTS_BALL)
if vision_data[0].exists:
if robot.has_sports_ball():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI Vision (narancssárga hordó)#
turn right until orange barrel#
Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő egy narancssárga hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak narancssárga hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn right until orange barrel is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until orange barrel#
Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő egy narancssárga hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak narancssárga hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn left until orange barrel is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get orange barrel#
Ez a makró a robotot egy észlelt narancssárga hordó felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már lát egy narancssárga hordót, vagy miután egy „fordulj, amíg narancssárga hordó” makróval találtál egyet.
Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Get orange barrel
while True:
vision_data = robot.vision.get_data(ORANGE_BARREL)
if vision_data[0].exists:
if robot.has_orange_barrel():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI Vision (kék hordó)#
turn right until blue barrel#
Ez a makró jobbra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő kék hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak kék hordót kell keresnie, mielőtt feléje mozdulna vagy elvenné azt.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn right until blue barrel is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until blue barrel#
Ez a makró balra forgatja a robotot, amíg a mesterséges intelligencia által vezérelt vizuális érzékelő kék hordót nem érzékel, majd az észlelt tárgy felé fordul. Akkor használja, amikor a robotnak kék hordót kell keresnie, mielőtt felé haladna vagy elvenné.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn left until blue barrel is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
get blue barrel#
Ez a makró a robotot egy észlelt kék hordó felé mozgatja, amíg a robot el nem gyűjti azt. Ezt a makrót akkor használd, miután a robot már látott egy kék hordót, vagy miután egy „fordulj, amíg kék hordó nem lesz” makróval találtál egyet.
Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Get blue barrel
while True:
vision_data = robot.vision.get_data(BLUE_BARREL)
if vision_data[0].exists:
if robot.has_blue_barrel():
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI látás (AIM robot)#
turn right until AIM robot#
Ez a makró jobbra forgatja a robotot, amíg az AI látásérzékelő egy másik VEX AIM kódoló robotot nem érzékel, majd felé fordul. Akkor használd, amikor a robotnak egy másik robotot kell keresnie, mielőtt felé haladna.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn right until AIM robot is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until AIM robot#
Ez a makró balra forgatja a robotot, amíg az AI látásérzékelő egy másik VEX AIM kódoló robotot nem érzékel, majd felé fordul. Akkor használd, amikor a robotnak egy másik robotot kell keresnie, mielőtt felé haladna.
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn left until AIM robot is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
move to AIM robot#
Ez a makró egy másik VEX AIM kódoló robot felé mozgatja a robotot, amíg elég közel nem kerül ahhoz, hogy megálljon. Ezt a makrót akkor használd, miután a robot már lát egy másik robotot, vagy miután egy „fordulj, amíg meg nem találod” makróval megtaláltad a robotot.
Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Move to AIM robot
while True:
vision_data = robot.vision.get_data(AIM_ROBOT)
if vision_data[0].exists:
if vision_data[0].width >= 140:
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)
AI Vision (AprilTag)#
turn right until AprilTag#
Ez a makró jobbra forgatja a robotot, amíg az AI Vision Sensor nem érzékeli az AprilTag ID 0 azonosítót, majd az érzékelt AprilTag felé fordul. Akkor használja, ha a robotnak AprilTag-et kell keresnie, mielőtt felé haladna. Annak megváltoztatásához, hogy a robot melyik AprilTag-ig forduljon, cserélje ki a TAG0 -ban lévő 0 bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables oldalról kinyomtatott AprilTag-ekkel).
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn right until AprilTag ID 0 is detected
robot.turn(RIGHT)
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
turn left until AprilTag#
Ez a makró balra forgatja a robotot, amíg az AI Vision Sensor nem érzékeli az AprilTag ID 0 azonosítót, majd az érzékelt AprilTag felé fordul. Akkor használja, ha a robotnak AprilTag-et kell keresnie, mielőtt felé haladna. Annak megváltoztatásához, hogy a robot melyik AprilTag-ig forduljon, cserélje ki a TAG0 -ban lévő 0 bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables oldalról kinyomtatott AprilTag-ekkel).
Megjegyzés: Ha a robot nehezen észlel tárgyakat, próbálja meg csökkenteni a fordulási sebességét a set_turn_velocity paraméterrel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Turn left until AprilTag ID 0 is detected
robot.turn(LEFT)
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
# Turn to the object by adding your current heading and the vision bearing offset
robot.turn_to(robot.inertial.get_heading() + vision_data[0].bearing)
break
wait(20, MSEC)
move to AprilTag#
Ez a makró a robotot az AprilTag ID 0 felé mozgatja, amíg elég közel nem kerül a megálláshoz. Ezt akkor kell használni, miután a robot már látott egy AprilTag-et, vagy miután egy „fordulj-az-AprilTag-ig” makróval megtalálta azt. Annak megváltoztatásához, hogy a robot melyik AprilTag-re mozduljon, cserélje ki a TAG0 -ban lévő 0 et bármilyen 0 és 37 közötti számra (az 5-től 37-ig terjedő AprilTag-ek használhatók az AIM Printables kinyomtatott AprilTag-jeivel).
Megjegyzés: Ha a robot nehezen észleli a tárgyakat, próbálja meg csökkenteni a mozgási és fordulási sebességét a set_move_velocity és set_turn_velocity paraméterekkel.
Az alábbi kód azt a Python-szekvenciát mutatja, amely hozzáadódik a projektedhez, amikor ezt a makrót áthúzod az Eszköztárból. A szekvenciát használhatod jelenlegi állapotában, vagy szerkesztheted a hozzáadás után.
# Move to AprilTag ID 0
while True:
vision_data = robot.vision.get_data(TAG0)
if vision_data[0].exists:
if vision_data[0].width >= 60:
robot.stop_all_movement()
break
else:
robot.move_at(vision_data[0].bearing)
else:
robot.move_at(0)
wait(20, MSEC)