robot_pose_ekf with Lego NXT giving wrong coordinate
I'm working on Lego NXT navigaition using both odometry with IMU data as input in robotposeekf.
- I have my own design which has different wheel size than the starter robot but with the same wheelbase, give or take.
- In my launch file, I'm still using robot.urdf file from starter robot provided by NXT stack. Which is obviously doesn't look anything like what I have. But I've corrected wheelradius and wheelbasis in base_parameters.
What I got from robotposeekf/odom_combined are as following:
- If the robot is running only in straight line either forward or backward the coordinates are correct. (I've measured them.)
- Once the robot makes a turn it will start giving wrong coordinate. Mostly position: X will increase continuously even when the robot is travelling in parallel with Y axis.
Sorry for the long intro. Here are my questions:
- Where should I start to fix the problem? I figured wheelradius is right since X axis positions in straight line are correct. Unfortunately no matter how I adjust the wheelbasis it still behave strangely once it starts to turn as I described earlier.
- Does robot.urdf file has anything to do with robotposeekf? I mean does the urdf file provide the shape and design for position calculation (eg. IMU position in relation to centre of gravity) or is it there just for visualization?
One last thing, my Rviz doesn't work. So I don't know how it behave in visualization.
Asked by Beaver_XT on 2015-03-20 16:55:20 UTC
Comments