{"id":266,"date":"2015-10-23T13:52:36","date_gmt":"2015-10-23T17:52:36","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/?page_id=266"},"modified":"2016-05-06T18:09:05","modified_gmt":"2016-05-06T22:09:05","slug":"functional-architecture","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/functional-architecture\/","title":{"rendered":"Functional Architecture"},"content":{"rendered":"<p><strong><span style=\"text-decoration: underline;font-size: xx-large\">Physical System<\/span><\/strong><\/p>\n<p>The functional architecture depicts the process flow of the Auto-Park for Social Robots with the inputs on the left, outputs on the right, and the internal functions of the system in the center box.\u00a0 The direction of arrows represents the flow of material, energy and information from one function to another.\u00a0 The purple box represents the process when a vehicle parks and the blue box represents the process when a vehicle returns.<\/p>\n<div id=\"attachment_536\" style=\"width: 746px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch.png\" rel=\"attachment wp-att-536\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-536\" class=\"wp-image-536\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch-300x214.png\" alt=\"func_arch\" width=\"736\" height=\"525\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch-300x214.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch-768x548.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch-1024x731.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/func_arch.png 1741w\" sizes=\"auto, (max-width: 736px) 100vw, 736px\" \/><\/a><p id=\"caption-attachment-536\" class=\"wp-caption-text\">Functional Architecture<\/p><\/div>\n<p>&nbsp;<\/p>\n<p>The inputs to the system are a pre-loaded map, the \u201cPark\u201d command from the user, and the \u201cReturn\u201d command from the user.\u00a0 The outputs from the system are the \u201cCar Parked\u201d and \u201cCar Returned\u201d notifications to the user.The entire flow can be divided into two phases: Park and Return.\u00a0 The structure of the flow diagram is based on the \u201cSense-Plan-Act\u201d design.<\/p>\n<p>In the Park phase, the vehicle receives a \u201cPark\u201d command from the user via the Android app and navigates to the entry queue, continuously localizing itself in the environment.\u00a0 It queries other vehicles in the parking lot for information needed to plan its route to the optimal spot.\u00a0 On selecting the best spot based on this data, it plans its route to the spot and starts navigation.\u00a0 Localization data is needed to continuously update the path planner and if obstacles are encountered along the way, the path is modified accordingly.\u00a0 Upon reaching the spot, the vehicles parks in the designated spot, sends a \u201cCar Parked\u201d notification to the user, and waits for the return command from the user.<\/p>\n<p>In the Return phase, upon receiving the \u201cReturn\u201d command from the user, the vehicle plans the optimal route to the exit based on its current location and the data provided by other cars regarding the conditions in the parking lot.\u00a0 It starts navigating towards the exit, sensing obstacles along the way and sending a notification to the user once it reaches the exit queue.<\/p>\n<h2><\/h2>\n<p><strong><span style=\"text-decoration: underline;font-size: xx-large\">Simulation System<\/span><\/strong><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/Selection_099.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-838 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/Selection_099.png\" alt=\"Selection_099\" width=\"960\" height=\"457\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/Selection_099.png 960w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/Selection_099-300x143.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-content\/uploads\/sites\/10\/2015\/10\/Selection_099-768x366.png 768w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>The simulation system is initiated whenever a vehicle enters the parking lot in the visualization. The new car is added to a queue and the rendering engine queries the global planner\u00a0regarding which spot should be designated to the new entrant. The global planner receives information regarding the current state of the all the spots in the lot and uses this information to update the cost of each spot in the parking lot.<\/p>\n<p>After this update, the global planner queries the local planner regarding costs of specific spots. This query is needed to take into account the cost to reach a spot given the current condition of the parking lot. The local planner returns the cost associated with the spot and the global planner uses this to find the best spot in the parking lot. This information is relayed to the rendering engine.<\/p>\n<p>The rendering engine, having received the spot the car in the queue should park at, queries the local planner for a path to reach that spot. The local planner returns a path to the rendering engine which is used to park the car in the designated spot. When a car queries the simulation\u00a0system, the rendering engine queries the local planner for a path from the current location of the car to the exit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Physical System The functional architecture depicts the process flow of the Auto-Park for Social Robots with the inputs on the left, outputs on the right, and the internal functions of the system in the center box.\u00a0 The direction of arrows represents the flow of material, energy and information from one function to another.\u00a0 The purple<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/functional-architecture\/\">+ Read More<\/a><\/p>\n","protected":false},"author":12,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template_parts\/page-fullwidth_template.php","meta":{"footnotes":""},"class_list":["post-266","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/pages\/266","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/comments?post=266"}],"version-history":[{"count":6,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/pages\/266\/revisions"}],"predecessor-version":[{"id":839,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/pages\/266\/revisions\/839"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teami\/wp-json\/wp\/v2\/media?parent=266"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}