6 #include "AccelStepper.h" 7 #include "MultiStepper.h" 50 bool constantMotorSpeed =
false;
51 double realSpeed1,realSpeed2;
52 double realQ1, realQ2;
53 bool speedChanging =
false;
54 double oldSpeed1 = 0, oldSpeed2 = 0;
59 double pathSpeedBuffer[
SAMPLES];
62 bool fullBuffer =
false;
65 int pointerBuffer = 0, cPointerBuffer = 0;
66 int xyPointer = 0, cxyPointer = 0;
71 void moveTo(
double x,
double y,
bool =
false);
72 void init(
double = 0,
double = 0);
81 static void rotate(
double& ,
double& ,
double );
82 static double zPolar(
double ,
double );
85 static double arcLength(
double ,
double ,
double);
86 double module(
double ,
double ,
double ,
double );
100 void moveInterpolateTo(
double,
double,
double,
bool);
101 void moveSteps(
long,
long,
double);
103 long calculate_steps(
double ,
double );
104 void calculate_line_equations();
105 double polarModule(
double ,
double ,
double ,
double );
106 void updateVariablesToMovingThread();
107 void ik(
double ,
double ,
double* ,
double* );
double q2_current
Definition: Motors.h:39
double getRealQ2()
moficica el miembro realQ1.
Definition: Motors.cpp:604
void setThetaCurrent(double)
moficica el miembro theta_current.
Definition: Motors.cpp:571
double y_current
Definition: Motors.h:37
double degrees_per_step
Definition: Motors.h:34
static void rotate(double &, double &, double)
rota la posicion x,y con centro en 0,0 tantos grados como se desee.
Definition: Motors.cpp:728
double getSpeed()
obtiene el valor de la velocidad actual de Sandsara en milimetros por segundo
Definition: Motors.cpp:540
MultiStepper steppers
Definition: Motors.h:32
#define SAMPLES
Definition: config.h:184
double getRealQ1()
moficica el miembro realQ1.
Definition: Motors.cpp:596
void init(double=0, double=0)
inicializa el objeto Motors
Definition: Motors.cpp:630
double x_current
Definition: Motors.h:36
Se encarga del control de los motores.
Definition: Motors.h:28
static double zPolar(double, double)
calcula el valor del modulo del punto en coordenadas polares
Definition: Motors.cpp:774
void setRealSpeed1(double)
moficica el miembro realSpeed1.
Definition: Motors.cpp:612
void stopAndResetPositions()
this function resets some variables and replace the position variables to the real positions of Sands...
Definition: Motors.cpp:372
double getThetaCurrent()
obtiene la varieble miembro thetaCurrent
Definition: Motors.cpp:532
double couplingAngle
Definition: Motors.h:35
Motors()
It's the class constructor.
Definition: Motors.cpp:41
double q1_current
Definition: Motors.h:38
AccelStepper stepper1
Definition: Motors.h:30
double getCurrentModule()
calcula el modulo de la posicion actual de la esfera.
Definition: Motors.cpp:481
static double arcLength(double, double, double)
calcula la longitud de arco que se forma al girar de un punto A a un punto B en coordenadas polares...
Definition: Motors.cpp:833
void setSpeed(int)
cambia la velocidad de SandSara.
Definition: Motors.cpp:548
int position()
devuelve un valor para saber en donde se encuentra la esfera.
Definition: Motors.cpp:503
void completePath()
execute the remaining buffered steps.
Definition: Motors.cpp:344
static double normalizeAngle(double)
normaliza un angulo para estar en el rango de [0,2*PI).
Definition: Motors.cpp:810
double _pathSpeed
Definition: Motors.h:41
static double thetaPolar(double, double)
calcula el angulo que se forma con la horizontal, de un punto x,y.
Definition: Motors.cpp:786
void setRealQ1(double)
moficica el miembro realQ1.
Definition: Motors.cpp:580
void moveTo(double x, double y, bool=false)
Esta funcion hace que el robot se mueve de su posicion actual hacia una nueva posicion x...
Definition: Motors.cpp:66
double getZCurrent()
obtiene la variable miembro zCurrent
Definition: Motors.cpp:524
static void constrainXY(double &x, double &y)
Definition: Motors.cpp:920
void setZCurrent(double)
moficica el miembro z_current.
Definition: Motors.cpp:561
int microstepping
Definition: Motors.h:33
void setRealSpeed2(double)
moficica el miembro realSpeed2.
Definition: Motors.cpp:620
double getCurrentAngle()
Calcula el angulo de la posicion actual de la esfera.
Definition: Motors.cpp:491
void resetSpeeds()
Recalcula las velocidades de los puntos guardados para movimientos futuros.
Definition: Motors.cpp:406
bool lastPoint
Definition: Motors.h:42
AccelStepper stepper2
Definition: Motors.h:31
double millimeterSpeed
Definition: Motors.h:40
double module(double, double, double, double)
Calcula la distancia entre 2 puntos.
Definition: Motors.cpp:745
void setRealQ2(double)
moficica el miembro realQ2.
Definition: Motors.cpp:588