Component Short Description: The SmartAmcl implements the Adaptive Monte-Carlo Localization (AMCL) algorithm.
SmartAmcl implements the Adaptive Monte-Carlo Localization (AMCL) algorithm. Localization is based on a particle filter and a pre-captured grid map of the environment. AMCL maintains a set of possible robot poses and updates this distribution by comparing laser scans against the pre-captured map. AMCL is adaptive because the amount of particles depends on the pose certainty: large number of particles if uncertainty increases and vice versa.
Based on its localization, SmartAmcl sends position updates to the base server (e.g. SmartPioneerBaseServer).
GPL-License: includes Code from the Player Project.
See also: http://playerstage.sourceforge.net/doc/Player-2.0.0/player/group__driver__amcl.html
| 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 | |
| MarketName | Adaptive Monte-Carlo Localization (AMCL) Component |
Documentation:
Documentation:
Documentation:
Documentation:
Documentation:
| 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. |
Documentation:
| 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. |
Documentation:
| 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 | "diff" | Specifies type of odometry. Values: diff | omni. |
Documentation:
| Attribute Name | Attribute Type | Attribute Value | Attribute Description |
|---|---|---|---|
| initalizationType | InlineEnumeration | INI_POSE | INI_POSE: use initial_x/y/a. FILE_POSE: use initPoseFileName. GLOBAL: robot could start anywhere in map. AUTOMATIC: init from webots worldfile |
| 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 |
Property: active = false
Documentation:
Set the initial pose in normal distribution. ?x = x coordinate [m], ?y = y coordinate [m], ?a = rotation in [rad].
Property: active = false
Documentation:
Initializes the Amcl, particles equally distributed.
Property: active = false
Documentation:
