{"id":17,"date":"2017-09-18T01:06:28","date_gmt":"2017-09-18T01:06:28","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/?page_id=17"},"modified":"2018-05-11T22:22:18","modified_gmt":"2018-05-11T22:22:18","slug":"system-design","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/system\/system-design\/","title":{"rendered":"Functional Architecture"},"content":{"rendered":"<p><span style=\"font-weight: 400\">The complete system operation is depicted in a block diagram capturing functions and overall flow of information. Here, we have divided the system into 3 stages which are happening continuously and concurrently. These are:<\/span><\/p>\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Input: <\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Pilot Inputs: Our system being an assistive technology always has a pilot-in-the-loop. The pilot operates the quadcopter by relying only on the FlySense interface <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Onboard Sensors: They are primarily used for perception and state estimation. <\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Process: <\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The raw velodyne point cloud data is filtered to extract the relevant points based on the flight envelope and pilot inputs. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The filtered point cloud data is sent into 3 different channels, one for obstacle danger classification and coloring, another for the sound warnings algorithm and final channel for the emergency braking for obstacle avoidance. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The obstacle coloring and sound warnings merge together into the Bird\u2019s Eye View (BEV) image. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The FPV video is merged with the BEV and published. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The emergency braking code produces control commands that are sent to the flight controller. <\/span><\/li>\n<\/ul>\n<\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Output:<\/span>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The sensor information is rendered as a Heads Up Display (HUD) and overlaid on top of the FPV and BEV video. <\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Sound warning are generated based on the dangerous obstacle to alert the pilot.<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">The flight controller executes control commands to force braking of the quadcopter depending on a potential collision. <\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-726 img-responsive\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-content\/uploads\/sites\/24\/2018\/05\/Functional-architecture.jpg\" alt=\"\" width=\"960\" height=\"720\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The complete system operation is depicted in a block diagram capturing functions and overall flow of information. Here, we have divided the system into 3 stages which are happening continuously and concurrently. These are: Input: Pilot Inputs: Our system being an assistive technology always has a pilot-in-the-loop. The pilot operates the quadcopter by relying only &#8230; <a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/system\/system-design\/\" class=\"more-link text-uppercase small\"><strong>Continue Reading<\/strong> <i class=\"fa fa-angle-double-right\" aria-hidden=\"true\"><\/i><\/a><\/p>\n","protected":false},"author":105,"featured_media":0,"parent":13,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-17","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/pages\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/users\/105"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":17,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/pages\/17\/revisions"}],"predecessor-version":[{"id":728,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/pages\/17\/revisions\/728"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/pages\/13"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamc\/wp-json\/wp\/v2\/media?parent=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}