calibration of the BNO055 - how does it occurs?
It means calibration data is volatile and you need to follow directions so that your device can find its way.

https://learn.adafruit.com/adafruit-bno055-absolute-orientation-sensor/device-calibration


  To generate valid calibration data, the following criteria should be met:
  
  Gyroscope: The device must be standing still in any position
  Magnetometer: In the past 'figure 8' motions were required in 3 dimensions, but with recent devices fast magnetic compensation takes place with sufficient normal movement of the device  
  
  Accelerometer: The BNO055 must be placed in 6 standing positions for +X, -X, +Y, -Y, +Z and -Z.  This is the most onerous sensor to calibrate, but the best solution to generate the calibration data is to find a block of wood or similar object, and place the sensor on each of the 6 'faces' of the block, which will help to maintain sensor alignment during the calibration process.  You should still be able to get reasonable quality data from the BNO055, however, even if the accelerometer isn't entirely or perfectly calibrated.
  
  Persisting Calibration Data
  
  Once the device is calibrated, the calibration data will be kept until the BNO is powered off.
  
  The BNO doesn't contain any internal EEPROM, though, so you will need to perform a new calibration every time the device starts up, or manually restore previous calibration values yourself.