ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

robot_localization: Potential transformation error

asked 2019-09-23 15:41:09 -0600

bmgatten gravatar image

I am trying to fuse GPS with an IMU and am running into an issue I believe is some sort of transformation error. The transformations between the links and the base_link are specified in my URDF file and echoing tf_static shows this.

I have 2 gps units mounted to my robot to give me a position and heading and an IMU which outputs a yaw rate.

I have a node which converts the 2 gps information into an odometry message where the x,y position are the UTM coordinates of the rear gps and the heading angle is a straight line extending from the rear gps to the front gps. The frame_id in this message is odom and the child_frame_id is rear_gps_link.

When the odometry message is the sole input to the EKF the filtered output closely resembles the odometry message (i.e. the x,y position closely tracks the x,y position from the odometry msg), however, adding the IMU as a source results in the filtered output staying at position 0,0 (only the angular information updates) and I have no idea why.

I'm not able to attach the examples here but I can send them individually if needed.

Thanks, Ben

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2019-09-23 18:13:00 -0600

bmgatten gravatar image

I realized that the issue has to do with setting the odom0_pose_rejection_threshold parameter in the .yaml file. The purpose of this parameter is to reject outliers so that they don't influence the filtered odometry result from the EKF. Since the initial x,y position was set to 0,0 my utm coordinates were being rejected.

edit flag offensive delete link more

Question Tools

1 follower


Asked: 2019-09-23 15:41:09 -0600

Seen: 105 times

Last updated: Sep 23 '19