// Use this for initialization void Start() { // Add the corresponding motion model switch (motionModel){ case GlobalControl.motionModels.DISCRETE:{ MoveDiscrete control = (MoveDiscrete)gameObject.AddComponent ("MoveDiscrete"); controller = new PController(control); break; } case GlobalControl.motionModels.KINEMATIC:{ MoveKinematic control = (MoveKinematic)gameObject.AddComponent ("MoveKinematic"); controller = new PController(control); break; } case GlobalControl.motionModels.DYNAMIC:{ MoveDynamic control = (MoveDynamic)gameObject.AddComponent ("MoveDynamic"); controller = new PDController(control); break; } case GlobalControl.motionModels.DIFFERENTIAL:{ MoveDifferential control = (MoveDifferential)gameObject.AddComponent ("MoveDifferential"); controller = new PController(control); controller.setKp(0.1f); controller.setKpw(0.1f); controller.setKd (5f); break; } case GlobalControl.motionModels.CAR:{ MoveCar control = (MoveCar)gameObject.AddComponent ("MoveCar"); controller = new PController(control); break; } } }