Hack-micropython-ServoRobot-servorobot

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.

servorobot.py

ENG: This module contains all the base classes and definition used to create servo based robots. Our own robot should derived from RobotBase. See the file doggy.py for sample.

FR: Ce module contient toutes les classes de base et les définitions utilisées pour créer un robot à base de servo-moteur. Votre propre robot doit dérivé de RobotBase. Voyez le fichier doggy.py pour des exemples.

class ServoJoint

ENG: Define a joint/articulation (into a member) and associate it to a servo. It also remember the angle of the joint.

FR: Definit un joint/articulation (dans un membre) et l'associe à un servo moteur. Il se souvient également de l'angle de la jointure.

__init__( self, owner, servoindex, ctrlindex=0)

  • servoindex
    • ENG: Numerical number of the servo motor on the servo controler.
    • FR: Numéro du servo moteur sur le contrôleur de servo.
  • ctrlindex
    • ENG: indicate the index of the servo controleur (if many are used)
    • FR: Indique le numéro d'index du controleur (si vous utilisez plusieurs contrôleurs)

angle

ENG: Property where is stored the set() joint's angle. READ ONLY.

FR: Propriété où est stocké l'angle de la jointure, angle fixé par la fonction set(). LECTURE SEULE.

inverted( self, value=True )

ENG: Indicates to the Joint must be inverted. So position of +90 & -90 are exchanged... and the control of the motor is inverted. This allows you to preserve the "front position" of the servo arm to +90 degree.

FR: Indique au Joint qu'il doit fonctionner en mode Inversé. La position +90° et -90° sont échangés... et le contrôle du moteur est donc inversé. Cela permet de préserver la "position avant" du bras du servo sur +90°.

def set( self, degree=0 )

ENG: Set the joint degree between +90° in front/forward AND -90° for backward. This value is remembered in la property angle.

FR: Fixe l'angle de la jointure (en degrés) entre +90° pour l'avant ET -90° pour l'arrière. Cette valeur est également stockée dans la propriété angle.

class Member2DF

ENG: Defining a member with 2 degree of free (2servo). So having a shouler and a wrist on a same controler.

FR: Défini un membre avec deux degrés de liberté (2 servos) sur un même contrôleur de servo. Donc avec une épaule (dit shoulder) et un poignet (dit wrist).

__init__( self, owner, shoulderindex, wristindex, ctrlindex=0 )

ENG: see the definition of ServoJoint parameters. shoulderindex identify the servo number for the shoulder. wristindex identify the servo number for the wrist.

FR: Voyez la définition des paramètres de ServoJoint. shoulderindex identifie le numéro de servo pour l'épaule. wristindex identifie le numéro de servo pour le poignet.

reset( self )

ENG: Reinitialize all the member's servos to 0 degree. Members are supposed to be strait.

FR: Réinitialise le membre. Fixe tous les servos à 0°. Les membres sont supposés être droit.

class RobotBase

ENG: Base class for a Servo's based robot using the PCA9685 controler. You will have to create your own derivated class to specialize RoboBase. You will also provide a collection of movement to your descendant class.

FR: Classe de base pour un robot à base de Servo utilisant le contrôleur PCA9685. Vous aurez besoin de créer votre propre classe dérivée de RobotBase, classe que vous spécialiserez. Vous fournirez également une collection de mouvement à votre classe dérivée.

def __init__( self, controlers, movementscls )

  • controlers
    • ENG: list of PCA9685 servo controleur with following format [ (i2c_bus, address=0x40), ... ]. Most of the projects are only using one servo controleur (16 channels).
    • FR: Liste des contrôleurs servo PCA9685. En utilisant le format suivant [ (i2c_bus, address=0x40), ... ]. La plupart des projets n'utilise qu'un seul contrôleur de servo (à 16 canaux).
  • movementscls
    • ENG: a list of Movement classes to register for the Robot. See doggy.py file for samples.
    • FR: Une liste des classes Movement (mouvement) à enregistrer pour le robot. Voyez le code de doggy.py pour des exemples.

def movement( self, name )

ENG: Retreive or create a Movement class instance (from its name). This function is used by move() and prepare()

FR: Retrouve (ou crée) une instance de la classe Movement (depuis son nom).

  • name
    • ENG: name of the movement to retreive (UPPERCASE!)
    • FR: Nom du mouvement à retrouver (MAJUSCULE!)

