surbyte:
YO creo que el programa obdece al modelo cinematico del Robot
Será directo, inverso o de otro modo.La matriz de translación justamente se arma de ese modo.
Mira este documento
muy buen documento eh estado leyendo documentos así y yo también creo que se basa en eso
pero mi tesis es de una tecnicatura Superior no nos piden demostrar los cálculos matriciales del robot si saberlos pero no demostrarlos lo único que busco es hacer que se mueva solo los servos guardarlos de alguan manera en un Array o volver un array la eempro y guardar los valores y desues con un comando mandarlos a llamar para que se ejecuten y ande el robot
yo pude hacerlo mover por puerto serie; puede hacerlo mover con un celular pero lo que no puedo todavía es almacenar los grados para que queden guardados
mira te paso el codigo que tengo para manejar el brazo por puerto serie
a ese codigo cada servo tiene una letra tengo escribir la letra+los grados que quiero q se mueva y se mueve
pero no puedo guardar esa posicion
como podria hacerlo????
#include<Servo.h>
//Creamos los objetos servo
Servo servo;
Servo servo2;
Servo servo3;
Servo servo4;
Servo servo5;
Servo servo6;
unsigned char c; //Letra del Servo
byte posicion =0; //Posicion del servo
void setup()
{
//Inicializamos los Servos
servo.attach(13);
servo2.attach(12);
servo3.attach(11);
servo4.attach(10);
servo5.attach(7);
servo6.attach(6);
//Inicializamos la comunicacion por Serial
Serial.begin(9600);
Serial.println("xxxxxxxxxBienvenido Usuarioxxxxxxxxxxx");
}
void loop(){
if (Serial.available() >= 1)
{
c = Serial.read();
posicion = Serial.parseInt();
//Hora de mover los servos!
if (c == 'a')
{
Serial.print("Motor1: ");
Serial.println(posicion);
servo.write(posicion);
delay(10);
}
else if (c == 'b')
{
Serial.print("Motor2: ");
Serial.println(posicion);
servo2.write(posicion);
delay(10);
}
else if (c == 'c')
{
Serial.print("Motor3: ");
Serial.println(posicion);
servo3.write(posicion);
delay(10);
}
else if ( c == 'd')
{
Serial.print("Motor4: ");
Serial.println(posicion);
servo4.write(posicion);
delay(10);
}
else if ( c == 'e')
{
Serial.print("Motor5: ");
Serial.println(posicion);
servo5.write(posicion);
delay(10);
}
else if (c == 'f')
{
Serial.print("Motor6: ");
Serial.println(posicion);
servo6.write(posicion);
delay(10);
}
}
}