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. This node takes the filtered ar tag detections of both cameras and optimizes a landmark based slam problem to get the robot position. 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. This node takes the filtered ar tag detections 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 window 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.
The following image is a basic representation of the slam problem.
- ~**frame_data** (visualization_msgs/MarkerArray.msg): Visualization of the current slam problem. Red arrows represent the robot pose. Blue lines represent the landmarks seen from each robot pose.
- ~**landmarks** (visualization_msgs/MarkerArray.msg): Visualization of the landmarks map for debugging purposes. The blue ones are detected on the current time.
- ~**landmarks_localization_pose** (geometry_msgs/PoseWithCovarianceStamped.msg): Robot global estimated pose with covariance.
- /**tf** (tf/tfMessage): To publish the transformation between map and odom if enabled.