Μακροεντολή#
Εισαγωγή#
Οι μακροεντολές VEX AIM Python είναι προκατασκευασμένα μπλοκ κώδικα που μπορούν να μεταφερθούν σε ένα έργο Python. Κάθε μακροεντολή είναι μια ομάδα εντολών Python που συνεργάζονται για να κάνουν το ρομπότ να ολοκληρώσει μια μεγαλύτερη συμπεριφορά.
Αυτές δεν είναι μεμονωμένες μέθοδοι που καλούνται από κώδικα. Αντίθετα, κάθε μακροεντολή εισάγεται ως έτοιμη ακολουθία κώδικα που μπορεί να χρησιμοποιηθεί ως έχει ή να υποστεί επεξεργασία αφού προστεθεί σε ένα έργο.
Σε αυτήν τη σελίδα, κάθε μπλοκ κώδικα Python εμφανίζει την πραγματική ακολουθία κώδικα που εισάγεται όταν χρησιμοποιείται η συγκεκριμένη μακροεντολή.
Παρακάτω είναι μια λίστα με όλες τις μακροεντολές:
Συναισθήματα — Κάντε το ρομπότ να ενεργεί εκφραστικά.
act happy— Makes the robot act happy.act sad— Makes the robot act sad.act silly— Makes the robot act silly.act angry— Makes the robot act angry.act excited— Makes the robot act excited.
AI Vision (Αθλητική Μπάλα) — Στρέψτε προς τις αθλητικές μπάλες ή συλλέξτε τες.
turn right until sports ball— Turns right until a sports ball is detected.turn left until sports ball— Turns left until a sports ball is detected.get sports ball— Moves the robot to collect a sports ball.
AI Vision (Πορτοκαλί Βαρέλι) — Στρίψτε προς τα πορτοκαλί βαρέλια ή συλλέξτε τα.
turn right until orange barrel— Turns right until an orange barrel is detected.turn left until orange barrel— Turns left until an orange barrel is detected.get orange barrel— Moves the robot to collect an orange barrel.
AI Vision (Μπλε Βαρέλι) — Στρίψτε προς τα μπλε βαρέλια ή συλλέξτε τα.
turn right until blue barrel— Turns right until a blue barrel is detected.turn left until blue barrel— Turns left until a blue barrel is detected.get blue barrel— Moves the robot to collect a blue barrel.
Όραση AI (Ρομπότ AIM) — Στρέψτε προς ή μετακινηθείτε προς άλλα ρομπότ AIM.
turn right until AIM robot— Turns right until another AIM Robot is detected.turn left until AIM robot— Turns left until another AIM Robot is detected.move to AIM robot— Moves toward another AIM Robot.
AI Vision (AprilTag) — Στρίψτε ή μετακινηθείτε προς τα AprilTags.
turn right until AprilTag— Turns right until an an AprilTag is detected.turn left until AprilTag— Turns left until an an AprilTag is detected.move to AprilTag— Moves toward an AprilTag.
Συναισθήματα#
act happy#
Αυτή η μακροεντολή κάνει το ρομπότ να συμπεριφέρεται χαρούμενα δείχνοντας χαρούμενα πρόσωπα, αναπαράγοντας έναν χαρούμενο ήχο, αλλάζοντας τα LED και κινούμενο μπρος-πίσω. Χρησιμοποιήστε την όταν το ρομπότ πρέπει να αντιδρά με χαρούμενο ή θετικό τρόπο.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή κάνει το ρομπότ να συμπεριφέρεται λυπημένα δείχνοντας λυπημένα πρόσωπα, αναπαράγοντας έναν λυπηρό ήχο, εξασθενίζοντας τα LED και κινούμενο αργά προς διαφορετικές κατευθύνσεις. Χρησιμοποιήστε την όταν το ρομπότ πρέπει να δείξει μια απογοητευμένη ή χαμηλής ενέργειας αντίδραση.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή κάνει το ρομπότ να συμπεριφέρεται ανόητα περιστρεφόμενο, αλλάζοντας πρόσωπα και αναβοσβήνοντας διαφορετικά χρώματα LED. Χρησιμοποιήστε την όταν το ρομπότ πρέπει να κάνει μια παιχνιδιάρικη ή εκπληκτική αντίδραση.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή κάνει το ρομπότ να συμπεριφέρεται θυμωμένα δείχνοντας θυμωμένα πρόσωπα, αναπαράγοντας έναν θυμωμένο ήχο, ανάβοντας τα LED με κόκκινο χρώμα και κινούμενο απότομα. Χρησιμοποιήστε την όταν το ρομπότ πρέπει να δείξει μια απογοητευμένη ή προειδοποιητική αντίδραση.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή κάνει το ρομπότ να ενεργεί ως διεγερμένο, δείχνοντας ένα διεγερμένο πρόσωπο, αναπαράγοντας έναν διεγερμένο ήχο, κινούμενο γρήγορα από τη μία πλευρά στην άλλη και αναβοσβήνοντας πορτοκαλί LED. Χρησιμοποιήστε την όταν το ρομπότ πρέπει να γιορτάσει ή να αντιδράσει με υψηλή ενέργεια.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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 (Αθλητική μπάλα)#
turn right until sports ball#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα δεξιά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει μια αθλητική μπάλα και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει μια αθλητική μπάλα πριν κινηθεί προς αυτήν ή την παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα αριστερά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει μια αθλητική μπάλα και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει μια αθλητική μπάλα πριν κινηθεί προς αυτήν ή την παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή μετακινεί το ρομπότ προς μια ανιχνευμένη αθλητική μπάλα μέχρι να την παραλάβει. Χρησιμοποιήστε την αφού το ρομπότ μπορεί να δει μια αθλητική μπάλα ή αφού χρησιμοποιήσετε μια μακροεντολή “στροφή μέχρι να βρεις την αθλητική μπάλα” για να βρείτε μία.
Note: If the robot has difficulty detecting objects, try lowering the robot’s move and turn velocities with set_move_velocity and set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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 (Πορτοκαλί Βαρέλι)#
turn right until orange barrel#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα δεξιά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα πορτοκαλί βαρέλι και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα πορτοκαλί βαρέλι πριν κινηθεί προς αυτό ή το παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα αριστερά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα πορτοκαλί βαρέλι και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα πορτοκαλί βαρέλι πριν κινηθεί προς αυτό ή το παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή μετακινεί το ρομπότ προς ένα ανιχνευμένο πορτοκαλί βαρέλι μέχρι να το συλλέξει. Χρησιμοποιήστε την αφού το ρομπότ μπορεί να δει ένα πορτοκαλί βαρέλι ή αφού χρησιμοποιήσετε μια μακροεντολή “στροφή μέχρι να εμφανιστεί το πορτοκαλί βαρέλι” για να βρείτε ένα.
Note: If the robot has difficulty detecting objects, try lowering the robot’s move and turn velocities with set_move_velocity and set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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 (Μπλε Βαρέλι)#
turn right until blue barrel#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα δεξιά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα μπλε βαρέλι και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα μπλε βαρέλι πριν κινηθεί προς αυτό ή το παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα αριστερά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα μπλε βαρέλι και στη συνέχεια να στραφεί προς το ανιχνευμένο αντικείμενο. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα μπλε βαρέλι πριν κινηθεί προς αυτό ή το παραλάβει.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή μετακινεί το ρομπότ προς ένα ανιχνευμένο μπλε βαρέλι μέχρι να το συλλέξει. Χρησιμοποιήστε την αφού το ρομπότ μπορεί να δει ένα μπλε βαρέλι ή αφού χρησιμοποιήσετε μια μακροεντολή “στροφή μέχρι να εμφανιστεί το μπλε βαρέλι” για να βρείτε ένα.
Note: If the robot has difficulty detecting objects, try lowering the robot’s move and turn velocities with set_move_velocity and set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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 Vision (ρομπότ AIM)#
turn right until AIM robot#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα δεξιά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα άλλο ρομπότ κωδικοποίησης VEX AIM και στη συνέχεια να στραφεί προς το μέρος του. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα άλλο ρομπότ πριν κινηθεί προς το μέρος του.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή στρέφει το ρομπότ προς τα αριστερά μέχρι ο αισθητήρας AI Vision Sensor να ανιχνεύσει ένα άλλο ρομπότ κωδικοποίησης VEX AIM και στη συνέχεια να στραφεί προς το μέρος του. Χρησιμοποιήστε την όταν το ρομπότ χρειάζεται να αναζητήσει ένα άλλο ρομπότ πριν κινηθεί προς το μέρος του.
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
Αυτή η μακροεντολή μετακινεί το ρομπότ προς ένα άλλο ρομπότ κωδικοποίησης VEX AIM μέχρι να πλησιάσει αρκετά ώστε να σταματήσει. Χρησιμοποιήστε την αφού το ρομπότ μπορεί να δει ένα άλλο ρομπότ ή αφού χρησιμοποιήσετε μια μακροεντολή “στροφή μέχρι το ρομπότ AIM” για να βρείτε ένα.
Note: If the robot has difficulty detecting objects, try lowering the robot’s move and turn velocities with set_move_velocity and set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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 (Ετικέτα Απριλίου)#
turn right until AprilTag#
This macro turns the robot to the right until the AI Vision Sensor detects AprilTag ID 0, then turns toward the detected AprilTag. Use it when the robot needs to search for an AprilTag before moving toward it. To change which AprilTag the robot will turn until, replace the 0 in TAG0 with any number from 0 to 37 (AprilTags 5 through 37 can be used with printed AprilTags from AIM Printables.)
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
This macro turns the robot to the left until the AI Vision Sensor detects AprilTag ID 0, then turns toward the detected AprilTag. Use it when the robot needs to search for an AprilTag before moving toward it. To change which AprilTag the robot will turn until, replace the 0 in TAG0 with any number from 0 to 37 (AprilTags 5 through 37 can be used with printed AprilTags from AIM Printables.)
Note: If the robot has difficulty detecting objects, try lowering the robot’s turn velocity with set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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#
This macro moves the robot toward AprilTag ID 0 until it is close enough to stop. Use this after the robot can see an AprilTag, or after using a turn-until-AprilTag macro to find one. To change which AprilTag the robot will move to, replace the 0 in TAG0 with any number from 0 to 37 (AprilTags 5 through 37 can be used with printed AprilTags from AIM Printables.)
Note: If the robot has difficulty detecting objects, try lowering the robot’s move and turn velocities with set_move_velocity and set_turn_velocity.
Ο παρακάτω κώδικας δείχνει την ακολουθία Python που προστίθεται στο έργο σας όταν αυτή η μακροεντολή μεταφέρεται από την Εργαλειοθήκη. Μπορείτε να χρησιμοποιήσετε την ακολουθία ως έχει ή να την επεξεργαστείτε αφού την προσθέσετε.
# 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)