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

aima.core.robotics.IMclMap 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.IMclPose;
import aima.core.robotics.datatypes.IMclRangeReading;
import aima.core.robotics.datatypes.IMclVector;

/**
 * This interface defines functionality for a map of an environment for a robot (agent) to perform Monte-Carlo-Localization in.
 * 
 * @author Arno von Borries
 * @author Jan Phillip Kretzschmar
 * @author Andreas Walscheid
 *
 * @param 

a pose implementing {@link IMclPose}. * @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 IMclMap

, V extends IMclVector, M extends IMclMove, R extends IMclRangeReading> { /** * Generates a random valid pose on the map. * @return a random valid pose on the map. */ P randomPose(); /** * Calculates the length of a ray in a direction defined by a pose. * @param pose the pose from which the ray is to be cast. * @return the length of the ray as a range reading. */ R rayCast(P pose); /** * Verifies whether a pose is valid, that is inside the map boundaries and not within an obstacle. * @param pose the pose which is to be evaluated. * @return true if the pose is valid. */ boolean isPoseValid(P pose); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy