{"push_id":568122440,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"69efc0159713841f2bceb6ba73670078103b2777","before":"e08545137b2f81e767c07389d762fbf4def04fe9","commits":[{"sha":"69efc0159713841f2bceb6ba73670078103b2777","author":{"email":"caa412bf6bad53e56481bed6fba24e9a51b4d9e2@gmail.com","name":"Nisarg Patel"},"message":"Made changes to OrientationActivity:\n  --Added TYPE_UNCALIBRATED_GYROSCOPE\n  --Using event.timestamp instead of System.currentTimeMillis() to get Δt\n  --Converting System time output from nanoseconds to seconds (had previously forgotten to do this)\n  --Calculating bias for uncalibrated gyroscope (based on first few hundred data points)\n  --Outputting heading returned from passing uncalibrated gyroscope data to NewHeadingInference\nCreated MathFunctions Class, a static class containing:\n  --Method to convert nanoseconds to seconds\n  --Method to add matrices\n  --Method to multiply matrices  --Method to convert polar coordinates to rectangular coordinates\nCreated NewHeadingInference Class to calculate orientation matrix:\n  --Use orientation calculations from: http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-696.pdf\n  --Input  = position (angular velocity integrated with respect to time)\n  --Output = heading (radians) or XY coordinate points\n  --Calculate orientationMatrix using C(t + Δt) = C(t) * (I + (sin(σ)/σ) * B + ((1 - cos(σ))/σ^2) * B^2)\n  --Heading inference is given by atan2(C(3,3), c(2,3))","distinct":true,"url":"https://api.github.com/repos/nnp1997/InertialNavigation/commits/69efc0159713841f2bceb6ba73670078103b2777"}]}