paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] Magnetometer freeze problem occurring AR Drone 2.0


From: opersupport
Subject: [Paparazzi-devel] Magnetometer freeze problem occurring AR Drone 2.0
Date: Fri, 2 May 2014 14:28:37 -0700 (PDT)

Hello,

I am working on a project where I am executing my own code for the AR Drone
2.0. My project makes use of sensor readings and control of propellers. So
far, the Paparazzi code base has been a great resource so far allowing me to
see how driver code is implemented such that I can write something on my own
to read sensors and talk to motors. Right now, I am re-using much of the
functionality from the navdata.c

https://github.com/paparazzi/paparazzi/blob/c10b6b728922d537f69d26eca9098984e3c8fa4e/sw/airborne/boards/ardrone/navdata.c

Here is my slightly modified version, I removed the baro calibratoin stuff
because I don’t plan on using this initially, but other than that, it should
be mostly the same in terms of functionality
http://pastebin.com/8xcVWexu

I can read all sensor data fine (accel,gyro, altitude, etc), it works
without problems except for the magnetometer data. It seems that the
magnetometer values sometime get held at a constant value and no longer
update. This happens in a few instances:

a)      At first, I would read in successful magnetometer readings in my 
program.
I then terminate this program and sometimes after starting it up again, the
values are held at a constant.

b)      During my program execution, values are updating normally then suddenly
get held at a constant

c)      I’ve noticed that sometimes when moving the drone from a 
stationary/still
position and then moving it suddenly (ie: a change in attitude) will cause
the magnetometer to fail as well.
I have did some reading online on Github, from my understanding, there has
been issues in the past with the magnetometer. For instance:

https://github.com/paparazzi/paparazzi/commits/master/sw/airborne/boards/ardrone
https://github.com/paparazzi/paparazzi/commit/3bf8f827a36401629d79afb044d0ad04b0b92e54

On Jan 23rd there was a change to fix occasional magneto freeze issues. The
code I am using should have the correct implementation of this (see pastebin
link above) except for the fact that I am not calibrating the baro which I
don’t believe should have an effect on the initialization issue. To simplify
my tests, all I am doing is essentially calling IMU_Navdata_init () once,
then looping with the IMU_Navdata_update( ) function to grab data from the
serial port. When my program terminates, I close the file descriptor using
IMU_Navdata_stop()

To summarize further: I am also using firmware version v*2.4.8. I also kill
the respawner script (program.elf.respawner.sh) and the programs
(program.elf ) *prior to running my code. *Again, I can get all other IMU
data in fine; it’s just the magnetometer which still suffers from the freeze
issue despite having matching initialization code*. Could it be that there
may be hardware issues with my navigation board?

Please let me know if there are further steps I can take to better
understand the issue. What other tests can I perform?





--
View this message in context: 
http://lists.paparazziuav.org/Magnetometer-freeze-problem-occurring-AR-Drone-2-0-tp15283.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]