{"id":141,"date":"2024-10-06T01:24:49","date_gmt":"2024-10-06T01:24:49","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/?p=141"},"modified":"2024-10-20T21:14:45","modified_gmt":"2024-10-20T21:14:45","slug":"shayes-status-report-for-10-05","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/2024\/10\/06\/shayes-status-report-for-10-05\/","title":{"rendered":"Shaye&#8217;s Status Report for 10\/05"},"content":{"rendered":"<p><span style=\"font-weight: 400\">This week I worked on fleshing out the tension detecting system I detailed last week. This was a little more involved than I thought it would be\u2014the function ended up consisting of the following pseudocode:\u00a0<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Recording <\/span><b>x<\/b><span style=\"font-weight: 400\"> number of past wrist angles<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Compute difference between each of the angles in the signal\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Convolve the signal with a <\/span><b>sliding window <\/b><span style=\"font-weight: 400\">of 1\u2019s to compute average range over that window<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If the result of the convolution is smaller than a <\/span><b>threshold<\/b><span style=\"font-weight: 400\">, then not enough wrist angle change has happened and that window is labeled as tense<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If the result of the convolution is larger than a <\/span><b>threshold<\/b><span style=\"font-weight: 400\">, then that window is labeled as not tense\u00a0<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If <\/span><b>over half <\/b><span style=\"font-weight: 400\">of the windows are tense, the function returns tense<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">If not, then the function returns not tense.\u00a0<\/span><\/li>\n<\/ol>\n<p><span style=\"font-weight: 400\">The bolded words in the pseudocode are adjustable thresholds throughout the function. After messing around for a bit, I settled on 20 recorded angles, a window size of 3, a convolution threshold of 0.5, and half of the windows being tense as my values. You can see the results of these values in the <\/span><a href=\"https:\/\/drive.google.com\/file\/d\/1PNacmyXIrooz5aZplPYpd38JKCTykQb4\/view?usp=drive_link\"><span style=\"font-weight: 400\">video linked here<\/span><\/a><span style=\"font-weight: 400\">. True means tension and false means no tension.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">I\u2019ll be testing the tension detection function on Professor Dueck\u2019s students this coming Wednesday. I anticipate that I\u2019ll need to tune some of the values as this will be the first time I\u2019ll be testing this function on an actual piano.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">Additionally, I worked a little more with the webcam this week. The team report has photos of the webcam setup. Once we finalize the full setup next week I\u2019ll work more with the webcam on the tripod configuration.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">I\u2019m currently still on schedule\u2014I\u2019ve temporarily held back on conversion to give Jessie some more time to scope out the FPGA. We\u2019re unsure if it\u2019s necessary to fully port the pipeline or not yet. We\u2019ll continue to progress on this in the following week. I\u2019ve requested an RPi as a contingency if we\u2019re unable to port the pipeline by fall break. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I worked on fleshing out the tension detecting system I detailed last week. This was a little more involved than I thought it would be\u2014the function ended up consisting of the following pseudocode:\u00a0 Recording x number of past wrist angles Compute difference between each of the angles in the signal\u00a0 Convolve the signal &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/2024\/10\/06\/shayes-status-report-for-10-05\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Shaye&#8217;s Status Report for 10\/05&#8221;<\/span><\/a><\/p>\n","protected":false},"author":978,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[10],"tags":[4,9],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/141"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/users\/978"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/comments?post=141"}],"version-history":[{"count":1,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":142,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/posts\/141\/revisions\/142"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/media?parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/categories?post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f24-teamc4\/wp-json\/wp\/v2\/tags?post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}