Skip to content

Files

Failed to load latest commit information.

Latest commit

 Cannot retrieve latest commit at this time.

History

History

ComponentAmclWithTags

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

ComponentAmclWithTags Component

ComponentAmclWithTags-ComponentImage

Component Short Description: The ComponentAmclWithTags implements the Adaptive Monte-Carlo Localization (AMCL) algorithm.

Component Documentation

ComponentAmclWithTags extends the AMCL to use a virtual laser generated from RGBD camera and visual markers to solve the issues concerning the global localization, reducing the uncertainty in pose estimates during tracking and kidnapped robot problem.

For More information :

Nayabrasul Shaik, Matthias Lutz and Christian Schlegel, “2D Localization in Large Areas Using Inexpensive RGBD Camera Augmented With Visual Tags“. In Proc. 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Vienna, Austria, 2020, pp. 613-619, doi: 10.1109/ETFA46521.2020.9211882.

GPL-License: includes Code from the Player Project.

See also: http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group__driver__amcl.html

Component-Datasheet Properties

Table: Component-Datasheet Properties
Property Name Property Value Property Description
SpdxLicense LGPL-2.0-or-later https://spdx.org/licenses/LGPL-2.0-or-later.html
TechnologyReadinessLevel TRL5
Homepage http://servicerobotik-ulm.de/components
Supplier Servicerobotics Ulm
Purpose Localization

Component Ports

LaserServiceIn

Documentation:

LocalizationUpdateServiceOut

Documentation:

LocalizationEventServiceOut

Documentation:

MarkerListDetectionServiceIn

Documentation:

Component Parameters: ComponentAmclWithTagsParams

Internal Parameter: Filter

Documentation:

Table: Internal Parameter Filter
Attribute Name Attribute Type Attribute Value Attribute Description
min_particles Int32 500

Lower bound for amount of particles.

max_particles Int32 5000

Upper bound for amount of particles.

recovery_alpha_slow Double 0.001

Decay rates for running averages. Used in deciding when to recover by adding random poses.

recovery_alpha_fast Double 0.1

Decay rates for running averages. Used in deciding when to recover by adding random poses.

kld_err Double 0.05

Population size error.

kld_z Double 0.99

Population size.

update_min_d Double 0.2

Update filter if x or y pos delta greater than update_min_d or delta of alpha > update_min_alpha.

update_min_alpha Double 0.5236

Update filter if x or y pos delta greater than update_min_d or delta of alpha > update_min_alpha.

resample_interval Double 1.0

The distributions will be resampled every x'th time.

Internal Parameter: Laser

Documentation:

Table: Internal Parameter Laser
Attribute Name Attribute Type Attribute Value Attribute Description
max_beams UInt32 30

Consider at most max_beams beams from laser for localization.

z_hit Double 0.95
z_short Double 0.1
z_max Double 0.05
z_rand Double 0.05
sigma_hit Double 0.2
lambda_short Double 0.1
laser_likelihood_max_dist Double 2.0
laser_model_type String "likelihood_field"

Values: beam | likelihood_field.

Internal Parameter: Odometry

Documentation:

Table: Internal Parameter Odometry
Attribute Name Attribute Type Attribute Value Attribute Description
alpha1 Double 0.2

Drift parameter/odometry error.

alpha2 Double 0.2

Drift parameter/odometry error.

alpha3 Double 0.8

Drift parameter/odometry error.

alpha4 Double 0.2

Drift parameter/odometry error.

alpha5 Double 0.2

Drift parameter/odometry error.

odom_model_type String "omni"

Specifies type of odometry. Values: diff | omni.

Internal Parameter: VisualTag

Documentation:

Table: Internal Parameter VisualTag
Attribute Name Attribute Type Attribute Value Attribute Description
distance_variance Double 0.0069
orientation_variance Double 0.0076

Internal Parameter: General

Documentation:

Table: Internal Parameter General
Attribute Name Attribute Type Attribute Value Attribute Description
initalizationType InlineEnumeration INI_POSE
initPoseFileName String "/tmp/lastRobotPose.txt"
verbose Boolean false

Print debug messages.

connect_services Boolean true

UNUSED.

yaml_file String "data/maps/amcl-c26.yaml"

Load map and parameters from this file.

initial_x Double 0.0

x value [m] of initial pose for Amcl. See also parameters.

initial_y Double 0.0

y value [m] of initial pose for Amcl. See also parameters.

initial_a Double 0.0

alpha/rotation [rad] of initial pose for Amcl. See also parameters.

initial_cov_xx Double 0.03

Initial pose covariance x. See also parameters.

initial_cov_yy Double 0.03

Initial pose covariance y. See also parameters.

initial_cov_aa Double 0.068539

Initial pose covariance alpha. See also parameters.

enable_visualization Boolean false

Show visualization window. Displays particles in map. WARNING: visualization might fail with X windows forwarding

lostEventMaxHypothese UInt32 3
lostEventMaxEigValueSum Double 0.2
tag_file String "tags.json"

Json file with tag positions info

sensors_to_use UInt16 0

which sensors to be used for localization, 0 : Laser Only, 1 : Laser + Visual tags, 2: Visual tags

ParameterSetInstance: LocalizationParameter

Trigger Instance: INITIALPOSE

Property: active = false

Documentation:

Set the initial pose in normal distribution. ?x = x coordinate [m], ?y = y coordinate [m], ?a = rotation in [rad].

Trigger Instance: GLOBALLOCALIZATION

Property: active = false

Documentation:

Initializes the Amcl, particles equally distributed.

Trigger Instance: LOADMAP

Property: active = false

Documentation: