{"id":87,"date":"2022-10-08T21:41:57","date_gmt":"2022-10-09T01:41:57","guid":{"rendered":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/?p=87"},"modified":"2022-12-11T11:39:42","modified_gmt":"2022-12-11T15:39:42","slug":"sarals-status-report-for-10-8","status":"publish","type":"post","link":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/2022\/10\/08\/sarals-status-report-for-10-8\/","title":{"rendered":"Saral&#8217;s Status report for 10\/8"},"content":{"rendered":"<p>This week I focused on a refactor of the Computer Vision Localizer to bring it from a &#8216;demo&#8217; state to a clean implementation as outlined by our interface document. This involved redoing the entire code structure, removing a lot of hard-coded variables and exposing the right functions to the rest of the application.<\/p>\n<p>I also worked on creating 8 distinct images for the robots to display and calibrating them for the algorithm via a LUT to account for the errors in the camera and neopixel&#8217;s not being perfectly color accurate.<\/p>\n<p>I also worked on making the Computer vision code work with the fiducials. The fiducials are the QR code pieces that allow a human to place them at the edges of a sandbox (table). Based on the fiducial locations, I was able to write an algorithm to detect what fiducials were in what order and appropriately apply a homography to the sandbox and scale it such that each pixel was 1mm wide. This allows us to place the camera anywhere, at any angle and get a consistent transformation of the field for localization, path planning, and error controller! It also allows us to detect the pallets.<\/p>\n<p>&nbsp;<\/p>\n<p>Attached below is an example. Pic 1 is a sample view from a camera (the fiducials will be cut out in reality) and Pic 2 is a transformation and scaling of the image between the fiducials [1,7,0,6] as the corner points<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-93\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309288654_555058783089468_1658449191707300066_n-300x196.png\" alt=\"\" width=\"300\" height=\"196\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309288654_555058783089468_1658449191707300066_n-300x196.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309288654_555058783089468_1658449191707300066_n-768x501.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309288654_555058783089468_1658449191707300066_n-1024x668.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309288654_555058783089468_1658449191707300066_n.png 1728w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-94\" src=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309563528_596251898867731_8083640015255607345_n-300x225.png\" alt=\"\" width=\"300\" height=\"225\" srcset=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309563528_596251898867731_8083640015255607345_n-300x225.png 300w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309563528_596251898867731_8083640015255607345_n-768x576.png 768w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309563528_596251898867731_8083640015255607345_n-1024x767.png 1024w, http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-content\/uploads\/sites\/211\/2022\/10\/309563528_596251898867731_8083640015255607345_n.png 2012w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I focused on a refactor of the Computer Vision Localizer to bring it from a &#8216;demo&#8217; state to a clean implementation as outlined by our interface document. This involved redoing the entire code structure, removing a lot of hard-coded variables and exposing the right functions to the rest of the application. I also &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/2022\/10\/08\/sarals-status-report-for-10-8\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Saral&#8217;s Status report for 10\/8&#8221;<\/span><\/a><\/p>\n","protected":false},"author":637,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[],"_links":{"self":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/posts\/87"}],"collection":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/users\/637"}],"replies":[{"embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/comments?post=87"}],"version-history":[{"count":6,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/posts\/87\/revisions"}],"predecessor-version":[{"id":95,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/posts\/87\/revisions\/95"}],"wp:attachment":[{"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/media?parent=87"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/categories?post=87"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/course.ece.cmu.edu\/~ece500\/projects\/f22-teama2\/wp-json\/wp\/v2\/tags?post=87"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}