ciao ragazzi.. ho da poco realizzato un braccio meccanico. Mi manca ancora la pinza ma volevo cominciare a fargli fare qualche movimento. siccome di cinematica inversa essendo in 4 liceo non so niente ho pensato di copiare il codeice presente a questa pagina: http://www.circuitsathome.com/mcu/robotic-arm-inverse-kinematics-on-arduino mettendo a ulna e humerus i miei valori che sono 200mm per l' Humerus e 150 per l' ulna ma non mi prende l' angolo dell gomito, ciò che invece succede con le misure iniziali, allego le foto del braccio
Verifica che i valori impostati per i servi: servos.setbounds e servos.setposition siano corretti.
Inoltre, ma te ne sarai già accorto, quel codice usa una libreria specifica e non la servo di Arduino --> http://www.renbotics.com/servoshield.php
appunto a me serve solo il calcolo degli angoli...(quello della base va) questo é il mio codice:
float angoloSpalla,angoloGomito,angoloRotazione;
float l1=200;
float l2=150;
void setup()
{
Serial.begin(9600);
}
void loop()
{
calcoloAngoli(200,200,1);
}
void calcoloAngoli(float x,float y,float z)
{
float D2,q1,q2,a1,a2,a3;
angoloRotazione=atan2(x,y);
angoloRotazione=degrees(angoloRotazione);
x=y;
y=z;
D2=((x*x)+(y*y));
float D=sqrt(D2);
float l12=l1*l1;
float l22=l2*l2;
angoloSpalla=atan2(x,y);
angoloSpalla=acos((l12-l22+D2)/(2*l1*D));
a1=q1+q2;
angoloGomito=acos((l12+l22-D2)/(2*l1*l2));
}
Includi il codice nelle apposite TAG
Punto 7 --> [REGOLAMENTO] Come usare questa sezione del forum - Italiano - Arduino Forum
Scusa, ma sono passati lustri dalla laurea, sono un po' arrugginito.
ecco fatto!scusa me ne ero dimenticato :~