Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef HELPER_H
00023 #define HELPER_H
00024
00025
00026 #define PI 3.141592653589793
00027
00028 namespace stdr_robot {
00029
00037 static bool angCheck(float target_, float min_, float max_)
00038 {
00039 int c = 0;
00040 c = (target_ + 2 * PI) / (2 * PI);
00041 float target = target_ + (1 - c) * PI * 2;
00042 c = (min_ + 2 * PI) / (2 * PI);
00043 float min = min_ + (1 - c) * PI * 2;
00044 c = (max_ + 2 * PI) / (2 * PI);
00045 float max = max_ + (1 - c) * PI * 2;
00046
00047 if(min_ * max_ > 0)
00048 {
00049 if(target > min && target < max)
00050 {
00051 return true;
00052 }
00053 }
00054 else
00055 {
00056 max += 2 * PI;
00057 if(target > min && target < max)
00058 {
00059 return true;
00060 }
00061 target += 2 * PI;
00062 if(target > min && target < max)
00063 {
00064 return true;
00065 }
00066 }
00067 return false;
00068 }
00069
00070 }
00071
00072 #endif