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

Husky A200, robot_pose_ekf

asked 2013-06-18 04:21:57 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.


I am working with Clearpath Husky. I would like to merge all sensors over robot_pose_ekf (encoders and IMU). However, when I drive a robot, output from the filter is not correct. It is mostly okay for x axis, but prediction of y axis is not precise at all (robot turning creates a mess).

I would like to ask does anyone here has experience with Husky and if yes, could you please recommend how to configure ekf? I have tried using different covariances, but results are confusing.

edit retag flag offensive close merge delete

3 Answers

Sort by ยป oldest newest most voted

answered 2013-06-19 08:29:50 -0500

updated 2013-08-15 04:28:24 -0500

I have this problem as well. What kind of surface are you driving it on? I think that the reason the turning is off is due to excessive slip. I am in the process of testing this, so I will let you know what I find out.

EDIT: Once I started using the IMU on the Husky, it started working fine.

edit flag offensive delete link more

answered 2013-08-06 09:47:53 -0500

A skid steer vehicle like the Husky skids when its turning i.e. the wheel slips momentarily. Unfortunately, the encoders do no capture this slippage. This means the wheel odometry will typically report more rotational motion than is actually achieved. To compensate for this slippage we suggest that you combine this data with IMU data which is much better at estimating heading. This can be done with something like robot_pose_ekf which you have clearly done.

As for the accuracy of the robot_pose_ekf output, I'd love to hear about what specific accuracy and precision you are achieving. What kind of results are you seeing?

edit flag offensive delete link more

answered 2013-06-19 20:11:20 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

I've tested it on different surfaces and output of robot_pose_ekf is not precise enough. With just encoder information, there is a big slip when turning. With combination of IMU and encoders there is a way to achieve better precision (change in covariance matrices) until certain level. It confuses me that covariance matrix of IMU is constant and element (3,3) (if you count from 1) has value 10^-6 while the rest are 10^6. If I element (2,2) of covariance matrix is set to 10-6 results are good, but still there is an error.

Also, it might be possible that there is certain level of precision which might be achieved with only these sensors, so I might just reached the maximum precision, but I'm unsure. Any other experiences?

edit flag offensive delete link more

Question Tools



Asked: 2013-06-18 04:21:57 -0500

Seen: 802 times

Last updated: Aug 15 '13