Mobile Robot Arm DoArm S7 par wifi Arduino uno r3 (5 / 7 étapes)

Etape 5: Contrôle des bras du Robot

4.1 human-computer interaction

Étant donné que ESPduino est déjà incorporé la fonction Telnet, nous pouvons réaliser l’interaction homme-machine, vérifier l’état de fonctionnement, position actuelle, la vitesse du courant et ainsi de suite, par Telnet. Dans le même temps, nous pouvons définir le modèle de mouvement pour le single ou multi-axes et l’emplacement de mouvement.

Quand ESPduino se connecte au routeur sans fil, le PC peut se connecter l’adresse IP de ESPduino par Telnet outils (par exemple, SecureCRT). Le port de connexion est de 23, qui est illustré à la Figure 6.

Par Telnet, nous pouvons contrôler le bras robot de
les commandes suivantes, qui sont définis comme suit.

« h »: Imprimez des informations d’aide ;

« z »: laissez les axes de bras de robot retour à zéro emplacement (p. ex., l’emplacement par défaut initial défini dans les sections ci-dessus), qui sont définies lorsque nous mettons en place la matrice D-H. Puis après mise sous tension, l’emplacement de l’objection de conscience est 0 pour chaque axe, comme illustré à la Figure 7.

« p »: l’état actuel du robot d’impression
bras, comme le montre l’image suivante. Les informations incluent État, vitesse de réglage, angle actuel pour chaque axe, l’angle de l’objet et matrice de la position courante pour l’actionneur de la fin.

« d »: vérifier ou définir la vitesse du courant, dont la catégorie de vitesse correspond à 1 ~ 10, où « 1 » est la plus faible vitesse, et « 10 » est la vitesse plus rapide.

« c »: garder la position actuelle de l’actionneur de la fin et laissez actionneur déplacer ainsi que l’axe x, axe y et z en coordonnées cartésiennes, respectivement. L’unite est mm.

« t »: garder la position actuelle de l’actionneur et puis faire actionneur avancer avec l’axe x, axe y et z dans les coordonnées de l’outil, respectivement. L’unite est mm.

« s »: mouvement de l’axe unique. Au début, chaque axe est à zéro l’emplacement et l’angle est définie comme 0, le champ d’application est-90 degré ~ 90 degrés. Le positif et le négatif est décidée par la règle de la main droite.

« w »: accédez à l’emplacement conçu.

« g »: contrôler la pince (patte). Par exemple, g:45 est destiné à laisser la patte à ouvrir l’angle de 45 degrés par contrôle le servo.

Comme pour la LED 3-couleurs intelligentes, DoArm le code source peut être fourni configuration web et OTA mise à jour de fonction, comme illustré à la Figure 7.

4.2 étiquette et initialisation

Lorsque vous vous connectez le câble de rallonge de servo pour le jury conduit au hasard, tout d’abord, il faut laisser à chacun des axes du robot bras est correspondant à la chaîne sur le jury entraîné, respectivement. Puis, confirmez l’excursion pour l’emplacement de zéro ; Enfin, confirmer la portée autorisée de terrassement.

(1) confirmer le numéro du canal sur le jury entraîné pour chaque bras robotisé

Lorsque vous connectez le câble de rallonge de servo pour le jury conduit, il est très difficile de différencier le nombre correspondant au nombre de canaux au Conseil d’administration. Par conséquent, nous il suffit d’insérer le câble de rallonge de servo pour le Conseil d’administration au hasard, comme illustré à la Figure 8.

Figure 8 câble de rallonge de Servo sur le jury conduit

Dans le code source, laisser la fonction initParseData() définie partialité [6] {0,0,0,0,0,0} et le champ d’application mobile pour chaque axe est de-90 ° ~ 90 °.

partialité se déplaçant à distance pour chaque axe

flotteur de partialité [6] = {0, 0, 0, 0, 0, 0} ;

arm.setServoBias (biais, 6) ;

portée pour chaque axe de déplacement

arm.setServoRange (-90, 90, -90, 90, -90, 90, -90, 90, -90, 90, -90, 90,) ;

arm.setChannel() soit la voie d’accès réel. Comme illustré à la Figure 8, la voie d’accès est 1,3,4,9,11,13, respectivement, puis laissez

arm.setChannel (1, 3, 4, 9, 11, 13) ;

