Kinvert montre comment programmer le robot Anki Vector pour lire le téléchargement. Le téléchargeur de jeu Vector Robot est facile à taper et nous vous montrerons comment.

Vector et Cozmo sont un excellent moyen d’apprendre la programmation. Si vous voulez connaître les différences entre les deux, consultez-le Cozmo vs vecteur.

C’est l’un des nombreux Exemple de codage vectoriel.

Diaporama vectoriel du visage avec convert_image_to_screen_data et set_screen_with_image_data

Jouer au téléchargement avec le vecteur

Le vecteur est déjà assez amusant et adorable. Nous pouvons ajouter au plaisir en lui faisant jouer au téléchargement.

Il agitera sa queue et attendra d’être touché dans le dos. Finalement, lorsque le SDK sera mis à jour, nous prévoyons de dire « Bonjour vecteur, téléchargez » et il le fera. Mais actuellement, le SDK est toujours en test Alpha.

Vous pouvez en savoir plus sur Kit de développement logiciel (SDK) Anki Vector en Python.

Comment remplacer une batterie cube pour le remplacement de la batterie Cozmo et Vector

Pour ce faire, au moins pour l’instant, vous devez être connecté au cube de Vector. Vous ne pouvez donc pas avoir une batterie déchargée.

Il faut une batterie très spécifique et on ne la trouve nulle part.

Nous avons un article sur Comment remplacer la batterie Cube de Cozmo et Vector.

TLDR – La batterie la plus populaire du moment:

Obtenez les commandes

Quelles commandes utiliserons-nous? Les voici:

  • robot.behavior.drive_off_charger ()
  • robot.behavior.set_head_angle ()
  • robot.behavior.set_lift_height ()
  • robot.world.connect_cube ()
  • robot.say_text ()
  • robot.motors.set_wheel_motors ()
  • robot.behavior.dock_with_cube ()
  • robot.behavior.turn_in_place ()
  • robot.behavior.drive_straight ()
  • robot.world.disconnect_cube ()
  • le sommeil de temps ()

C’est un programme assez long mais il reste assez simple et direct.

Vous pouvez voir un article sur Kinvert et également trouver de la documentation dans la navigation supérieure sur https://developer.anki.com/blog/features/interview/from-stem-to-learn/

Téléchargez le code

Utilisez set_eye_color dans Anki Vector SDK Alpha Release pour créer des yeux arc-en-ciel avec Kinvert

Passons en revue le code pour obtenir le jeu Vector.

Nous importons en haut puis définissons notre fonction principale. Vector éteindra le chargeur et s’assurera que sa tête et ses bras sont baissés.

Il se connecte à son cube, ce qui peut parfois prendre un certain temps. Ensuite, il vous rappelle qu’il a parfois des ennuis.

Il commence alors à remuer la queue avec les commandes set_wheel_motors (). Il attend que vous touchiez votre dos avec robot.touch.last_sensor_reading.is_being_touched.

Une fois que vous avez touché son dos, il le laissera en boucle et continuera à s’ancrer avec le cube avec robot.behavior.dock_with_cube ().

Il vérifie ensuite s’il s’est amarré et lève les bras avec robot.motors.set_lift_motor. Vector se retournera et vous rendra le cube avec robot.behavior.turn_in_place et robot.behavior.drive_straight.

Il replie sa queue comme avant d’attendre d’être touché. Lorsqu’il est touché, il lui dit de « libérer » et il libérera le cube pour vous.

Il essaie actuellement de récupérer cinq fois.


"""
Copyright Kinvert All Rights Reserved
If you would like to use this code for
business or education please contact
us for permission at:
www.kinvert.com/
Free for personal use
"""

import anki_vector
from anki_vector.util import degrees, distance_mm, speed_mmps
import time

def main():
    '''Play fetch with Vector
    
    Touch his back to signal to him that he can go get his cube
    
    Once he comes back, touch his back again to tell him to put down the cube
    '''
    args = anki_vector.util.parse_command_args()

    with anki_vector.Robot(args.serial) as robot:
        robot.behavior.drive_off_charger()
        
        robot.behavior.set_head_angle(degrees(-5.0))
        robot.behavior.set_lift_height(0.0)

        print("Connecting to a cube...")
        robot.world.connect_cube()

        robot.say_text("I am still learning this game so I might make mistakes")

        for i in range(5):
            dock_response = False
            docking_result = None
            while not robot.touch.last_sensor_reading.is_being_touched:
                robot.motors.set_wheel_motors(-50, 50)
                time.sleep(0.1)
                robot.motors.set_wheel_motors(50, -50)
                time.sleep(0.1)
            robot.motors.set_wheel_motors(0, 0)
            time.sleep(0.25)
            dock_response = robot.behavior.dock_with_cube(
                robot.world.connected_light_cube,
                num_retries=3)
            if dock_response:
                docking_result = dock_response.result
                robot.motors.set_lift_motor(50)
                time.sleep(1)
                robot.behavior.turn_in_place(degrees(180))
                robot.behavior.drive_straight(distance_mm(100), speed_mmps(100))    
                while not robot.touch.last_sensor_reading.is_being_touched:
                    robot.motors.set_wheel_motors(-50, 50)
                    time.sleep(0.1)
                    robot.motors.set_wheel_motors(50, -50)
                    time.sleep(0.1)
                robot.motors.set_wheel_motors(0, 0)
                time.sleep(0.25)
                robot.motors.set_lift_motor(-50)
                time.sleep(1)
                robot.say_text("Woof, woof, bow, wow")
                robot.behavior.turn_in_place(degrees(180))
                
        robot.world.disconnect_cube()

if __name__ == "__main__":
    main()

Améliorations du code Python

Exemple de codage vectoriel Anki avec le capteur tactile dans Anki Vector SDK avec Kinvert

Lorsque nous avons de meilleures commandes vocales (rappelez-vous qu’il s’agit de la version de test Alpha pour le moment), nous passons du toucher à la voix.

Comment pouvons-nous améliorer un peu le code Anki Vector Robot Fetch?

Si vous vouliez que Vector agisse un peu plus enthousiaste à l’idée de reprendre, que pouvez-vous changer?

Comment pourrions-nous faire télécharger Vector plus de cinq fois?

Pour que Vector lâche un peu plus le cube, que pouvons-nous changer pour le faire?

Que pouvez-vous dire de plus à Vector pour être un peu plus amusant?

Vous pourriez également être intéressé par…

Le cours de dessin Cozmo pour le codage en ligne vous apprend à programmer le robot Anki Cozmo en Python

Si vous lisez comment programmer Vector pour jouer au téléchargement, il y a de fortes chances que vous soyez intéressé par d’autres choses ici chez Kinvert.

Si vous avez un Cozmo au lieu d’un contrôle vectoriel SDK Anki Cozmo et Exemple de Cozmo. Cozmo peut être programmé d’une manière très similaire à Vector.

Si une langue entièrement écrite semble difficile, lisez la suite Qu’est-ce que la robotique? et Le guide ultime de la Chine pour bloquer le codage.

Nous avons également une liste de diffusion dans laquelle nous tenons les gens informés de tout ce qui concerne Cozmo et Vector. La liste de diffusion est toujours la première à savoir quand il y a un nouvel article ou une nouvelle vidéo, ou des nouvelles sur Cozmo ou Vector. Nous les aidons à leur donner des conseils pour tirer le meilleur parti de leurs petits amis robots, et vous pouvez vous désinscrire à tout moment.

Si vous avez des questions, veuillez nous le faire savoir dans les commentaires ci-dessous. J’espère que cela a aidé!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *