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

robot_localization angles diverge when robot is in high pitch

asked 2022-01-19 04:10:21 -0500

Nachum gravatar image

updated 2022-01-19 08:22:54 -0500

Hi

I'm using robot localization package for mapping which is working well until I reach high pitch then orientation of filter goes bad.

input to robot_localization is:

1) imu filtered from madgwick filter

2) motor data - wheel movement

3) altitude sensor

When robot reaches high pitch (80 deg) madgwick filter stays good but output from localization goes bad.

can I make localization take madgwick filter output with out changing it?

thanks

attached screenshot of two filters

C:\fakepath\Screenshot from 2022-01-19 12-04-31.png

image description

edit retag flag offensive close merge delete

Comments

@Nachum, please add the picture. Only link is showing.

osilva gravatar image osilva  ( 2022-01-19 06:50:28 -0500 )edit

Thank you for updating.

osilva gravatar image osilva  ( 2022-01-19 07:43:47 -0500 )edit
  1. What information do you want the robot_localization to generate?
  2. Please explain how "motor data" is supposed to help determine position/pose?
  3. The integration of IMU acceleration data will slowly drift (accumulate error over time) - how does your system correct for this error?
Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-01-19 08:02:48 -0500 )edit
  1. position and orientation
  2. motor data is wheel forward movement
  3. obviously we need to use the map but the problem here isn't drifting, its going bad at high pitch
Nachum gravatar image Nachum  ( 2022-01-19 08:26:58 -0500 )edit

So this is a robot with wheels, and it moves on the ground? When you said altitude sensor, I assumed this was a drone. Why is altitude (height above sea-level) relevant?

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-01-19 09:07:20 -0500 )edit

at high pitch there is a lot of slipping so wheel data isn't enough.

Nachum gravatar image Nachum  ( 2022-01-19 09:17:19 -0500 )edit

Please edit your description and copy/paste your robot_localization config file, then format it as code using the 101010 button. It's OK if it is long. FYI, there are a very large number of existing questions on this site about how to configure IMU+wheel_encoder inputs to this package, so you might get an answer faster by searching for them.

You edit using the "edit" button at the end of the description.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-01-20 06:40:00 -0500 )edit
1

You need to simplify the system to debug where the problems are. You could configure robot_localization with only one input (IMU or wheel_encoder or altimeter) to see if the output looks reasonable.

Mike Scheutzow gravatar image Mike Scheutzow  ( 2022-01-20 06:52:03 -0500 )edit

1 Answer

Sort by ยป oldest newest most voted
1

answered 2022-01-24 01:41:32 -0500

Nachum gravatar image

Thanks for all the help,

problem was in configuration, imu0_differential: true the right configuration is imu0_differential: false.

edit flag offensive delete link more

Question Tools

3 followers

Stats

Asked: 2022-01-19 04:10:21 -0500

Seen: 75 times

Last updated: Jan 24 '22