All Downloads are FREE. Search and download functionalities are using the official Maven repository.

aima.core.robotics.IMclRobot Maven / Gradle / Ivy

Go to download

AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.

The newest version!
package aima.core.robotics;

import aima.core.robotics.datatypes.IMclMove;
import aima.core.robotics.datatypes.IMclRangeReading;
import aima.core.robotics.datatypes.IMclVector;
import aima.core.robotics.datatypes.RobotException;
/**
 * This interface defines functionality a robotic agent has to implement in order to localize itself via {@link MonteCarloLocalization}. 
 * 
 * @author Arno von Borries
 * @author Jan Phillip Kretzschmar
 * @author Andreas Walscheid
 *
 * @param  an n-1-dimensional vector implementing {@link IMclVector}, where n is the dimensionality of the environment.
 * @param  a movement (or sequence of movements) of the robot, implementing {@link IMclMove}. 
 * @param  a range measurement, implementing {@link IMclRangeReading}.
 */
public interface IMclRobot, R extends IMclRangeReading> {
	/**
	 * Causes a series of sensor measurements to determine the distance to various obstacles within the environment.
	 * @return an array of range measurements {@code }. 
	 * @throws RobotException thrown if the range reading was not successful.
	 */
	R[] getRangeReadings() throws RobotException;
	/**
	 * Causes the robot to perform a movement.
	 * @return the move the robot performed.
	 * @throws RobotException thrown if the move was not successful.
	 */
	M performMove() throws RobotException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy