Esempio n. 1
0
 /*
  * This function doesn't take a random number each time, instead it adds a smaller random number to the existing speed and heading.
  */
 public override void calculateNextMove(DoublePoint robotPosition, double speed, DoublePoint heading, List <Robot> neighbors, out double referenceSpeed, out DoublePoint referenceHeading)
 {
     this.heading     = heading;
     this.position    = robotPosition;
     referenceSpeed   = speed + (2 * random.NextDouble() - 1) * this.maxSpeed / 10;
     referenceHeading = ControlStrategy.ang2Point(ControlStrategy.point2Ang(heading) + this.maxAngSpeed * (2 * random.NextDouble() - 1));
     borderAvoidance.calculateNextMove(robotPosition, referenceSpeed, referenceHeading, neighbors, out referenceSpeed, out referenceHeading);
 }