80965eacc7b90017124d9f37712eb7c1 618 B

123456789101112131415161718192021222324
  1. package config;
  2. import lejos.geom.Line;
  3. import lejos.robotics.mapping.LineMap;
  4. import lejos.robotics.navigation.Pose;
  5. public class Models {
  6. private LineMap map;
  7. public Models(LineMap map) {
  8. this.map = map;
  9. }
  10. public double expectedSonarRead(Pose p, double angle) {
  11. Pose tmppose = new Pose(p.getX(), p.getY(), p.getHeading());
  12. float mindist = Float.POSITIVE_INFINITY;
  13. for (int angulo=-cone/2; angulo <= cone/2; angulo++) {
  14. tmppose.setHeading((float) (p.getHeading() - angulo + angle));
  15. float dist = map.range(tmppose);
  16. if (dist > 0 && dist < mindist) mindist = dist;
  17. }
  18. return mindist;
  19. }
  20. }