Compilez le code et télécharger ESPduino, ouvrez l’interface homme-ordinateur à l’aide de Telnet, utilisez la commande "Start-up, y" pour confirmer la relation correspondante pour chaque axe. Par exemple,

En utilisant "s: 1, 10", laissez axe 5 déplacer, puis canal "1", écrit dans le 5ème axe ;

En utilisant « s:2, 10 », laisse déplacer axe 6, puis canal "3", écrit dans l’axe 6 ;

En utilisant "3, 10", laissez le déplacement axe 4, puis canal "4", écrit dans le 4ème axe ;

En utilisant « s:4, 10 », laissez axe 2 déménagement, puis canal "9", écrit dans le 2ème axe ;

En utilisant « s:5, 10 », permettre de déplacer l’axe 1 et puis canal "11" écrit dans le 1er axe ;

En utilisant "s: 6, 10", laisse déplacer l’axe 3, puis canal "13", écrit dans l’axe 3 ;

Ensuite, nous pouvons obtenir la relation correspondante droite finale entre l’axe du bras de robot et le canal sur la Commission conduite, comme le montre la fonction suivante.

arm.setChannel (11, 9, 13, 4, 1, 3) ;

la pince étant seul, laisser insérer un canal inactif et réglez-le en

bras. setGripperChannel () 。

définir le nombre de canaux de la pince

arm.setGripperChannel(14) ;

(2) confirment l’excursion (pour l’emplacement du zéro de l’axe de chaque)

Après confirmer que la relation correspondante entre l’axe et le canal, le code source est nécessaire pour re-mise à jour et télécharger dans le ESPduino s’exécute de nouveau. En utilisant la commande Telnet, nous pouvons confirmer la partialité de l’excursion pour chaque axe.

Tout d’abord, le jeu de la vitesse comme le grade le plus bas, la commande est d:1, 1

Figure 9 définir le grade le plus bas de vitesse

Puis, en utilisant "Start-up, y" laisser mono-axe pour déplacer l’emplacement de zéro. En général, le zéro emplacement (emplacement moyen) est o. Using "Start-up, y" pour confirmer si l’axe est situé à zéro emplacement. Si ne pas, puis utilisez la commande « s » pour laisser cet axe à zéro emplacement. Par exemple, « s: 1, 65 » est dénoté que cet axe doit passer de 65 degrés pour obtenir l’emplacement de zéro. Dans ce cas, la commande est listée comme suit.

excursion pour emplacement moyen

flotteur de partialité [6] = {65, 5, -8, 5, 0, 0} ;

arm.setServoBias (biais, 6) ;

Puis après la compilation, le bras du robot sera rétablie à zéro l’emplacement automatiquement, comme illustré à la Figure 10.

Figure 10 DoArm à l’état initial

(3) confirment l’étendue mobile pour chaque axe

Après la confirmation pour zéro emplacement, nous pouvons confirmer la portée mobile pour chaque axe en utilisant "Start-up, y" avec Telnet l’interaction homme-machine. En raison des restrictions, la portée d’angle pour servo a la valeur standard-90 ° ~ 90 °. Dans ce cas, le champ d’application mobile est la suivante. Notez que, si la portée du mouvement est dépassée, alors le servo serait arrêté.

déplacement de portée pour chaque axe dans ce cas

arm.setServoRange (-90, 30, -30, 60, -40, 35, -90, 90, -50, 90, -80, 80) ;

(4) contrôle pour pince

Le contrôle de pince est distinct pour les 6 autres axes, donc nous pouvons utiliser la commande "g:x" pour contrôler la pince, comme illustré à la Figure 11.

(a) position pour pince à 0 degré

(b) position pour pince à 20 degré

(c) position pour pince à 45 degrés

Figure 11 contrôle pour pince

contrôle de 4,3 mono-axe

Dans l’interface Telnet, nous pouvons utiliser "Start-up, y" commande pour contrôler l’axe unique, où x représente l’axe de mouvement conçu, portée est 1 ~ 6 ; y désigne l’angle absolu, la portée est celle permise par chaque axe avec le type float. Après chaque action, l’état actuel des bras du robot peut être affichée automatiquement.

Figure 12 la sortie pour le mouvement de l’axe unique

4.4 conjointement de contrôle

Conjointement le contrôle désigne que les 6 axes de mouvement en même temps. Il dispose de 3 modes: 1. continue le mouvement de point fixe ; 2. mouvement du déclencheur de fin dans les coordonnées cartésiennes ; 3. mouvement du déclencheur de fin dans les coordonnées de l’outil.

