Pages: [1]   Go Down
Author Topic: braccio robotico- aiuto con il software  (Read 279 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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  smiley


* P30629-173347.jpg (1322.38 KB, 2500x2000 - viewed 37 times.)
Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6994
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

appunto a me serve solo il calcolo degli angoli...(quello della base va) questo  é il mio codice:
Code:
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));
  
 
  
}
« Last Edit: July 04, 2013, 11:05:41 am by MauMX » Logged

Cagliari, Italy
Offline Offline
Tesla Member
***
Karma: 110
Posts: 6994
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged

Code fast. Code easy. Codebender --> http://codebender.cc/?referrer=PaoloP

Offline Offline
Newbie
*
Karma: 0
Posts: 15
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ecco fatto!scusa me ne ero dimenticato  smiley-confuse
Logged

Pages: [1]   Go Up
Jump to: