IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MATLAB Discussion :

représentation d'un bras robotique


Sujet :

MATLAB

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut représentation d'un bras robotique
    Bonsoir,

    J'aimerais représenter un bras robotique à trois corps évoluant dans le plan. (en gros, c'est trois traits les uns à la suite des autres).

    Quelle fonction utiliser pour l'animer ?

    Autre formulation du problème :

    J'ai initialement les angles relatifs entre les trois corps et j'aimerais les faire évoluer de manière à ce que le point extrême du bras suit une droite. Je peux mettre ça sous forme d'équation mais comment le simuler en visualisant ce bras qui suit la droite demandée ?

    Merci de votre aide

    Christophe

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 318
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 318
    Points : 52 956
    Points
    52 956
    Par défaut
    Tu dessine les trois traits (objet Line) et ensuite, tu utilise la fonction ROTATE sur chacun des bras

    Exemple très simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    figure('doublebuffer','on')
     
    hold on
     
    h = line([0 5 ; 5 0],[0 5 ; 5 0],[0 5 ; 5 10],'linewidth',2,'marker','o');
     
    axis equal 
    view(3)
    grid on
    set(gca,'xlim',[-7 7],'ylim',[-7 7])
     
    for n = 1:800
     
        rotate(h(1),[0 0 1],0.9)
     
        T = get(h(1),{'xdata' 'ydata' 'zdata'});
        TT = get(h(2),{'xdata' 'ydata' 'zdata'});
     
        set(h(2),'xdata',[T{1}(2) TT{1}(2)],'ydata',[T{2}(2) TT{2}(2)],'zdata',[T{3}(2) TT{3}(2)])
     
    	drawnow
     
    end

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    769
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 769
    Points : 726
    Points
    726
    Par défaut
    Merci encore et encore Dut...

    Je vais essayer de voir ça.

    Bonne continuation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un double amputé arrive à contrôler deux bras robotiques en utilisant seulement son cerveau
    Par Michael Guilloux dans le forum Intelligence artificielle
    Réponses: 10
    Dernier message: 28/12/2014, 20h15
  2. Réponses: 11
    Dernier message: 15/03/2012, 23h35
  3. [ASM370] Décimaux : représentation compacte et etendue
    Par grand's dans le forum Autres architectures
    Réponses: 6
    Dernier message: 25/01/2004, 18h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo