27 lines
795 B
C++
27 lines
795 B
C++
#pragma once
|
|
#include <mutex>
|
|
#include <vector>
|
|
#include <iostream>
|
|
|
|
class ControlModule
|
|
{
|
|
private:
|
|
mutable std::mutex mtx;
|
|
double motors[4]; //LeftFront; RightFront; LeftBack; RightBack
|
|
double maxSpeed;
|
|
double rotateSpeed;
|
|
double moveSideSpeed;
|
|
public:
|
|
ControlModule(/* args */);
|
|
ControlModule(double maxSpeed, double rotateSpeed, double moveSideSpeed);
|
|
~ControlModule();
|
|
void adjustSpeed();
|
|
void moveSide(int imageColumsMiddle, int contourColumsMiddle);
|
|
void rotate(double ratio);
|
|
void drive(double ratio);
|
|
void unit(); //Brings the max Value to 1.0
|
|
double ratio(double angle);
|
|
|
|
void calcSpeeds(int imageColumsMiddle, int contourColumsMiddle, double angle); //Funktion to be called
|
|
std::vector<double> readMotors();
|
|
}; |