Go Down

Topic: braccio robotico- aiuto con il software (Read 384 times) previous topic - next topic

MauMX

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  :)

PaoloP

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

MauMX

#2
Jul 04, 2013, 05:55 pm Last Edit: Jul 04, 2013, 06:05 pm by MauMX Reason: 1
appunto a me serve solo il calcolo degli angoli...(quello della base va) questo  é il mio codice:
Code: [Select]

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));
 

 
}

PaoloP

Includi il codice nelle apposite TAG
Punto 7 --> http://forum.arduino.cc/index.php?topic=149082.0

Scusa, ma sono passati lustri dalla laurea, sono un po' arrugginito.  :smiley-sweat:

MauMX

ecco fatto!scusa me ne ero dimenticato  :~

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy