Black Cube VS Orange Cube problems in Compass detection and calibration


I’ve been strugle with compasss detection and calibration in my Rover. In this moment I have one Pixhawk Black Cube and one Pixhawk Orange Cube both running ArduRover v4.1.0-dev.

When I use Cube Black, Mission Planner is able to detect 3 compasses (2 internal + 1 external), but when I use Cube Orange, Mission Planner detects only 1 compass (an internal compass). Btw as external compass I’m using Here2 in CAN mode, connected to CAN1 port.

Also, when I put the Black or Orange Cube inside the rover, the Mission Planner cannot calibrate the compasses being in an infinite calibration process constantly resetting the progress bars, but when I connect the Black or Orange Cube outside of the rover, the Mission Planner is able to calibrate the compasses already detected. Is there any way the rover is in fact working as Faraday’s cage and the compasses cannot detect the Earth’s magnetic field? Any sugestion?

I’m using this rover from AION Robotics.

I suggest you to update to ArduRover 4.1.0 release

The version you are using is very old.

I will update. But as explained above, the problem shouldn’t be caused by the firmware version.

  • Why in Cube Black the Mission Planner detects 3 compasses, but in Orange Cube it detects only one?

  • Regardless of whether I use the cube black or orange, why outside the rover the mission planner can calibrate the detected compasses but not inside the rover?

Also I don’t think it’s interference problems from the motors, ESC or internal wires since I performed the tests with the motors off and also without the battery connected (powering the pixhawk via usb).

  • Look in the bitmask wich magnetometer are enabled
  • Inside the rover is too close to all metallic stuff to calbrate decently

Strange situation: when i select only the here2 external compass (which is mounted outside the rover), if the pixhawk is outside the rover i can calibrate it, but if the pixhawk is inside the rover i cannot calibrate it.

Look in the params and set it to not load drivers for anything except can. Than it’ll ignore internal magnetometers and maybe it’ll let you calibrate only the external if it is far enough from source of magnetism.

The External Compass Here2 is far enough from source of magnetism because I mounted it outside the rover. The strange situation here is if I put the Cube Black/Orange outside the rover, the mission planner is able achieve the calibration of the external compass but if I put the Cube inside the rover (keeping the external compass outside the rover) the mission planer isn’t able to calibrate the compasss.

The calibration of the external compass should be working and be independent of where the Cube is mouted (inside or outside the rover)

Did you disable internal compasses???

I don’t remember if when I tried to calibrate the external compass, I disabled the internal ones. But can this interfere with the external compass calibration when only the Pixhawk is inside the rover? Mission Planner can calibrate 3 compasses at the same time. If it can’t calibrate the internal ones, it should be able to calibrate the external, right? Are not independent calibrations?

Yes, they are independent, if you are using ArduRover 4.1.0-rc2. Not if you are using an older version, older versions had a bug.

I’m using a rover. Did you mean ArduRover v4.1.0-rc2?

yes, it’s mostly the same.