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

Navsat_Transform + Dual EKF Issue In Jackal Rover

asked 2022-12-12 04:42:34 -0600

JValPass gravatar image

Hi, I am trying to implement GPS based autonomous navigation on my Jackal Rover simulated, using dual ekf and navsat transform, but I am unable to refine the implementation, indeed the problem is that the robot is not stable when executes the move_base package to reach goal. I urgently need help for my project. I would really appreciate if you someone can guide me. I share with you the link of my roscject belongs to the Construct repository, to execute my project see the command in the notebook https://app.theconstructsim.com/l/532.... I also attach the file about Navsat Transform and EKF filter. I also attach the Drive about the file Navsat Transform and EKF filter https://drive.google.com/drive/folder... you so much for the help.

edit retag flag offensive close merge delete

Comments

I think your question is too broad, and I doubt anyone here has the time to debug your project for you. If you have a specific ros question about gps or ekf or move_base, or have a specific ros error message you would like explained, we can try to help you with that.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-12-12 07:57:18 -0600 )edit

Thank you for the answer, i see that is too broad, so my questions are the follows. 1) when applying the dual ekf, from what I understand, you get two odometries, the local and the global, I would like to ask you what are the differences between the two. 2) The other question is that, from what I understand the navsat tranform takes as input the local odometry of the ekf gave as output, I would like to ask you why it takes the global. 3) furthermore what role that the navsat transform have in practice in the robot localization

JValPass gravatar image JValPass  ( 2022-12-12 09:19:53 -0600 )edit

1 Answer

Sort by ยป oldest newest most voted
0

answered 2022-12-13 07:39:35 -0600

Mike Scheutzow gravatar image

updated 2022-12-13 07:56:04 -0600

when applying the dual ekf, from what I understand, you get two odometries, the local and the global, I would like to ask you what are the differences between the two.

I don't know specifically what is being done on a Jackal, but I can give a general answer:

"global localization" refers to an algorithm that directly calculates an absolute pose on the map. A GPS sensor can be an input to this calculation. The downside is that typically it takes a long time (i.e. seconds) to get an update; for us, GPS has the additional problem that it provides no angle rotation (yaw) information.

"local localization" is different: it relies on measuring relative position changes over time, then integrating them to estimate the current position relative to a starting point. IMU and wheel-encoders are typically the input for this. Pose updates can happen very quick (milliseconds), but the downside is that (a) it has to be told the robot's starting pose on a map, and (b) measurement errors accumulate over time, so the output "drifts" (becomes inaccurate.)

What people do is combine both methods: use local localization to continuously track a decent estimate of the robot pose, and "occasionally" correct the drift using global localization.

The "local ekf" is almost certainly fusing IMU odometry and wheel-encoder odometry.

The "global ekf" is probably applying a velocity-based prediction model to the GPS sensor data.

what role that the navsat transform have in practice in the robot localization

You have to convert from the spherical longitude/latitude coordinate system to your robot's flat 2d map coordinate system.

edit flag offensive delete link more

Comments

Thanks a lot for the answer

JValPass gravatar image JValPass  ( 2022-12-14 05:45:34 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2022-12-12 04:42:34 -0600

Seen: 128 times

Last updated: Dec 13 '22