This node provides a global localization based on landmarks. On the ADC competition, these landmarks are [ar_track_alvar](http://wiki.ros.org/ar_track_alvar) tags from the traffic signs and from additional localization signs. This node takes the [filtered ar tag detections](https://gitlab.iri.upc.edu/mobile_robotics/adc/adc_2021/iri_adc_tag_localization_filter)(features) of both cameras and optimizes a landmark based slam problem to get the robot position. A landmarks based slam problem is the problem of optimize a number of robot poses with a map of landmarks. It uses [Ceres Solver](http://ceres-solver.org/index.html) to make the optimization.

This node provides a global localization based on landmarks. On the ADC competition, these landmarks are [ar_track_alvar](http://wiki.ros.org/ar_track_alvar) tags from the traffic signs and from additional localization signs. This node takes the [filtered ar tag detections](https://gitlab.iri.upc.edu/mobile_robotics/adc/adc_2021/iri_adc_tag_localization_filter)(features) of the rear and front cameras and optimizes a landmark based slam problem to get the robot position. A landmarks based slam problem is the problem of optimize a number of robot poses with a map of landmarks. It uses [Ceres Solver](http://ceres-solver.org/index.html) to make the optimization.

The following image is a skecth of the input and output of the node.

...

...

@@ -42,7 +42,7 @@ If the landmarks are loaded from the xodr file, *load_landmarks_from_xodr* param

- ~**front_features** (iri_adc_msgs/feature_array.msg): Incoming detections from the front camera.

- ~**rear_features** (iri_adc_msgs/feature_array.msg): Incoming detections from the rear camera.

### Parameters

#####General

#####General

- ~**rate** (Double; default: 10.0; min: 0.1; max: 1000) The main node thread loop rate in Hz.

- ~**global_frame** (String; default: map) Global frame id.

@@ -7,17 +7,17 @@ If you realize that some detections are close to a landmark but is not matched w

***sensor_sigma_th** and **sensor_sigma_r**: These parameters define the basic ellipse for matching purposes. Bigger values on these parameters make a bigger ellipse. **WARNING:***Modifiying these parameters also affects to the covariance calculation and optimization.*

***landmark_mahalanobis_dist**: This parameters amplifies the ellipse.

# Adjust how much you trust on the camera information

You can modify the following parameters to adjust how much you trust on your ar detection information. **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

# Adjust how much you trust the camera information

You can modify the following parameters to adjust how much you trust the AR detection information. **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

***sensor_sigma_th** and **sensor_sigma_r**: Bigger values on these parameters mean less trust on the laser information. **WARNING:***Modifiying these parameters also afects to the landmarks matching.*

# Adjust how much you trust on the odometry information

You can modify the following parameters to adjust how much you trust on your odometry information. **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

# Adjust how much you trust the odometry information

You can modify the following parameters to adjust how much you trust your odometry information. **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

***odom_fxy**, **odom_fth**, **odom_fxyth** and **odom_sigma_min**: Bigger values on these parameters mean less trust on the odometry information.

# Adjust how much you trust on the landmark localization

# Adjust how much you trust the landmark localization

To modify the covariance calculation you can adjust the *sensor sigma parameters* and the *odom noise parameters*. Bigger values on these parameters mean less trust on the localization. **WARNING:***Modifying sensor sigmas also afects to the landmarks matching.*

# Adjust how much you trust on the amcl localization

You can modify the following parameters to adjust how much you trust on your amcl localization when used by this node (normally when mapping landmarks or updating the map). **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

# Adjust how much you trust the amcl localization

You can modify the following parameters to adjust how much you trust your amcl localization when used by this node (normally when mapping landmarks or updating the map). **WARNING:***Modifiying these parameters also afects to the covariance calculation and optimization:*

***amcl_pose_estimated_sigma**: Bigger values on these parameters mean less trust on the amcl localization.