Cubemars - Fabricant de moteurs avec 17 ans d'expérience info@cubemars.com +86 13755649079
Français
English
中文简体
日本語
Deutsch
Français
한국어
Español
Pусский
Quick Registration
Créer votre compte CubeMars

 

Centre vidéo
Table des matières
Préparation
Étape 1 : Comprendre la logique fondamentale du MIT Mode
Étape 2 : Connexion matérielle et configuration initiale de l'actionneur
Étape 3 : Comprendre la logique principale du contrôle en C++
Étape 4 : Exécuter le test et observer les résultats
Foire aux questions (FAQ)
Obtenir des ressources et découvrir davantage de solutions d'entraînement

Tutoriel : Configurer le CubeMars AK60-6 (KV80) en MIT Mode avec C++

CubeMars / Jul 03,2026

Dans le développement des robots quadrupèdes, des robots humanoïdes ou des bras robotiques haute performance, les modes de contrôle traditionnels indépendants de la position, de la vitesse et du couple ne sont souvent pas en mesure de répondre aux exigences du contrôle dynamique haute fréquence de l'ensemble du robot en raison des limitations de la fréquence des trames de communication. Par conséquent, le MIT Mode est devenu la méthode de contrôle privilégiée par les développeurs.


Ce tutoriel vous guidera pas à pas pour configurer et contrôler le CubeMars AK60-6 (KV80) Robotic Actuator en MIT Mode à l'aide de C++ via un bus CAN. En suivant ce guide, vous maîtriserez la logique fondamentale du protocole de communication sous-jacent et exploiterez pleinement les performances de contrôle à haute réactivité et à faible latence de l'actionneur.


Préparation


Avant de commencer à écrire votre code C++, assurez-vous de disposer de l'environnement matériel et logiciel suivant :


  1. Matériel principal : CubeMars AK60-6 (KV80) Robotic Actuator, une interface de communication CAN fiable (par exemple un adaptateur USB-to-CAN, CANoe ou une carte de développement équipée d'une interface CAN).

  2. Environnement logiciel : Un compilateur C++ (tel que GCC ou MSVC), ainsi qu'une bibliothèque de communication CAN tierce (telle que PCAN-Basic, SocketCAN, etc.).

  3. Logiciel utilitaire : Le logiciel officiel de configuration CubeMars (utilisé pour la configuration initiale des paramètres).


Étape 1 : Comprendre la logique fondamentale du MIT Mode


Avant d'écrire le moindre code, il est important de comprendre pourquoi le MIT Mode est utilisé. Les modes de contrôle traditionnels ne permettent d'envoyer qu'un seul paramètre à la fois (par exemple la position ou la vitesse). En revanche, le MIT Mode permet de regrouper les cinq paramètres essentiels suivants dans une seule trame CAN standard de 8 octets :


Position cible

Vitesse cible

Couple cible (Torque / Kt × I)

Gain PD de position (Kp)

Gain PD de vitesse (Kd)


Cette structure de message unifiée réduit considérablement la latence de communication et constitue la base du contrôle locomoteur haute fréquence ainsi que du contrôle de force en conformité des robots.


Étape 2 : Connexion matérielle et configuration initiale de l'actionneur


Avant d'exécuter le code, assurez-vous que l'actionneur est correctement connecté et configuré :


  1. Câblage matériel : Connectez les bornes CAN_H et CAN_L de votre interface CAN aux bornes CAN_H et CAN_L de l'actionneur AK60-6 respectivement. Assurez-vous que tous les appareils partagent une masse commune.

  2. Configuration via le logiciel CubeMars :


  • Connectez l'actionneur à l'aide du logiciel de configuration CubeMars.

  • Définissez l'ID CAN de l'actionneur sur la valeur souhaitée (par exemple 0x01) et mémorisez-la, car elle sera utilisée dans votre programme C++.

  • Réglez le débit en bauds (Baud Rate) sur 1 Mbps (1000 kbps), qui est le débit recommandé pour le MIT Mode.

  • Cliquez sur le bouton « Enter MIT Mode ». Une fois le mode activé avec succès, vous ressentirez une résistance électromagnétique notable lorsque vous ferez tourner l'arbre de l'actionneur à la main.


Étape 3 : Comprendre la logique principale du contrôle en C++


Dans un environnement C++, la logique de contrôle de l'AK60-6 peut être divisée en trois étapes essentielles (veuillez télécharger la pièce jointe ci-dessous pour obtenir le projet complet et les fonctions de conversion des données) :


  1. Envoyer la commande Enable : Après être passé en MIT Mode, l'actionneur reste par défaut dans un état de protection. Avant d'envoyer toute commande de contrôle, vous devez d'abord envoyer une trame Enable dédiée (généralement une trame de 8 octets remplie de 0x00, ou une autre trame Enable définie par le protocole) afin de déverrouiller l'actionneur. L'actionneur est correctement activé uniquement après avoir émis le bip de confirmation.

  2. Conversion des nombres à virgule flottante en entiers non signés : Il s'agit de l'algorithme le plus important de l'implémentation C++ du MIT Mode. Étant donné que les trames CAN ne peuvent transmettre que des valeurs entières, les grandeurs physiques (par exemple une position cible de -12.5 rad) doivent être converties en entiers non signés de 16 ou 12 bits.


    Logique : Utilisez la fonction de conversion linéaire float_to_uint(x, x_min, x_max, bits).

    Opération : Limitez la position cible, la vitesse, le couple, Kp et Kd aux plages autorisées par l'actionneur, puis convertissez-les proportionnellement en valeurs hexadécimales correspondantes.


  3. Assembler et envoyer une trame CAN de 8 octets : Regroupez les cinq paramètres entiers obtenus à l'étape précédente dans un tableau de 8 octets (64 bits) conformément à l'organisation des bits définie par le protocole de communication CubeMars. Enfin, utilisez votre bibliothèque CAN pour envoyer cette trame à l'actionneur avec l'ID CAN configuré. Dès réception de la trame, l'actionneur l'analyse immédiatement et exécute la commande.


Étape 4 : Exécuter le test et observer les résultats


Après avoir compilé et exécuté (ou téléchargé) votre programme C++, mettez l'actionneur AK60-6 sous tension.


Lancez votre programme C++. Vous devriez voir l'actionneur réagir de manière extrêmement fluide et rapide en fonction des valeurs de position, de vitesse et de couple définies dans votre code.Vous pouvez également modifier dynamiquement les valeurs de Kp et Kd afin d'observer directement les variations de rigidité et de compliance de l'actionneur.


Foire aux questions (FAQ)


Q1 : L'actionneur ne répond pas ou signale une erreur après l'envoi des trames CAN ?


R : Veuillez vérifier les points suivants :

La commande Enable a-t-elle bien été envoyée ?

L'ID CAN utilisé dans votre code C++ correspond-il exactement à celui configuré sur l'actionneur ?

Les valeurs de commande respectent-elles les limites définies par le protocole (telles que P_MAX et V_MAX) ? Les valeurs dépassant ces limites seront rejetées par l'actionneur.


Q2 : Comment gérer l'ordre des octets (Byte Order) dans le code ?


R : Le protocole CAN de CubeMars utilise généralement le format Big-Endian. Lors de la construction de la trame CAN de 8 octets en C++, veillez attentivement à l'ordre des octets MSB (Most Significant Byte) et LSB (Least Significant Byte). Un ordre incorrect entraînera des erreurs dans les valeurs de position et de couple. Veuillez suivre strictement la disposition des octets définie dans le Manuel du protocole de communication.


Q3 : Comment calibrer la position zéro (Zero Position) de l'actionneur ?


R : En MIT Mode, envoyez la commande CAN dédiée « Set Current Position as Zero » (consultez le Manuel du protocole de communication pour connaître l'ID CAN et la trame de données correspondants). L'actionneur enregistrera alors la position actuelle du rotor comme position mécanique zéro. Il est recommandé d'effectuer cette calibration à chaque initialisation du système après la mise sous tension.


Obtenir des ressources et découvrir davantage de solutions d'entraînement


Grâce à sa bride compacte de 60 mm et à ses excellentes performances dynamiques, l'AK60-6 (KV80) constitue une solution idéale pour les bras robotiques légers, les systèmes de nacelle (gimbal) et les articulations des pattes de robots quadrupèdes.


[En savoir plus sur le CubeMars AK60-6 (KV80), y compris ses spécifications détaillées et ses dimensions.]


Articles connexes
Tutoriel : Contrôler le moteur CubeMars AK45-36 avec Arduino
Tutoriel : Contrôler le moteur CubeMars AK45-36 avec Arduino
Guide étape par étape pour contrôler le moteur CubeMars AK45-36 avec Arduino. Apprenez la configuration du mode MIT, le câblage du MCP2515 et la mise en œuvre du code de contrôle par joystick.
Jun 17,2026
OpenExo : Exosquelette open source alimenté par des moteurs CubeMars AK
OpenExo : Exosquelette open source alimenté par des moteurs CubeMars AK
Découvrez comment le projet OpenExo de la Northern Arizona University utilise les moteurs de la série CubeMars AK pour créer des exosquelettes modulaires au niveau des hanches, des chevilles et des coudes.
Jun 17,2026
Les moteurs CubeMars alimentent un robot de rééducation contre l’atrophie musculaire | Université de Sherbrooke
Les moteurs CubeMars alimentent un robot de rééducation contre l’atrophie musculaire | Université de Sherbrooke
Découvrez comment les moteurs AK10-9 et AK80-64 permettent de créer des dispositifs de rééducation compacts et à couple élevé. En collaboration avec l’Université de Sherbrooke, nous contribuons à améliorer la vie grâce à l’ingénierie robotique.
Jun 30,2026
Laisser un message
Nom d'utilisateur
Anonyme
E-mail *
Nom *
Téléphone
Commentaires
Code de vérification
captcha
Rappel
Rappel
Veuillez vous connecter
Se connecter
S'inscrire
Mot de passe oublié ??
Rappel