You cannot determine position using only a consumer grade IMU, such as the BNO055. If you had an ideal accelerometer, you could in theory integrate the acceleration to get velocity, and then integrate the velocity to get position. However, consumer grade sensors are noisy. To get position, noise gets integrated twice. This leads to exponential errors in position. This video explains the problem:
To offset the errors caused by the noisy sensor, you need to combine the inertial sensor data with another external source. The best external source would be an Earth-referenced sensor, such as GPS or vision. Though not technically Earth referenced, another very accurate source is odometry. The odemetry data could be from a wheel encoder, for example. It could also be from any other repetitive event that allows you to offset the inertial sensor error. For example, I seen demos that use step detection on a walking person to reset the error on each step. This prevents the error from building up, and can allow the calculation of position with good accuracy.