
aima.core.robotics.IMclRobot Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aima-core Show documentation
Show all versions of aima-core Show documentation
AIMA-Java Core Algorithms from the book Artificial Intelligence a Modern Approach 3rd Ed.
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 - 2025 Weber Informatics LLC | Privacy Policy