Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 7 of 7

Thread: Prop Shield orientation problem

  1. #1
    Junior Member
    Join Date
    Mar 2020
    Posts
    4

    Prop Shield orientation problem

    Hi,

    I have a problem when implementing an artificial horizon and a compass with the teesy Prop Shield.

    I am using a Teensy 3.2 together with Propshield with the last arduino ide, 1.8.12 and the last teensyduino 1.51.

    I do a calibration with the official libraries and MotionCalc obtaining values ​​<2%.

    In static, that is, at home, I try on a paper with divisions every 45 and turning the propshield on these marks gives me a very acceptable heading value.

    When I test in my car these values ​​do not stop varying and start making weird movements.

    I have tried to calibrate in the same car thinking that there could be magnetic interference, but I have not succeeded.

    I would like to know if you can help me with something I am not considering or if you have a possible solution.

    I thought that if an imu of this type can fly a drone, which "a priori" is more unstable and gives good heading values, why will not be able to be used as an aid in an uncertified, experimental aircraft?

    Thank you very much and I await your comments.

    Sorry for English as it is not my mother language.

  2. #2
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,817
    Remember IMUs like the propshield with magnetometers are sensitive to magnetic fields around them so when you test in a home environ the mag field may be acceptable. But in a CAR depending on where you place it and if its in the system you will see variations due to differing mag fields present than in a home environment.

    You might try recalibrating in the car while its running and off and see how it works out.

  3. #3
    Junior Member
    Join Date
    Mar 2020
    Posts
    4
    Hi!

    I just tried the calibration inside the car. The imu is located between the front seats of the car.

    First I tried with the engine running and the result is very bad. I attach an image where you can see the values. I have followed the patterns of mjs513 used in the FreeImu wiki.

    Click image for larger version. 

Name:	4d73e925-f5c2-459f-8330-de721df7efbe.jpg 
Views:	3 
Size:	60.2 KB 
ID:	19303

    Suddenly a small sphere has been made, but the values ​​are still bad. I attach the following image.

    Click image for larger version. 

Name:	8878a0ae-9884-4e05-bef4-c16887929da2.jpg 
Views:	3 
Size:	57.0 KB 
ID:	19304

    Finally I tried to do the calibration with the engine off. The result is somewhat better but impossible to send the calibration to the plate. It can be seen in the following image.

    Click image for larger version. 

Name:	fc81c343-6076-4858-a7cf-5968168fcefe.jpg 
Views:	4 
Size:	44.5 KB 
ID:	19305

    I have just acquired the new Adafruit feather bluefruit sense, I have done the same tests and the results are very similar.

    I don't know if there is a way for the results to be correct, for example by isolating the sensors between some material or another method. I would need some suggestion.

    Thank you!

  4. #4
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,817
    There are a couple of things to consider. Sources of interference is primary. Don't know enough about cars but I assume you are testing sitting in the front sit closest to all the electronics and the engine etc. Have you tried locating it say in the back of the car farthest from the engine etc. Basically move the imu as far away from the source of the varying magnetic field.

    Try doing a google search and see what pops up.

  5. #5
    Junior Member
    Join Date
    Mar 2020
    Posts
    4
    Hi,

    I have tried doing the tests in the back seat, calibrating in the back seat and doing it in various areas of the car with the engine running and stopped.
    The result has been the same that you can see in the photos that I attached.

    I have tried to google a bit and what I have found is special sensors for cars. I think it is the only option I have.

    I have other possible options, the first is to use an option without using the magnetometer, that is, the DMP that uses sensors such as the mpu6050 or the mpu9050. I think that with the Prop Shield we could use the updateIMU(ax, ay, az, gx, gy, gz) function that the Madgwick filter offers. Then, using a conventional compass, I would change the course to update it to the one I see on the compass and periodically I would check it with the compass to make sure that there is no drift or correct it if necessary.

    On the other hand I wanted to ask about pitch and roll in accelerations. When I accelerate with the car or brake abruptly, these values ​​move, I think due to the acceleration component that the filters use. Is there a way to remove these variations to have a stable roll and pitch value when using this imu dynamically?

    Thank you!

  6. #6
    Senior Member+ mjs513's Avatar
    Join Date
    Jul 2014
    Location
    New York
    Posts
    4,817
    I have other possible options, the first is to use an option without using the magnetometer, that is, the DMP that uses sensors such as the mpu6050 or the mpu9050. I think that with the Prop Shield we could use the updateIMU(ax, ay, az, gx, gy, gz) function that the Madgwick filter offers. Then, using a conventional compass, I would change the course to update it to the one I see on the compass and periodically I would check it with the compass to make sure that there is no drift or correct it if necessary.
    DMP is an option, there is a DMP lib out there that does work with the 9250. MPU6050 is good as well. I have used madgwick and Mahoney without the magnetometer and got good results for roll and pitch. As for heading you can always use a gps mounted on the roof of the car fed into the Teensy. If stationary not very good but once moving should be ok.

    On the other hand I wanted to ask about pitch and roll in accelerations. When I accelerate with the car or brake abruptly, these values ​​move, I think due to the acceleration component that the filters use. Is there a way to remove these variations to have a stable roll and pitch value when using this imu dynamically?
    You might want to check this site out and checkout the video: https://www.autonomousvehicletech.co...e-using-an-imu.

    Reading that website a little more - have you tried playing with the Kalman code for the Propshield?

  7. #7
    Junior Member
    Join Date
    Mar 2020
    Posts
    4
    Hi

    I have been reading the link that you have given me. I find it very interesting.
    I hadn't thought about automotive imu because I thought it would be very expensive, but products like Aceinna's.

    May I purchase an Acennia imu to see how they work. May be in some months...

    I was unable to test adjusting the Kalman filter because we are now homebound for at least a month due to the Covid-19, but I will keep that in mind.
    I have noticed that the pitch and roll variation is much less compared to other imus such as the bno055 or the bno080.

    I have seen that there is a sensor, the RM3100 which is a magneto-inductive magnetometer, I have also seen it called a geomagnetic sensor (although I thought this was a common term for any terrestrial magnetic sensor).
    Do you think this sensor would be valid for the interior of a vehicle?
    What is the difference between the sensors we know as the HMC5883L or the LIS3MDL and the RM3100?

    Thank you so much for the answers.

    Best regards.
    Last edited by jcduino; 03-23-2020 at 07:58 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •