carbase

Dependencies:   mbed mbed-rtos ros_lib_melodic

Committer:
howanglam3
Date:
Thu Feb 25 05:54:25 2021 +0000
Revision:
9:bfd88f814eec
Parent:
4:aa8ef06b9469
finish thread

Who changed what in which revision?

UserRevisionLine numberNew contents of line
howanglam3 4:aa8ef06b9469 1 #ifndef MOTOR_DRIVE
howanglam3 4:aa8ef06b9469 2 #define MOTOR_DRIVE
howanglam3 4:aa8ef06b9469 3
howanglam3 4:aa8ef06b9469 4 // Mbed Library
howanglam3 4:aa8ef06b9469 5 #include <cmath>
howanglam3 4:aa8ef06b9469 6 #include <vector>
howanglam3 4:aa8ef06b9469 7 #include "OmniWheel.h"
howanglam3 4:aa8ef06b9469 8
howanglam3 4:aa8ef06b9469 9 #define M_PI 3.14159265358979323846f
howanglam3 4:aa8ef06b9469 10
howanglam3 4:aa8ef06b9469 11 using namespace std;
howanglam3 4:aa8ef06b9469 12
howanglam3 4:aa8ef06b9469 13 class MotorDrive {
howanglam3 4:aa8ef06b9469 14 private:
howanglam3 4:aa8ef06b9469 15 const static double max_rpm = 5000;
howanglam3 4:aa8ef06b9469 16 const static double rads_to_rpm = 30.0 / M_PI;
howanglam3 4:aa8ef06b9469 17 const static double robot_radius = 0.19;
howanglam3 4:aa8ef06b9469 18 const static double wheel_radius = 0.05;
howanglam3 4:aa8ef06b9469 19 const static int wheel_num = 3;
howanglam3 4:aa8ef06b9469 20
howanglam3 4:aa8ef06b9469 21 double offset_angle;
howanglam3 4:aa8ef06b9469 22 double offset_x;
howanglam3 4:aa8ef06b9469 23 double offset_y;
howanglam3 4:aa8ef06b9469 24 double pwm_coeff;
howanglam3 4:aa8ef06b9469 25 double wheel_radius_inv;
howanglam3 4:aa8ef06b9469 26
howanglam3 4:aa8ef06b9469 27 OmniWheel omniWheel;
howanglam3 4:aa8ef06b9469 28
howanglam3 4:aa8ef06b9469 29 vector<vector<double> > jacobian_matrix;
howanglam3 4:aa8ef06b9469 30
howanglam3 4:aa8ef06b9469 31 public:
howanglam3 4:aa8ef06b9469 32 // Initialize MotorDrive
howanglam3 4:aa8ef06b9469 33 MotorDrive();
howanglam3 4:aa8ef06b9469 34 virtual ~MotorDrive();
howanglam3 4:aa8ef06b9469 35 // Function
howanglam3 4:aa8ef06b9469 36 OmniWheel getOmniWheelData(double linear_x, double linear_y, double angular_z);
howanglam3 4:aa8ef06b9469 37 };
howanglam3 4:aa8ef06b9469 38
howanglam3 4:aa8ef06b9469 39 #endif