ethz-asl / mav_tools_public

General launch files, parameters and wiki entries on our systems and related issues
95 stars 21 forks source link

ROVIO test with Quadrotor! #3

Closed gajena closed 5 years ago

gajena commented 5 years ago

Hi @ZacharyTaylor , Thanks for this great wiki!, I was trying this thing but having some issue!

Problem Description

I am trying to run nMPC with ROVIO on quadrotor. Followed the procedure given:

ZacharyTaylor commented 5 years ago

There are three possible issues that can result in this behavior.

  1. a time delay in the system
  2. MSF settings
  3. IMU noise

1) is unlikely as ROVIO is very sensitive to this and wouldn't be working if it was out by much. 2) it could be that the given TF or some other setting is off, but this seems unlikely if it is only twitching a little but not diverging. 3) if it is IMU noise the easiest way to see this is to look at the velocity estimated by MSF. If the IMU has insufficient filtering then you will find that moving the system by hand results in smooth estimates, but as soon as the motors start you will get large and rapid random oscillations in the value. If this is the case you can a) add some foam or gel dampers around your PX4 b) decrease the frequency cutoff of the IMU filters or c) switch away from MSF to something less sensitive. (For example https://github.com/ethz-asl/odom_predictor is a much simpler approach that doesn't do any sensor fusion and doesn't try to reestimate the bias or velocity, which if ROVIO is working should already be accurate).

SnShine commented 5 years ago

Which nMPC are you using?

I've faced a similar issue in the past. If ROVIO is giving odom linear twist in global frame and your nMPC accepting odom linear twist in body frame you'll have the issue of drone making rounds around setpoint in some yaw angles (of setpoint) and will converge to setpoint as expected in some yaw angles of setpoint.

On a side note, I'm spent days making ROVIO work on EuroC dataset and gave up to use other repos. 😅

gajena commented 5 years ago

@SnShine I am using this repository mav_control_rw. I have already worked on ROVIO with high-end IMU like XSensMTi, but this time, I am trying with low-end IMUs. So, most probably it has large noise.

gajena commented 5 years ago

@ZacharyTaylor I have checked all the things and seems like cheaper IMUs has the problem with ROVIO. For now, I am running nMPC with RTK-GPS, and it is working great. Recently, we bought pixhawk2 Cube that has better IMUs with damping. So I will try with that and will let you know.