Running ArduRover continuously for several months

I’m part of a team developing an autonomous transatlantic vessel. The primary navigation computer will be a Pixhawk running a modified version of ArduRover (modified to include satellite communications via RockBlock and other additional sensing features).

The code will be kept as standard as possible to take advantage of the great range of features, including standard mission planning (albeit with a rather large WP_RADIUS) and IMU/compass stuff. However, we estimate a mission time of three-six months (possibly longer).

I’m looking for information as to how Ardupilot/Rover responds to being run for such a long period of time. For instance, it is my understand that the internal millis() clock will roll over after approximately 49 days. Does anyone know if the core code is able to cope with this?

Are there any other issues I may run into, for example compass/IMU drift?

I just started SITL in MissionPlanner at 100x sim speed. I guess you could just test your planned mission time like this and see if it runs through.
Edit: I had a closer look at the status screen and while all other values run faster, timeInAir runs at normal speed.
Edit 2: After about 700s timeInAir at 100x speed (about 20hours), EKF started to show an horizontal position error.

I am also very interested in this. I’ve run SITL in RF 8 for over a week without any major issues.

Thanks guys. I was going to use SITL for testing but I didn’t know you could speed it up.

Given the scales we are working with (the nearest 100metres is plenty of accuracy) I’m not too worried about sensor errors, but would I need to adjust the tolerances to avoid Ardupilot dropping out of AUTO mode?