def prepare( self, name, **kw )

ENG: Call the prepare() method on a Movement class instance identified by its name. See Movement.prepare() for more information.

FR: Appelle la méthode prepare() sur l'instance de la classe Movement identifiée par son nom. Voyez Movement.prepare() pour plus d'information.

  • name
    • ENG: Name of the Movement instance to be retreived (usually LEFT, L, FORWARD, F, etc).
    • FR: Nom de l'instance de Movement (classe mouvement) à retrouver. Habituellement LEFT (pour gauche), L, FORWARD (avant), etc
  • **kw
    • ENG: Named parameters that will be forwarded to the Movement.prepare() method.
    • FR: Paramètres nommés qui seront passé à la méthode Movement.prepare()

def move( self, name, prepare=False, repeat=None, **kw )

ENG: Call the do() on a Movement class instance identified by its name. So perform the desired movement -OR- an iteration of the desired movement. See Movement.do() for more information.

FR: Appelle la méthode do() sur l'instance de la classe Movement identifiée par son nom. Effectue donc le mouvement désiré -OU- une itération du mouvement désiré. Voyez Movement.do() pour plus d'information.

  • name
    • ENG: Name of the Movement instance to be retreived (usually LEFT, L, FORWARD, F, etc).
    • FR: Nom de l'instance de Movement (classe mouvement) à retrouver. Habituellement LEFT (pour gauche), L, FORWARD (avant), etc
  • prepare
    • ENG: call Movement.prepare() first before calling the Movement.do()
    • FR: Appel d'abord Movement.prepare() avant d'appeler Movement.do()
  • repeat
    • ENG: can be an integer or a callback function. Used to repeat X time the Movement.do()
      • integer - call x times the do()
      • callaback( robotobj, move_name, iteration_count ) - The do() is repeate as long as the callback returns True. Iteration_count is incremented at each call.
    • FR: Peut être soit un entier ou une fonction callback. Utilisé pour répéter X fois l'appel à Movement.do()
      • entier - appelle x dois la méthode Movement.do()
      • callaback( robotobj, move_name, iteration_count ) - La méthode do() est répétée aussi longtemps que le callback renvoie True. Iteration_count est incrémenté à chaque appel.
  • **kw
    • ENG: Named parameters that will be forwarded to the Movement.prepare() method.
    • FR: Paramètres nommés qui seront passé à la méthode Movement.prepare()

class Movement

ENG: Base class that will allow you to code the own robot movements. Movements must derived from this Movement class. See the Left class in the file doggy.py

FR: Classe de base qui vous permettra de coder les mouvement de votre robot. Lesmouvements doivent dérivés de cette classe Movement. Voyez la classe Left dans le fichier doggy.py

def name()

ENG: returns the inner name of the movement. use CAPITAL. Defined as class function. Eg: ('LEFT','L')

FR: retourne les noms d'identification du mouvement. En CAPITAL uniquement. Définit comme une méthode de classe. Ex: ('LEFT','L')

def prepare( self, **kw )

ENG: Override this method to place all the servo in the desired position to prepare the movement that will be executed by the do() method.

FR: Surchargez cette méthode pour placer tous les servo dans la position désirée afin de préparer le mouvement qui sera exécuté par la méthode do().

  • **kw
    • ENG: Named parameters that will be forwarded to your descendant Movement.prepare() method.
    • FR: Paramètres nommés qui seront passé à votre méthode dérivée de Movement.prepare()

def do( self, **kw )

ENG: Perform one iteration of the movement. Some movement like Left or Right are done in one call. Other movement like Forward or Backward must be called many times (on regular basis) to get a complete movement. The do() method usually takes specific named parameter passed down to your implementation of do() via **kw

FR: Effectue une itération du mouvement. Certains mouvements tels que Left (gauche) ou Right (droite) sont effectuées en une seule itération. D'autres mouvement comme Forward (avant) ou Backward (arrière) sont doivent être appelés de nombreuses fois pour obtenir un mouvement complet. La méthode do() prends généralement des paramètres nommés spécifiques qui sont passés à votre implémentation de do() via **kw

  • **kw
    • ENG: Named parameters that will be forwarded to your descendant Movement.do() method.
    • FR: Paramètres nommés qui seront passé à votre méthode dérivée de Movement.do()




Créé par Meurisse D. pour MCHobby.be - Created by Meurisse D. for MCHobby.be

Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : «  Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.

L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.