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.
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 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.
...
...
@@ -28,13 +28,13 @@ On [parameters_adjust.md](./doc/parameters_adjust.md) there is an small explanat
- /**tf** (tf/tfMessage): Tf to listen the transforms between odom an robot's base link and between the robot's base link and the sensors.
- ~**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
- ~**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.
ROS_WARN_STREAM("AdcLandmarksSlamSolverAlgNode:check_landmarks -> Can't transform from "<<tf_map_opendrive_msg.header.frame_id<<" to "<<tf_map_opendrive_msg.child_frame_id<<" at "<<tf_map_opendrive_msg.header.stamp);
ROS_WARN_STREAM("AdcLandmarksSlamSolverAlgNode::check_landmarks -> "<<(_front?"front ":"rear ")<<"features frame id empty; AR tag filter not initialized.");