modelisation
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| modelisation [2025/05/05 08:33] – mistert | modelisation [2025/05/20 06:24] (Version actuelle) – mistert | ||
|---|---|---|---|
| Ligne 31: | Ligne 31: | ||
| **Robot Quincy** | **Robot Quincy** | ||
| + | {{ https:// | ||
| + | Bien régler dans model Settings la fonction de callback stopFunction et placer ceci: | ||
| + | {{ https:// | ||
| + | code Matlab pour la cinematique de alpha,beta vers x,y | ||
| + | |||
| + | <code matlab> | ||
| + | function [x,y]= fcn(L, | ||
| + | |||
| + | x = 0.0; y = 0.0; E = 0.0; h = 0.0; | ||
| + | a_x=0.0; | ||
| + | |||
| + | alpha=deg2rad(alpha); | ||
| + | beta=deg2rad(beta); | ||
| + | |||
| + | a_x = -d/2.0; b_y = 0.0; | ||
| + | b_x = d/2.0; b_y = 0.0; | ||
| + | |||
| + | e1x = a_x + L*cos(alpha); | ||
| + | e1y = a_y + L*sin(alpha); | ||
| + | |||
| + | e2x = b_x + L*cos(beta); | ||
| + | e2y = b_y + L*sin(beta); | ||
| + | |||
| + | E=((e2y-e1y)^2 + (e2x-e1x)^2)^0.5; | ||
| + | h=(L^2 - E^2/4)^0.5; | ||
| + | |||
| + | u_x = (e2x-e1x)/ | ||
| + | u_px = -u_y; u_py = u_x; | ||
| + | |||
| + | x = (e1x+e2x)/2 + h*u_px; | ||
| + | y = (e1y+e2y)/2 +h*u_py; | ||
| + | </ | ||
| + | |||
| + | Code pour la cinématique inverse: | ||
| + | |||
| + | <code matlab> | ||
| + | function [alpha, | ||
| + | |||
| + | a_x = -d/2.0; a_y = 0.0; | ||
| + | b_x = d/2.0; b_y = 0.0; | ||
| + | |||
| + | L_a = ((x-a_x)^2+(y-a_y)^2)^0.5 ; | ||
| + | L_b = ((x-b_x)^2+(y-b_y)^2)^0.5 ; | ||
| + | |||
| + | phi_a = atan2(y-a_y, | ||
| + | phi_b = atan2(y-b_y, | ||
| + | |||
| + | delta_a = acos(L_a/ | ||
| + | delta_b = acos(L_b/ | ||
| + | |||
| + | alpha=rad2deg(phi_a+delta_a); | ||
| + | beta=rad2deg(phi_b-delta_b); | ||
| + | </ | ||
| + | |||
| + | Admirez le résultat ! | ||
| + | |||
| + | {{ https:// | ||
| + | |||
| + | Il était aussi possible de faire la simulation su Excel: {{ https:// | ||
| + | |||
| + | **TRAVAIL ATTENDU** | ||
| + | |||
| + | Faire trois modèles: | ||
| + | |||
| + | - Un modèle qui teste les fonctions Matlab données ci-dessus avec les angles min,max pour $\alpha$ et $\beta$ | ||
| + | - Un modèle qui dessine la carte des positions pour le robot Quincy | ||
| + | - Un modèle qui montre sur un graphe XY le dessin d'un d'une ligne de (-50,150) à (50,150). | ||
| + | - Pour les plus motivés: représenter sur SolidWorks les bras en 3D les importer dans Matlab les commander ensuite angulairement pour dessiner un trait ou un cercle. | ||
modelisation.1746434031.txt.gz · Dernière modification : de mistert
