ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
2 | No.2 Revision |
My guess is that you are using AMCL pkg for your particle filtered localization? If so, the tf tree contains transformation from map->base_link is exactly what you should expect. You can find more details in #q229978.
EDIT1 to answer your comments
it seems like a lot is happening just to get the map->odom transform
This is correct. According to AMCL wiki: "During operation amcl estimates the transformation of the base frame (~base_frame_id) in respect to the global frame (~global_frame_id) but it only publishes the transform between the global frame and the odometry frame (~odom_frame_id).". This means amcl will correct the pose of base_link by adjusting map->odom transform.
is the map->odom->base transform something we can just use the tf robot_state_publisher package for
Maybe you are talking about robot_pose_ekf ?
3 | No.3 Revision |
My guess is that you are using AMCL pkg for your particle filtered localization? If so, the tf tree contains transformation from map->base_link is exactly what you should expect. You can find more details in #q229978.
EDIT1 to answer your comments
it seems like a lot is happening just to get the map->odom transform
This is correct. According to AMCL wiki: "During operation amcl estimates the transformation of the base frame (~base_frame_id) in respect to the global frame (~global_frame_id) but it only publishes the transform between the global frame and the odometry frame (~odom_frame_id).". This means amcl will correct the pose of base_link by adjusting map->odom transform. I took a closer look at AMCL and figured that my previous answer was wrong. I edited it. So back to your original question, could you edit your question by specifying you robot's setup?
is the map->odom->base transform something we can just use the tf robot_state_publisher package for
Maybe you are talking about robot_pose_ekf ?
4 | No.4 Revision |
My guess is that you are using AMCL pkg for your particle filtered localization?
EDIT1 to answer your comments
it seems like a lot is happening just to get the map->odom transform
This is correct. According to AMCL wiki: "During operation amcl estimates the transformation of the base frame (~base_frame_id) in respect to the global frame (~global_frame_id) but it only publishes the transform between the global frame and the odometry frame (~odom_frame_id).". This means amcl will correct the pose of base_link by adjusting map->odom transform. I took a closer look at AMCL and figured that my previous answer was wrong. I edited it. So back to your original question, could you edit your question by specifying you robot's setup?
is the map->odom->base transform something we can just use the tf robot_state_publisher package for
Maybe you are talking about robot_pose_ekf ?
EDIT2 answer to your new comments
@trixr4kdz sorry for the late reply, I have been caught up with my project for the last couple days.
a way we can also get the map->odom without having to do the same thing amcl is doing
Certainly, you could, but if you ask whether there is an available package then I don't know. IMO, there are 2 options: 1) consider open source your custom particle filer so everybody can have a look at what is going on. Without knowing what you are doing (for example: why your customer particle filter publishes map->base_link), it's really hard to help. 2) re-implement the part of AMCL that publish map->odom (from #L1351 to #L1418). This shouldn't be too hard (I know it is NOT easy) since you must have the whole transform: map->odom->base_link->laser_scan from you particle filter.
5 | No.5 Revision |
My guess is that you are using AMCL pkg for your particle filtered localization?
EDIT1 to answer your comments
it seems like a lot is happening just to get the map->odom transform
This is correct. According to AMCL wiki: "During operation amcl estimates the transformation of the base frame (~base_frame_id) in respect to the global frame (~global_frame_id) but it only publishes the transform between the global frame and the odometry frame (~odom_frame_id).". This means amcl will correct the pose of base_link by adjusting map->odom transform. I took a closer look at AMCL and figured that my previous answer was wrong. I edited it. So back to your original question, could you edit your question by specifying you robot's setup?
is the map->odom->base transform something we can just use the tf robot_state_publisher package for
Maybe you are talking about robot_pose_ekf ?
EDIT2 answer to your new comments
@trixr4kdz sorry for the late reply, I have been caught up with my project for the last couple days.
a way we can also get the map->odom without having to do the same thing amcl is doing
Certainly, you could, but if you ask whether there is an available package then I don't know. IMO, there are 2 options:
options:
1) consider open source your custom particle filer so everybody can have a look at what is going on. Without knowing what you are doing (for example: why your customer particle filter publishes map->base_link), it's really hard to help.
help.
2) re-implement the part of AMCL that publish map->odom (from #L1351 to #L1418). This shouldn't be too hard (I know it is NOT easy) since you must have the whole transform: map->odom->base_link->laser_scan from you particle filter.