Différences entre versions de « Hack-micropython-ServoRobot-servorobot »
Ligne 30 : | Ligne 30 : | ||
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é {{fname|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é {{fname|angle}}. | ||
− | == class Member2DF | + | == class Member2DF == |
ENG: Defining a member with 2 degree of free (2servo). So having a shouler and a wrist on a same controler. | ENG: Defining a member with 2 degree of free (2servo). So having a shouler and a wrist on a same controler. | ||
Version du 12 septembre 2016 à 15:28
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.
- ENG: can be an integer or a callback function. Used to repeat X time the Movement.do()
- **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
""" Base class that will allow you to code Movement """
def name(): """ return the inner name of the movement. use CAPITAL. Define as class function """
def prepare( self, **kw ): """ Override this method to place all the servo to prepare the movement """
def do( self, **kw ): """ perform one iteration of the movement (or the complete movement) """
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.