Module kinematics

  • Auteur de la discussion Auteur de la discussion jeremie73
  • Date de début Date de début

jeremie73

Nouveau
Bonjour!
J'aurais besoin d'aide pour faire fonctionner le module kinematics de EMC2.
Voilà le problème:

kinematic.jpg


Lorsque la broche (segment rouge) va pivoter par rapport à B, le point I va se déplacer en I', or je voudrais qu'il reste en I. :mrgreen:
Pour cela EMC2 devrait déplacer la broche par rapport à X de [highlight=#bfffff]sin(α) x LB[/highlight] et par rapport à Z de [highlight=#bfffff]-LB + (cos(α) x LB)[/highlight]... Mais comment lui dire? Il faut lui écrire dans un fichier texte?
Je sais qu'il y a un rapport avec le fichier HAL mais j'en sais pas plus...

Je vous remercie d'avance! :wink:
 
Bonjour Jérémie,

As tu lu la doc? : http://linuxcnc.org/docs/html/motion_kinematics.html

Il faut différentier les "joints" (liaison cinématique entraînée par un moteur) et les coordonnées cartésiennes (XYZABC...) du bout de l'outil appelé "axis". Le G-code est écrit pour les coordonnées "axis" c'est à EMC2 de se débrouiller pour faire bouger les moteurs.

Pour cela, Il faut écrire 2 fonctions en C décrivent la cinématique, ie le passe d'un système de coordonnée à un autre :
Le "Forward" : Transformation des coordonnées "joints" en coordonnées "axis"
Le "Inverse" : Transformation des coordonnées "axis" en coordonnées "joints"

Pour ton problème inspire toi de la doc et de la cinématique 5 axes donnée en exemple (5axiskins.c) : http://git.linuxcnc.org/gitweb?p=em...2088875f6fcf7f5c67a6ce88ea6b4eda531e5;hb=HEAD

Ce n'est pas très dur tu verras, c'est juste un coup à prendre. Bon courage.

Xavier
 
Oui je l'ai lu, j'avais à peu près compris le système des joints et des axes par contre je n'avais pas vu le fichier exemple de la cinématique 5 axes!

Je vais essayer de le déchiffrer et de le modifier, parceque je ne sais pas programmer. :lol:

Une fois modifier je dois le mettre avec le fichier HAL dans le dossier config de ma machine ?

En tout cas merci beaucoup pour ton aide! :wink:
 
Avec plaisir!

Ok ça risque d'être un peu tendu sans connaissance en C. C'est le moment de t'y mettre! :wink:

De mémoire, pour compiler et installer le module kinematic "totokin.c" tu ouvres un terminal et tu fais :

Il me semble qu'il te faut "emc2-dev" pour faire ça, donc il te faut installer le dit paquet dans ubuntu (apt-get ou synaptic).

Bonne continuation

Xavier
 
Bonsoir!

Alors j'ai commencé à apprendre les bases du langage C mais je n'ai toujours pas réussi a comprendre le fonctionnement de kinematics...

Mais j'arrive a contourner le problème: (l'histoire est longue mais je vous la raconte depuis le début...)

La machine qui est en cours de réalisation est une 5 axes que je conçoit sous Catia V5. Les programmes 5 axes seront également réalisé sous Catia, le problème, c'est que je n'ai pas les postprocesseurs pour convertir le programme en fichier lisible par EMC2. Malgré cela, ont peut enregistrer le programme sous un format propre à Catia (exemple d'une ligne : "GOTO / 8.41245, 1.39812, -6.07797,-0.073444,-0.950235, 0.302754"), on a les coordonnées de X, Y, Z et trois coordonnées qui définissent l'angle de la fraise par rapport à la pièce. Donc j'ai créer un programme qui lit chacune des lignes et les convertit dans un format compréhensible par EMC2, il recopie les coordonnées X, Y, Z, en rajoutant chacune des lettres devant, puis il convertit les trois coordonnées angulaire en deux coordonnées B et C (ce qui donne ceci : "G1 X8.412450 Y1.398120 Z-6.077970 B-72.376910 C-94.419624").

Donc finalement, je suis en train de modifier ce programme pour qu'il me demande la longueur de l'outil, et qu'il reconvertisse encore une fois les coordonnées en fonctions de cette valeur...

En plus de ça la 5 axes n'est plus ce qu'elle devait être, je souhaitais au départ que la broche soit rotative et au final ce sera aura un plateau tilting.

Voilà une photo de la conception actuelle si ça intéresse quelqu'un...



C'est pas terminé mais j'y ai déjà passé quelques heures :lol:, pour l'instant la bête pèse 600Kg...
 
Salut

Vraiment pas bête ton astuce je n'y avait pas pensé merci

Pour la conversion des données angulaire en axes B et C, tu fais ça avec excel?

pourquoi tu apprend le language C pour la kinematics c'est du python.

Beaux boulot tu t'ai bien amusé pour faire la modélisation de la machine, mais tu as raison de la faire moi j'aurais bien fait de la faire, parce que après je t'explique pas les couilles que tu peut rencontrer.



Tchao
 
Non, c'est mon programme qui fait les calculs, en faite il lit les trois valeurs angulaire qu'il nomme "DistanceI", "DistanceJ" et "DistanceK", et ensuite il calcul les nouveaux angles avec ces lignes de codes:
Et après j’obtiens les nouveaux angles "AngleB" et "AngleC" qu'il m'écrit dans le nouveau programme.

Wolfuss a dit:
pourquoi tu apprend le langage C pour la kinematics c'est du python.
Ah merde, je croyais que c'était du C... Ça expliquerais pourquoi je ne comprend toujours rien à ce module. :lol:

Ouai c'est sur que ça aide, ça donne un bon aperçu!
 
Salut

Je voudrais savoir comment tu applique ton programme pour l’exécuter

Salutation

wolf
 

Sujets similaires

O
Réponses
30
Affichages
23 772
brise-copeaux
brise-copeaux
A
Réponses
112
Affichages
5 572
A
N
Réponses
78
Affichages
14 718
nipil
N
J
Réponses
9
Affichages
2 399
DA l'Auvergnat
DA l'Auvergnat
D
Réponses
0
Affichages
1 330
DidierV
D
D
Réponses
0
Affichages
1 016
DidierV
D
W
Réponses
58
Affichages
11 232
Doctor_itchy
D

Sujets similaires

alainulm
Réponses
3
Affichages
607
e**d
thierry74
Réponses
42
Affichages
1 710
thierry74
thierry74
xav58
Réponses
13
Affichages
811
le grand 63
le grand 63
J
Réponses
7
Affichages
644
EncoreUnPseudo
EncoreUnPseudo
totoche974
Réponses
0
Affichages
654
totoche974
totoche974
Retour
Haut