private Vector2 DrivingPosition() { Vector2 GCM = groupMod.GetGCM(); Vector2 target = new Vector3(Config.targetPos.x, Config.targetPos.y); Vector2 vec = GCM - target; vec.Normalize(); return(GCM + vec * (2 * Config.R_a * Mathf.Sqrt(Config.N))); }
public override void CollectObservations() { AddVectorObs(target); Vector2 GCM = groupMod.GetGCM(); AddVectorObs(GCM); Vector2 pos = new Vector2(gameObject.transform.position.x, gameObject.transform.position.y); AddVectorObs(pos); Vector2 furthest = groupMod.GetFurthestSheep(); AddVectorObs(furthest); }