Maritime-Robotics-Student-Society / sailing-robot

Southampton sailing robot
http://www.sotonsailrobot.org
Other
88 stars 46 forks source link

Investigate Xsens filter scenarios #191

Closed takluyver closed 7 years ago

takluyver commented 7 years ago

We think we might be using the scenario which ignores the magnetic field.

takluyver commented 7 years ago

We found it was using one called north_reference. We have set it to general. Waiting to test it.

takluyver commented 7 years ago

Progress: it no longer uses a fixed heading when you start it up. The headings still weren't right, though. We'll try doing a new MFM next time.

takluyver commented 7 years ago

@tsaoyu I realised last night that the bad readings we were getting in our final outdoor test might be partly due to the 180 degrees 'correction' we put into the sensor_service_imu code on Saturday. If you're testing at the weekend, try taking that out again.

tsaoyu commented 7 years ago

Good point. I assume that is the downside of the hardcode approach. I will look at that 🔨 during weekend.

tsaoyu commented 7 years ago

Progress: a consistent heading reading is acquired with north_reference is as profile, NED framework with 90 degrees offset. Drift in heading still happens may because the calibration or slight move during the start up.

takluyver commented 7 years ago

We're still not reliably getting the right numbers from this. Do we:

  1. Carry on fiddling with the settings of the Xsens
  2. Go back to the settings which reliably produced a number relative to the starting heading, and accept that we can only start that node with the boat on land.
  3. Revert to using the MinIMU for now
joshctaylor commented 7 years ago

Did you try talking to Monica at xSens? She's been the most useful when I had sensor issues. I found the best was was to call them.

takluyver commented 7 years ago

Thanks Josh! Tony, do you have the necessary contact information?

joshctaylor commented 7 years ago

Monique Paulich Monique.Paulich@xsens.com +31 88 97367 00

If you are using the university phones use the following access number to allow you to dial internationally

0843 375 1020 (Planet Talk)

On 24 August 2017 at 10:43, Thomas Kluyver notifications@github.com wrote:

Thanks Josh! Tony, do you have the necessary contact information?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

tsaoyu commented 7 years ago

After bit research on the technical issue, I managed to make Xsens give us consistent heading reference now. As a reference I put some important points here

  1. Do not use Active Heading Stabilisation (AHS) even it sounds like the thing we are looking. What it is actually doing is to use a stable magnetic field as a reference to correct gyro bias. Because of this, once active, no matter which profile is used, all heading reads out are not magnetic filed referenced any more.

  2. Rule of thumb for the calibration: at least 3 minutes with sufficiently large angle covered and really sufficiently still. No Gaussian distributed normalised magnetic residual means we are in trouble, those calibrations should be discarded and shouldn't be use for the missions.

  3. Orientation reset are set of tool that help us to realign IMU inside the boat. It works like this: reset heading (means align x axis to north), inclination(align tangle plane), and alignment (x axis align with the centre of boat) and store option will write it to sensor. We don't need to touch this bit because we currently hard code the rotation of sensor in imu_service node now.

  4. Another dangerous thing is a little compass with save icon. This is for in run calibration (ICC) function, which assume the full calibration is not possible on the platform and calibration is done online. Click such bottom will enable ICC and write magnetic field matrix to the sensor.

  5. Move the boat during no rotation period will result in a wrong gyroscope bias calibration. This will lead to a slow but bounded heading drift. We need to hold the boat still for at least 6 seconds when launching the system.

  6. Position of battery has a huge influence on the magnetic field, firmly attach battery at exact place on top of RPi otherwise an unbounded drift on heading will happen. I haven't observer an obvious effect when battery pack is operating.

tsaoyu commented 7 years ago

Attach screen shot of a successful calibration. screenshot from 2017-08-26 00-27-23

takluyver commented 7 years ago

Nice! Was that calibration with the raspi and the battery pack present?

tsaoyu commented 7 years ago

No, this one was done without the presence of battery pack. but the one with battery pack looks pretty same with this.