Popular Classes
S
ources
-
E
xamples
-
D
iscussions
Project: BioMAV
Explorer
Outline
Vision
standin-module
Vision.java
PoleDetector.java
PoleDetectorOud.java
vision_testing
Java
nl
ru
ai
projects
parrot
poledetection
SimplePoleDetectionModule.java
test
Test01.java
CPPPoleDetector.java
base
src
Java
nl
ru
ai
projects
parrot
dronecontrol
ParrotDroneInterface.java
VideoPollInterface.java
SensorDataObserver.java
ControlInterface.java
SensoryDataInterface.java
PolePositionPollInterface.java
ParrotControl
JavaDroneControl
src
com
codeminders
ardrone
VideoReader.java
VideoReceivedInterface.java
video
uint.java
ImageSlice.java
BufferedVideoImage.java
MacroBlock.java
nl
ru
ai
projects
parrot
dronecontrol
javadronecontrol
ATControlCommandInterface.java
DroneConfigurationChannel.java
VisionStandin.java
test
Test01.java
NavdataPacket.java
NavdataChannelObserver.java
NavdataChannel.java
DroneGroundStation.java
GroundStation
Java
src
nl
ru
ai
projects
parrot
dronecontrol
groundstation
SDLDroneJoystick.java
DroneInputDevice.java
GroundStation.java
ExtDroneInputDevice.java
DroneInputDeviceExtension.java
ParrotSim
Java
src
nl
ru
ai
projects
parrot
dronecontrol
simulator
ExternalTimerSynchronizer.java
Simulator.java
test
Test02.java
Test01.java
SimulatedDrone.java
manualcontrol
Model.java
Main.java
View.java
Control.java
Behavior
src
nl
ru
ai
projects
parrot
biomav
editor
ParameterControlInterface.java
BehaviorEditor.java
FSMEditorSuite.java
EditorFSMFactory.java
FSMExecutor.java
BehaviorVertex.java
transitions
PoleFound.java
OutOfSight.java
Delay.java
CloseToPole.java
states
PassRightState.java
FlyRightState.java
FlyLeftState.java
TurnLeftState.java
BehaviorArray.java
StartState.java
PassLeftState.java
TurnRightState.java
SearchPoleState.java
BehaviorVertexListener.java
TransitionEdge.java
Drone.java
Main.java
BioMAVConfig.java
fsm
StateListener.java
Behavior.java
Transition.java
FSMController.java
State.java
tools
PositionLogger.java
BehaviorModule.java
Sleeper.java
Writer.java
TwitterTweets.java
BehaviorModuleSL.java
TerminatorHasCrashed.java
TwitterAccessBak.java
TerminalCondition.java
BehaviorModuleLB.java
BehaviorModule1.java
TwitterAccess.java
TerminatorNumberOfIterations.java
TerminatorTimer.java
behaviors
InitializeDrone.java
FlyTowardsPole.java
PassLeft.java
TurnRight.java
PassRight.java
TwitterBehavior.java
TurnLeft.java
SearchPole.java
Hover.java
transitions
PoleFound.java
TurnComplete.java
OutOfSight.java
CloseToPole.java
ea2
Test.java
evaluator
EvaluatorMain.java
Sjoerd2EA.java
server
TaskServer.java
ParallelBreeder.java
GenomeFactory.java
TaskParameters.java
GeneticAlgorithm.java
GAServerMain.java
Task.java
DroneGAFactory.java
SjoerdEA.java
LaurieEA.java
client
FSMFactory.java
TaskClient.java
TaskClientMain.java
EvaluationStarter.java
ea
evolve
EASetup.java
EAConfiguration.java
Chromosomes.java
fitness
EAFitness.java
FitnessDrone.java
getPolePositionTimeStamp()
getPolePositions()
getPoleDistances()
/*
This file is part of the BioMAV project.
The BioMAV project is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
The BioMAV project is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with The BioMAV project. If not, see <http://www.gnu.org/licenses/>.
*/
package
nl.ru.ai.projects.parrot.dronecontrol;
/**
* <p>
* This interface describes the capabilities that a pole detector should have. The set of
* function available defines which data is extracted from the camera images.
* </p>
*
* <p>
* At the moment the heading relative to the forward-vector of a detected pole is
* reported and the approximated distance to the pole in meters.
* </p>
*
* @author Paul Konstantin Gerke
* @author Sjoerd Lagarde
* @author Jurriaan Langevoort
*
*/
public
interface
PolePositionPollInterface
{
/**
* Retrieves the time stamp of the last retrieved sample of pole positions and
* distances.
*
* @return
* Time stamp in milli seconds
*/
public
long
getPolePositionTimeStamp
();
/**
* Retrieves the last sample of pole positions visible to the camera.
*
* @return
* <p>
* The array of angles (in rad) to all poles in the scene. The amount of
* returned doubles always equals the amount of poles there
* are in the scene. However, a double can be null, which means that it is not
* visible. If a double is not null it is within the intervals of
* [-fov / 2, fov / 2] (fov = field of view of the front camera). A negative
* angle indicates that the pole is to the left of the center axis of the drone,
* a positive angle indicates that the given pole is to the right.
* </p>
*
* <p>
* Array of pole distances. Indices in the array correspond to indices of the array returned
* by {@link #getPoleDistances()}.
* </p>
*/
/*
* Notes:
* This function gives you a giant load of information. It is capable of
* IDENTIFYING poles that get outside the field of view for a moment (the simulator
* always knows where a every pole is at every time). I do not think that the vision group
* will be capable of reproducing this behavior (they probably do not know all the time
* where every pole is at a given time).
* What you, however, probably can make use of is using the identity of CONTINOUSLY
* VISIBLE poles, which corresponds to a tracking a pole in the field of view. However,
* you will have to filter the information on your own (hence, throw away some information).
*
*/
public
Double[]
getPolePositions
();
/**
* Gets the pole distances in meters. Elements are null if the given pole is not visible.
*
* @return
* Array of pole distances. Indices in the array correspond to indices of the array returned
* by {@link #getPolePositions()}.
*/
public
Double[]
getPoleDistances
();
}