Browse Source

Arrumando com a paula

capellaresumo 6 years ago
parent
commit
1c98dab4b3

+ 0 - 8
HistogramFilter/bin/.gitignore

@@ -1,9 +1 @@
 /config/
-/robots/
-/ProbabilityMatriz$1.class
-/MainProgram$2.class
-/MainProgram$1.class
-/ProbabilityMatriz$MatrizIterator.class
-/ProbabilityMatriz$MatrixIterator.class
-/MatrizInterator.class
-/ProbabilityMatrizData.class

BIN
HistogramFilter/bin/MainProgram$1.class


BIN
HistogramFilter/bin/MainProgram$2.class


BIN
HistogramFilter/bin/MainProgram.class


BIN
HistogramFilter/bin/ProbabilityMatriz$MatrizIterator.class


BIN
HistogramFilter/bin/robots/BluetoothRobot$Receiver.class


BIN
HistogramFilter/bin/robots/BluetoothRobot$SendData.class


BIN
HistogramFilter/bin/robots/BluetoothRobot$Sender.class


BIN
HistogramFilter/bin/robots/BluetoothRobot.class


BIN
HistogramFilter/bin/robots/DataRead.class


BIN
HistogramFilter/bin/robots/LCPRobot.class


BIN
HistogramFilter/bin/robots/Robot.class


BIN
HistogramFilter/bin/robots/RobotReturn.class


BIN
HistogramFilter/bin/robots/VirtualRobot$Simulate.class


BIN
HistogramFilter/bin/robots/VirtualRobot.class


+ 5 - 3
HistogramFilter/src/MainProgram.java

@@ -220,11 +220,13 @@ public class MainProgram extends JPanel implements KeyListener, WindowListener,
 
 	private void moveRobot() {
 		try {
-			String rs = JOptionPane.showInputDialog("Enter distance (cm):");
+			String rs = JOptionPane.showInputDialog("Enter distance (cm) - need to bigger than "+matriz.ssize+" cm:");
 			double r = Double.parseDouble(rs);
 			robot.move(r);
-			
-			rotateAndMoveRobot(r, 0);
+			if (r < matriz.ssize)
+				moveRobot();
+			else
+				rotateAndMoveRobot(r, 0);
 		} catch (Exception e) {
 		}
 	}

+ 5 - 7
HistogramFilter/src/config/Models.java

@@ -101,14 +101,12 @@ public class Models {
 			}
 			double teoricaldistance = mindist;
 			
-			if (dp.getDistance() < 4 || dp.getDistance() > 240)
+			// mapa nao tem parede - ignora medidas...
+			if (teoricaldistance == -1)
 				continue;
-			
-			if (teoricaldistance == -1) {
-				prob = 0;
-				break;
-			}
-			prob *= pdf(dp.getDistance()-teoricaldistance, SONAR_SIGMA)*0.8+0.2/255; // desvio padrao
+
+			double error = dp.getDistance() >= 255 || dp.getDistance()  <= 0 ? 1.0: 0.0;
+			prob *= pdf(dp.getDistance()-teoricaldistance, SONAR_SIGMA)*0.7+0.2/255+.1*error; // desvio padrao
 		}
 		return prob;
 	}