Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • mobile_robotics/wolf_projects/wolf_lib/wolf
1 result
Show changes
Showing
with 296 additions and 0 deletions
type:
_mandatory: false
_options: ["none"]
_type: string
_doc: Nothing to say here
problem:
tree_manager:
_type: derived
_base: TreeManagerBase
_mandatory: true
_doc: Tree manager parameters
dimension:
_type: unsigned int
_mandatory: true
_options: [2, 3]
_doc: "Dimension of the problem. '2' for 2D or '3' for 3D"
map:
_type: derived
_base: MapBase
_mandatory: false
_default:
type: MapBase
plugin: core
_doc: The map used in the wolf problem.
sensors:
_type: derived[]
_base: SensorBase
_mandatory: true
_doc: A sequence of all the sensors.
processors:
_type: derived[]
_base: ProcessorBase
_mandatory: true
_doc: A sequence of all the processors.
follow: Problem.schema
problem:
first_frame:
P:
_mandatory: false
_type: StateP2d
_doc: "specification for the first frame position state"
O:
_mandatory: false
_type: StateO2d
_doc: "specification for the first frame orientation state"
V:
_mandatory: false
_type: StateV2d
_doc: "specification for the first frame linear velocity state"
dimension:
_type: unsigned int
_mandatory: true
_options: [2]
_doc: "Dimension of the problem: '2' for 2D"
\ No newline at end of file
follow: Problem.schema
problem:
first_frame:
P:
_mandatory: false
_type: StateP3d
_doc: "specification for the first frame position state"
O:
_mandatory: false
_type: StateO3d
_doc: "specification for the first frame orientation state"
V:
_mandatory: false
_type: StateV3d
_doc: "specification for the first frame linear velocity state"
dimension:
_type: unsigned int
_mandatory: true
_options: [3]
_doc: "Dimension of the problem: '3' for 3D"
\ No newline at end of file
state_provider:
_mandatory: true
_type: bool
_doc: If the processor is used by the problem as provider of state.
state_provider_order:
_mandatory: $state_provider
_type: unsigned int
_doc: The order number of this processor when problem gets the state (only used if state_provider = true). Two processors cannot have the same order number.
\ No newline at end of file
follow: TypeAndPlugin.schema
name:
_mandatory: true
_type: string
_doc: The processor's name. It has to be unique.
sensor_name:
_mandatory: true
_type: string
_doc: The name of the sensor corresponding to this processor.
time_tolerance:
_mandatory: true
_type: double
_doc: Maximum time difference between a Keyframe time stamp and a particular Capture of this processor to allow assigning this Capture to the Keyframe. [s].
keyframe_vote:
voting_active:
_mandatory: true
_type: bool
_doc: If the processor is allowed to decide to create a frame.
apply_loss_function:
_mandatory: true
_type: bool
_doc: If the factors created by the processor have loss function.
\ No newline at end of file
follow: ProcessorOdom2d.schema
\ No newline at end of file
follow: ProcessorBase.schema
velocity_local:
_mandatory: true
_type: Vector3d
_doc: "The vector with the direction of the velocity in local coordinates"
angle_stdev:
_mandatory: true
_type: double
_doc: "The standard deviation noise to create the angular residuals"
min_vel_norm:
_mandatory: true
_type: double
_doc: "The velocity norm threshold to apply factors"
\ No newline at end of file
follow: ProcessorTracker.schema
dimension:
_mandatory: true
_type: int
_options: [2, 3]
_doc: "Dimension of the problem representation is 2D or 3D."
quality_th:
_mandatory: true
_type: double
_doc: "The minimum quality to consider the detection"
track_length_th:
_mandatory: true
_type: unsigned int
_doc: "Minimum track length to emplace factors (necessary condition)"
keyframe_vote:
time_span:
_mandatory: true
_type: double
_doc: "the time span from the last keyframe to vote for a new keyframe (sufficient condition)"
new_features_for_keyframe:
_mandatory: true
_type: unsigned int
_doc: "the amount of new features sufficient to create a new keyframe (sufficient condition)"
use_orientation:
_mandatory: true
_type: bool
_doc: "If the orientation measurement is considered when emplacing factors"
match_dist_th_id:
_mandatory: true
_type: double
_doc: "Matching distance threshold to previous detection considering motion (necessary condition) when ID matches"
match_dist_th_type:
_mandatory: true
_type: double
_doc: "Matching distance threshold to previous detection considering motion (necessary condition) when TYPE matches"
match_dist_th_unknown:
_mandatory: true
_type: double
_doc: "Matching distance threshold to previous detection considering motion (necessary condition) when no ID/TYPE information"
close_loops_by_id:
_mandatory: true
_type: bool
_doc: "Close loop if ID matches"
close_loops_by_type:
_mandatory: true
_type: bool
_doc: "Close loop if TYPE matches if distance check holds (match_dist_th_type)"
follow: ProcessorBase.schema
max_loops:
_mandatory: true
_type: int
_doc: The maximum amount of loops that can be closed each keyframe callback. -1 (or any negative value) is unlimited loops.
\ No newline at end of file
follow: ProcessorBase.schema
follow: MotionProvider.schema
keyframe_vote:
max_time_span:
_mandatory: $voting_active
_type: double
_doc: Time threshold to create a new frame [s].
max_buff_length:
_mandatory: $voting_active
_type: unsigned int
_doc: Maximum size of the buffer of motions.
max_dist_traveled:
_mandatory: $voting_active
_type: double
_doc: Distance traveled threshold to create a new frame [m].
max_angle_turned:
_mandatory: $voting_active
_type: double
_doc: Angle turned threshold to create a new frame [rad].
unmeasured_perturbation_std:
_mandatory: true
_type: double
_doc: Noise (standard deviation) of the integrated movement in the not observed directions.
\ No newline at end of file
follow: ProcessorMotion.schema
keyframe_vote:
max_cov_det:
_mandatory: $voting_active
_type: double
_doc: The determinant threshold of the covariance matrix of the integrated delta, to vote for a keyframe.
\ No newline at end of file
follow: ProcessorMotion.schema
\ No newline at end of file
follow: ProcessorBase.schema
\ No newline at end of file
follow: ProcessorBase.schema
\ No newline at end of file
follow: ProcessorBase.schema
keyframe_vote:
min_features_for_keyframe:
_mandatory: $voting_active
_type: unsigned int
_doc: Minimum number of features to vote for keyframe.
max_new_features:
_mandatory: true
_type: int
_doc: Maximum number of new features to be processed when adding a keyframe (-1=unlimited. 0=none.)
follow: ProcessorTracker.schema
\ No newline at end of file
follow: ProcessorTracker.schema
\ No newline at end of file
follow: TypeAndPlugin.schema
name:
_mandatory: true
_type: string
_doc: The sensor's name. It has to be unique.
enabled:
_type: bool
_mandatory: false
_default: true
_doc: Whether the sensor is enabled or not. If not, captures will not be processed when calling process().
\ No newline at end of file
follow: SensorBase.schema
ticks_per_wheel_revolution:
_mandatory: true
_type: double
_doc: Amount of sensor ticks of a whole wheel revolution (if measurement is directly radiants, put 2*PI).
ticks_std_factor:
_mandatory: true
_type: double
_doc: ratio of displacement variance to rotation, for odometry noise calculation.
states:
P:
follow: StateSensorP2d.schema
O:
follow: StateSensorO2d.schema
I:
dynamic:
_type: bool
_mandatory: true
_doc: "If the intrinsic state is dynamic, i.e. it changes along time (0: left wheel radius [m], 1: right wheel radius [m], 2: wheel separation [m])."
value:
_type: Vector3d
_mandatory: true
_doc: "A vector containing the intrinsic state values (0: left wheel radius [m], 1: right wheel radius [m], 2: wheel separation [m])."
prior:
mode:
_type: string
_mandatory: true
_options: ["fix", "factor", "initial_guess"]
_doc: "Can be 'factor' to add an absolute factor (with covariance defined in 'factor_std'), 'fix' to set the values constant or 'initial_guess' to just set the values."
factor_std:
_type: Vector3d
_mandatory: $mode == 'factor'
_doc: "A vector containing the stdev values of the noise of the factor, i.e. the sqrt of the diagonal elements of the covariance matrix [m]."
drift_std:
_type: Vector3d
_mandatory: false
_doc: "A vector containing the stdev values of the noise of the drift factor per second (only if dynamic==true) i.e. the sqrt of the diagonal elements of the covariance matrix [m/sqrt(s)]."
\ No newline at end of file