(1) continue le mouvement de point fixe

Nous fournissons les méthodes arm.setWaitPosition () et arm.gotoWaitPosition(), qui occupe l’emplacement fixe et passer à cet endroit, respectivement. Dans notre code source, nous fournissons le code source pour 9 contrôlent conjointement. DoArm peut être déplacé par "w:x", où "x" est 0 ~ 8. En particulier, la commande "w:9" peut commencer 9 mouvements de continuer. Cette vidéo peut être vu à :

http://v.youku.com/v_show/id_XMTQ5ODk0NzEyMA==.html?from=Y1.7-1.2

(2) mouvement de fin actionneur en coordonnées cartésiennes

La cinématique inverse fonction calcReverseKinematics() peut être fourni pour calculer la position conçue et la position de changement d’axe de l’actionneur de fin du bras robot. En particulier, Telnet interaction fournit la commande le long avec x, y, axe de z en coordonnées cartésiennes ; par exemple, « c:x, y, z", où x, y, z désigne l’augmentation le long avec x, y, axe z avec unir mm et type de flotteur.

Par exemple, si laisser finir l’actionneur se déplacer de 20mm avec axe z, la commande est "c: 0, 0, 20", avant de revenir "c: 0, 0, -20". Le bras du robot serait déplacer 20mm en position verticale et puis se déplacer de 20mm dans le sens inverse. Enfin, le bras reviendrait à l’emplacement d’origine. A cette époque, l’emplacement est égal à zéro. Quand a reçu la commande "c: 0, 0, 20", l’emplacement est (0.000,2.358,-11.361,0.000,9.003,0.000) ; Après cela, si exécuter la commande « c: 0, 0, -20 », l’emplacement est (0,000,-0.000, 0,000, 0,000,-0.000, 0,000), comme illustré à la Figure 13.

Figure 13 mouvement en coordonnées cartésiennes

(3) mouvement du déclencheur de fin dans les coordonnées de l’outil

Similaire au mouvement en coordonnées cartésiennes, la différence est que l’actionneur se déplace dans les coordonnées de l’outil (correspondant à la O6). La commande est « t, y, z », où x, y, z sont les increasements avec x, y, axe z avec unissent mm et type de flotteur.

Par exemple, laisser l’actionneur de fin se déplacer de 20mm à l’état initial avec axe X. La commande est "t:20, 0, 0", et retour à l’emplacement d’origine est "t:-20,0,0". Ensuite, l’actionneur de fin serait d’abord déplacer 20mm avec axe x et puis revenir 20mm en sens inverse. Nous pouvons analyser les résultats dans l’interface Telnet. Depuis l’emplacement initial 0,000, quand a reçu la commande "t:20, 0, 0", l’emplacement est (0.000,2.358,-11.361,0.000,9.003,0.000) ; Après cela, si exécuter la commande « t:-20,0,0 », l’emplacement est (0,000,-0.000, 0,000, 0,000,-0.000, 0,000).

Figure 14 mouvement dans l’outil coordonne

Articles Liés

Se connecter à Billy en utilisant ESP8266 comme bouclier de wifi Arduino Uno (Mac uniquement)

Se connecter à Billy en utilisant ESP8266 comme bouclier de wifi Arduino Uno (Mac uniquement)

Il s'agit d'un tutoriel pour vous montrer comment se connecter à Billy à l'aide d'un ESP8266 - 01 comme un bouclier de wifi Arduino Uno. Ce tutoriel est très détaillé pour aider tous ceux qui sont très nouveau pour ce genre de choses.-Matériel nécess
La programmation Arduino Pro Mini en utilisant Arduino Uno et ArduShield - sans les câbles

La programmation Arduino Pro Mini en utilisant Arduino Uno et ArduShield - sans les câbles

L'objectif principal de cette instruction est de vous montrer comment programmer plus facile manière Arduino Mini ou Arduino Pro Mini avec Arduino UNO et ArduShield – sans les câbles.Étape par étape tutoriel, avec aucune mesure pour sauter en PCB gén
Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Shapeoko 2, Arduino UNO R3, début 9g, 8 bit gravure Photo au Laser Diode

Moi et mon fils a inventé/développe un nouveau concept de "On-The Fly" des photos de 8 bits Diode Laser gravure il y a plus de deux ans. Avec ce concept, la Diode Laser désactive jamais grâce à la photo de toute processus de gravure. Il varie to
Contrôler les Servos en utilisant le contrôleur de Servo SSC-32 et Arduino Uno

Contrôler les Servos en utilisant le contrôleur de Servo SSC-32 et Arduino Uno

il y a deux façons à travers lequel vous pouvez contrôler des servos à l'aide d'un contrôleur de servo SSC-32. Vous pouvez soit le faire directement à partir de la lynx SSC-32 Terminal ou via des commandes séries envoyées par une carte arduino. Ici,
Sur chenilles Robot Bluetooth contrôlé par Arduino Via l’Application Android

Sur chenilles Robot Bluetooth contrôlé par Arduino Via l’Application Android

Après avoir essayé de robot sur chenilles à distance par télécommande infrarouge. J'ai procéder pour contrôler la même plateforme de robot par BluetoothArduino contrôleur via l'application Android. Cette méthode est plus fiable, plus longue distance,
Bras de robot 20 € contrôlé par arduino

Bras de robot 20 € contrôlé par arduino

Dans cette intrsuctable je vais vous montrer comment faire un bras de robot simple. Les crédits pour le bras robot va à ce mec : vous pourrez y voir comment assembler le bras du robot, unfortunaly il utilise un €25, - polulu conducteur de contrôler s
Mobile exploité arduino Uno robot utilisant DTMF

Mobile exploité arduino Uno robot utilisant DTMF

SalutIl s'agit de mon premier instructable. Donc, je vais essayer de vous faire comprendre comment le faire. Aujourd'hui, nous voulons montrer à nos amis Comment intelligents, nous serons donc il s'agit d'un modèle parfait, que vous devez faire. Il n
3-d imprimé Arduino Robot Arm

3-d imprimé Arduino Robot Arm

J'ai fait ce bras parce que j'ai eu plusieurs professeurs de tige en me disant comment robotique kits étaient soit trop cher ou juste inintéressant. Alors j'ai pris un week-end et construit le premier couple d'itérations de ce projet. Je passe mon te
Autonome Mobile Robot à l’aide de ROS clumsybot

Autonome Mobile Robot à l’aide de ROS clumsybot

notre robot mobile autonome à l'intérieur à l'aide de ROS, Rtabmap, raspberry pi 2, kinect, ubuntu14.04 ltsNotre projet de diplômenotre robot mobile autonome à l'intérieur à l'aide de kinect, raspberry pi 2, Rtabmap, ROS, ubuntu14.04 lts nous install
Faire un Robot autonome avec Arduino UNO

Faire un Robot autonome avec Arduino UNO

Équilibrage automatique Robot est très intéressant. Beaucoup d'amis autour de nous essayaient de faire un, mais ils ont rencontré beaucoup de défis, notamment le manque de programmes, les circuits électroniques appropriés et les structures de facile-
Géant Computer-Controlled Robotic Arm fait de vieux cartons

Géant Computer-Controlled Robotic Arm fait de vieux cartons

le Robot en carton est un énorme ordinateur contrôlé Robot Arm avec A atteindre juste timide de 6 pieds.  Il a deux configurations :1. la griffe – trois griffe digitée qui vous permet de ramasser les animaux empaillés et sale chaussettes du sol sans
Raspberry Pi et Wiimote contrôlée Robot Arm

Raspberry Pi et Wiimote contrôlée Robot Arm

un bras de robot, j'ai reçu comme cadeau d'anniversaire, mais après tout le premier jour le contrôleur qui l'accompagne est devenu un peu terne à utiliser. Plus tard, j'ai acheté le contrôleur usb qui a été fait pour le robot, mais une fois de plus l
3D imprimé Robot Arm

3D imprimé Robot Arm

Ce bras robot est composé presque exclusivement de pièces imprimées en 3D qui s'engagent ensemble. Il a trois articulations asservie, plus un socle pivotant et la pince. Le bras est contrôlé par une série de boutons qui se connectent à un Arduino Uno
Arduino Uno et Visuino : contrôler la voiture Smart Robot avec Joystick et L298N moteur

Arduino Uno et Visuino : contrôler la voiture Smart Robot avec Joystick et L298N moteur

Que voiture smart définit lorsqu'il est combiné avec Les Modules des pilotes automobile L298N, offre une des façons plus faciles à rendre les voitures robot. Le L298N Motor Driver Module est facile à contrôler avec Arduino, et avec l'aide de Visuino