// Start is called before the first frame update void Start() { m_State = new FuzzyMembership(); m_State.Add(0f, 0f); m_State.Add(150f, 0.4f); m_State.Add(350f, 0.6f); m_State.Add(425f, 1f); }
public FuzzyNavCtrl() { // membership funcs for Cross-Track Error Et (meters) // leftOfCourse, ZeroCourse, rightOfCourse leftOfCourse = new FuzzyTriLeft(-2000, 0); rightOfCourse = new FuzzyTriRight(0, 2000); zeroCourse = new FuzzyTrap(-2000, -1, 1, 2000); // membership funcs for Cross-Track Velocity Vt (meters/sec) // leftToRight, rightToLeft, and parallel rightToLeft = new FuzzyTriLeft(-50, 0); leftToRight = new FuzzyTriRight(0, 50); parallel = new FuzzyTrap(-50, 0, 0, 50); // membership funcs for output turn rate in degrees/second // standard rate turn is 3 degrees per second turnHardLeft = new FuzzyResultTri(-9, -6, -3); turnLeft = new FuzzyResultTri(-5, -3, -1); turnSlightLeft = new FuzzyResultTri(-3, -0.25f, 0); turnNone = new FuzzyResultTri(-0.5f, 0, 0.5f); turnSlightRight = new FuzzyResultTri(0, 0.25f, 3); turnRight = new FuzzyResultTri(1, 3, 5); turnHardRight = new FuzzyResultTri(3, 6, 9); }