Revision bfffb0bd devices/DiWheelDrive/userthread.cpp

View differences:

devices/DiWheelDrive/userthread.cpp
56 56
const int sizeOfPolicy = sizeof(policy) / sizeof(states);
57 57
int policyCounter = 0; // Do not change this, it points to the beginning of the policy
58 58

  
59
// Different speed settings (all values in "rounds per minute")
60
// const int rpmTurnLeft[2] = {-10, 10};
61
// const int rpmTurnRight[2] = {rpmTurnLeft[1],rpmTurnLeft[0]};
62
// const int rpmHalt[2] = {0, 0};
63

  
64
// Definition of the fuzzyfication function
65
//  | Membership
66
// 1|_B__   G    __W__
67
//  |    \  /\  /
68
//  |     \/  \/
69
//  |_____/\__/\______ Sensor values
70
// SEE MATLAB SCRIPT "fuzzyRule.m" for adjusting the values
71
// All values are "raw sensor values"
72
/* Use these values for white ground surface (e.g. paper) */
73

  
74
// const int blackStartFalling = 0x1000; // Where the black curve starts falling
75
// const int blackOff = 0x1800; // Where no more black is detected
76
// const int whiteStartRising = 0x2800; // Where the white curve starts rising
77
// const int whiteOn = 0x6000; // Where the white curve has reached the maximum value
78
// const int greyMax = (whiteOn + blackStartFalling) / 2; // Where grey has its maximum
79
// const int greyStartRising = blackStartFalling; // Where grey starts rising
80
// const int greyOff = whiteOn; // Where grey is completely off again
81

  
82
/* Use these values for gray ground surfaces */
83
/*
84
const int blackStartFalling = 0x1000; // Where the black curve starts falling
85
const int blackOff = 0x2800; // Where no more black is detected
86
const int whiteStartRising = 0x4000; // Where the white curve starts rising
87
const int whiteOn = 0x5000; // Where the white curve starts rising
88
const int greyMax = (whiteOn + blackStartFalling) / 2; // Where grey has its maximum
89
const int greyStartRising = blackStartFalling; // Where grey starts rising
90
const int greyOff = whiteOn; // Where grey is completely off again
91
*/
59

  
92 60

  
93 61
int vcnl4020AmbientLight[4] = {0};
94 62
int vcnl4020Proximity[4] = {0};
......
206 174
                vcnl4020AmbientLight[i] = global.vcnl4020[i].getAmbientLight();
207 175
                vcnl4020Proximity[i] = global.vcnl4020[i].getProximityScaledWoOffset();
208 176
            }
177

  
178

  
209 179
			// lf.stableFollow(vcnl4020Proximity, rpmFuzzyCtrl, &global);
210 180
            // chprintf((BaseSequentialStream*) &SD1, "0x%04X 0x%04X 0x%04X 0x%04X\n",
211 181
            //         vcnl4020Proximity[constants::DiWheelDrive::PROX_WHEEL_LEFT],
......
216 186
	//   lineFollownew
217 187
	//else
218 188
            // lineFollowing(vcnl4020Proximity, rpmFuzzyCtrl, &global);
189
			lf.followLine(rpmFuzzyCtrl);
219 190
            setRpmSpeed(rpmFuzzyCtrl);
220 191
        }
221 192

  

Also available in: Unified diff