Thom continues to work on the IMU. His current thought is that the offsets don’t need to be too specific because they change with initial head position every time our Arduino program is run. It will be more important to account for the initial head position. He also investigated which dimension (pitch, yaw, or roll) to use for each direction the head might move in (forward, right, left, back). In order to investigate this, he is taking the data (pitch, yaw, and roll measured over time) outputted by the IMU from the Arduino serial output and plotting it in MATLAB. In order to plot this accurately, he also investigated how often the IMU readings are reported.
In order to facilitate the testing of the IMU, Thom is investigating ways to interact with Arduino from MATLAB. Ideally, we could get MATLAB to automatically plot the data from the Arduino serial output without manual input. We also met with Dr. Klaesner in order to ask some questions. We spoke about the calibration of the IMU, which Dr. Klaesner suggested we may have to do for each individual user by taking several points of reference before beginning the feedback cycle. We also asked about pulling Arduino data into MATLAB, and Dr. Klaesner suggested investigating exactly what data is being provided by the IMU and how the Arduino program we have been using processes this data to produce values for pitch, yaw, and roll. Thom is looking into what data is going into each pin of the Arduino, and we will meet with Dr. Klaesner in the lab next Monday to examine this subject with him. Katelyn is researching the best way to interface the Arduino and the Raspberry Pi. In particular, it seems like most programming on the Raspberry Pi is done in Python, so she is going to be looking at how the Arduino IDE and a Python program could potentially be used in conjunction in order to activate feedback based off the results provided by the Arduino/IMU. She is also planning to order haptic motors this week, so that we can test them with the Pi and/or the Arduino next week or the week after. Emma is working on writing our V+V report. We had some questions about how the testing can be performed for certain areas for Dr. Klaesner this week, since it will be impossible to perform some forms of testing with our prototype device, the only one of its kind. We hope to finish this report quickly to be able to proofread it well and have time to continue working on our prototype next week. As usual, Thom is working on programming the IMU. The IMU program that we are using (found here: https://maker.pro/arduino/tutorial/how-to-interface-arduino-and-the-mpu-6050-sensor) accepts X, Y, and Z offsets, so Thom is working to determine how these offsets affect the measured pitch, yaw, and roll. He plotted the Arduino output in MATLAB, but the next step is to communicate between the two programs and get continuous processing. This will be useful for determining the correct offsets and for deciding how to process the data.
The ability to measure pitch, yaw, and roll will affect the placement of the IMU on the head. We currently are planning to position the IMU on the side of the head, since it is difficult for people to wear headbands such that part of the headband is flat on top of the head. Although we are not currently sure how to make this happen, we would like to have some sort of zero button to reset the IMU position. Ideally, this zero button would help compensate for slightly different positioning of the IMU on each person’s head and for different levels of ability to raise the head fully. Emma is currently working on the V+V report, and has been going through our list of device specifications to determine how we could potentially test each item. As she goes through the list of specs, she is keeping track of questions that come up. We plan to meet with Dr. Klaesner within the next week in order to get our questions about the V+V report cleared up. Katelyn contacted our client, Dr. Courtney Dunn, with updates on how our device is going and with some questions. The questions and answers are logged in LabArchives. She also is looking into the use of haptic motors with Raspberry Pis and has been taking care of moving our Google Drive notes into LabArchives and other small tasks. Thom is continuing to work on programming the IMU to accurately detect position. He has familiarized himself with the IMU code and how the program we downloaded to calculate IMU position works. He has modified the program to use the value for pitch to give a binary value for head up or head down. However, we still have a lot of work to do in order to make this evaluation of “up” or “down” more precise and usable in an accurate setting, which is what Thom will focus on continuing to do.
We acquired a headband and some fabric, and Emma sewed a pocket into the headband to hold the IMU. Thom will be working to find the best position for the IMU in the headband - how best to wear the headband in order to get accurate IMU measurements. We received our new monitor for the Pi, and are now using it exclusively. On Monday, Emma and Katelyn experimented with the Bluetooth and audio capabilities of the Raspberry Pi, and successfully managed to get the Pi to play a downloaded .mp3 file through VLC player through the HDMI monitor, through the 3.5 mm headphone jack, and through Bluetooth earbuds. Katelyn’s next steps are to look at haptic motors that work with the Raspberry Pi and order haptic motor parts so we can try to get the Pi to control output. After that, she will be working to write code on the Pi to coordinate the Pi’s output of audio and haptics. We are starting to work on our V+V report, and hope to have most of it written in the next week or two. We may have to change our meeting schedule somewhat, as Katelyn will be out of town for the next four weekends. As we began assembly of our prototype this week, we encountered several problems of varying difficulties to address. Our primary problem right now, though solvable, is a lack of monitor into which we can plug our Raspberry Pi unit for programming. Though we tried several workarounds, we currently have no way of interfacing with the unit other than a television in one of our homes. Since this is infeasible for frequent work, we have purchased a small monitor for use with the Pi. Data has been successfully transmitted from the IMU, but not on a consistent basis. We have had some trouble with our IMU code cutting out; we soldered on the IMU pins today, and hope this solves any issues related to connectivity.
Next week, due to our difficulties last week, our goals will resemble those of last week: achieve successful data transmission from the IMU to the Arduino, develop initial programming for the Pi, and connect all the parts we can. While we wait several days for a portable monitor, a TV in someone’s home can be used. Due to some malfunctioning programming originally intended to help project the Pi screen, we may have to wipe the card and start from the factory settings. This is fortunately early in the process and there is not much on the card, but it will be a small setback if necessary. We are also looking into methods of backing up the Pi’s SD card so that we can have restore it to a working state if necessary. |
Authors
Thom Ellison, Emma Huff, Katelyn Miyasaki Archives
April 2019
Categories
|