Team Status Report 4/24/21
This week we worked on the pen location tracking and the GUI. For the pen location tracking, we got a new IMU and were testing out different software elements to get more accurate readings as we were having issues with accuracy and orientation. We attempted multiple methods that all revolved around double integrating acceleration and filtering out obviously extraneous/inaccurate readings. The BNO055 reports multiple forms of data, but the ones we focused on were linear acceleration (acceleration with orientation/gravity already taken into account), raw acceleration, and absolute orientation. We first attempted to use the linear acceleration values but found those inaccurate. We then attempted to use raw acceleration with a rotation matrix derived from absolute position applied to it. We also found this to be inaccurate. At the moment, we are working on an approach in which we use two different sensors for inputs because the MPU6050 has better accelerometer readings, while the BNO055 has better orientation readings. Since we’ve had so much trouble with improving pen accuracy, we have been thinking of backup plans for other forms of input to improve our accuracy.
The current backup plan that we have decided on possibly implementing next is utilizing position tracking of the hand since we know this OpenCV approach will work with detecting the location of the hand. We hope to combine that input with the location tracking from the pen IMU to increase accuracy.
We also made significant progress on the GUI and were able to create the main page, calibration page, and gesture addition page. The next step for the GUI is to finish linking the gesture addition automation to the GUI as well as linking the code for the calibration for the mouse to the GUI.