{"id":14,"date":"2019-12-18T03:37:16","date_gmt":"2019-12-18T03:37:16","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/?page_id=14"},"modified":"2020-12-14T05:56:46","modified_gmt":"2020-12-14T05:56:46","slug":"system-performance","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/system-performance\/","title":{"rendered":"Performance"},"content":{"rendered":"<h3><span style=\"font-size: 30px\"><strong>Fall Validation Demonstration<\/strong><\/span><\/h3>\n<p><span style=\"font-weight: 400\">The Fall Validation Demonstration was conducted in two parts, in simulation, and on hardware. The following sections detail the tests performed and results obtained for both demos.<\/span><\/p>\n<p><span style=\"font-size: 24px\">Simulation<\/span><\/p>\n<p><span style=\"font-size: inherit\">In the simulation, we showcased the chassis&#8217; ability to plan a path to the desired pod, identify it, and dock with it. It would then drop the pod off at a predefined undocking location. The validation criteria and results for the demo were:<\/span><\/p>\n<ol>\n<li><span style=\"font-size: inherit\"><strong>The system will continuously log the system state and health. State transitions occur only when the last action has been completed. The logs will present system state, health, and results of actions in an easily readable manner.<\/strong><\/span><\/li>\n<\/ol>\n<p style=\"padding-left: 40px\">The Behavioural State Machine node and the Health Monitoring System operated continuously throughout the length of the simulation. The system state was logged by the State Machine. It outputted the current time, current operation mode (pickup, drop-off, idle), current state, the action performed and its output, and the state the system will transition into as a result of the action taken. The Health Monitoring System also outputted the results of sanity and persistence checks for all nodes and sensors.<\/p>\n<p>\u00a0 \u00a0 2.<strong>\u00a0 (Un)Docking will be done within 120s.<\/strong><\/p>\n<p style=\"padding-left: 40px\">This criterion satisfies <strong>M.P.2<\/strong>. 4 processes are subsumed within this requirement: approach navigation to either pick up or drop-off the pod, final pose verification when the approach is complete, retrace if the pose achieved is outside error bounds, and the physical act of docking and lifting up the pod or undocking and placing it on the ground. The chassis executed all the procedures well within 120s in all scenarios including those in which the chassis had to retrace its path to the start of the Payload Handling Zone (PHZ) except when approach navigation fails due to a large difference in the initial pose of the chassis from the ideal initial pose at the start of the PHZ. In order to induce this failure, we had to manually shift the chassis in the simulation from the pose it had achieved at the end of the point-to-point (P2P) navigation. Our P2P algorithm ensures that the probability of occurrence of such cases is low.<\/p>\n<p>\u00a0 \u00a0 3.<strong> \u00a0The simulation should have a success rate of 85%.<\/strong><\/p>\n<p style=\"padding-left: 40px\">The success criterion subsumes <strong>M.P.1<\/strong> (chassis will identify pod when it is within 2m of the PHZ), <strong>M.P.3<\/strong> (chassis will achieve docking pose with an error margin of \u00b15 cm in position and \u00b15.54 degrees in orientation), and <strong>M.P.8<\/strong> (chassis will identify PHZ 90% of the time). During testing, the P2P navigation was always successful, and the chassis was always able to detect it&#8217;s proximity to the PHZ. The chassis was able to achieve a docking pose within the error bounds imposed by M.P.3 either on the first try or after retracing in 90% of the cases. The system was also able to detect, report, and diagnose system failures within 2000ms (M.P.5). It also maintained a minimum distance of 30cm at all times from objects (M.P.7) and determined their pose with an accuracy of 5cm (M.P.6). Overall, the entire process was successful 7 out of 8 times (<strong>87.5% success rate<\/strong>).<\/p>\n<p><span style=\"font-weight: 400\">Table 1 below lists the unit tests that were performed to validate each of the mandatory performance requirements along with the success rate of the test. \u00a0These tests were performed in addition to the Fall Validation demonstration to ensure the successful operation of the entire system.<\/span><\/p>\n<p><span style=\"font-size: 24px\">Hardware<\/span><\/p>\n<p>We also validated some of the algorithms we had developed with real-world data using a makeshift mobile platform with sensors mounted on top of it. The metrics that were verified and the results are described below.<\/p>\n<ol>\n<li><strong>Predicted pod position (x,y) for relative localization is within 20 cm of the ground-truth, and the orientation (yaw) is within \u00b111.80 degrees of\u00a0<\/strong><strong style=\"font-size: inherit\">the ground-truth. The same margins hold for the predicted docking pose (x,y, yaw) error and actual error.<\/strong><\/li>\n<\/ol>\n<p style=\"padding-left: 40px\"><span style=\"font-weight: 400\">For this test, we first placed the mobile platform in front of the pod where it was able to view the AprilTags mounted on the pod. The system was able to predict the pod&#8217;s detected location to within the accuracy bounds mentioned above even when the platform was rotated and translated in different directions. The platform was then moved underneath the pod. It was able to predict the docking pose within the bounds as well.<\/span><\/p>\n<p>\u00a0 \u00a0 2. \u00a0<strong>Object locations are detected with an accuracy of \u00b1 5 cm (M.P.6).<\/strong><\/p>\n<p style=\"padding-left: 40px\">This requirement was met. We also demonstrated the pedestrian tracking ability of our system. Our system was able to identify moving pedestrians and differentiate them from static obstacles. It was also able to reassign them the same ID when they reentered the camera\u2019s field of view.<\/p>\n<p style=\"text-align: center\"><b>Table 1: FVD Performance Evaluation<\/b><\/p>\n<table style=\"height: 1836px\" width=\"583\">\n<tbody>\n<tr>\n<td>\n<h4 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">Tests<\/span><\/h4>\n<\/td>\n<td style=\"text-align: center\">\n<h4><span style=\"font-weight: 400;font-size: 16px\">Demo \/ Requirement<\/span><\/h4>\n<\/td>\n<td style=\"text-align: center\">\n<h4 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">Success Rate<\/span><\/h4>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\">\n<h3><span style=\"font-weight: 400;font-size: 16px\">1.<\/span><\/h3>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Navigation<\/span><\/h3>\n<\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Path Planned to PHZ<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Identifying proximity of ~ 2 m to PHZ (MP1)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\">\n<h3><span style=\"font-weight: 400;font-size: 16px\">2.1 Approach<\/span><\/h3>\n<\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Pod identified correctly (MP requires\u00a0 &gt; 90%) (MP8)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Vehicle completes approach to docking position.<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">8\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-size: 16px\"><span style=\"font-weight: 400\">Max error of 5 cm in the docking position<\/span> <span style=\"font-weight: 400\">(MP3)<\/span><\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Max error of 5.54 degrees in the docking orientation (MP3)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">\n<h3><span style=\"font-weight: 400;font-size: 16px\">2.2 Retracing<\/span><\/h3>\n<\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Identify misalignment and perform retracing (MP2)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">9\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Max error of 5 cm in the docking position (MP3)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Max error of 5.54 degrees in the docking orientation (MP3)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><span style=\"font-weight: 400;font-size: 16px\">3.1 HMS<\/span><\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\"> Failure diagnosis and log within 2000 ms (MP5)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">The system is able to log recovery of nodes and topics<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\"><span style=\"font-weight: 400;font-size: 16px\">3.2 Object detection<\/span><\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Detect object location with an accuracy of \u00b15 cm (MP6)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">Maintain minimum distance of 30 cm from obstacles (MP7)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\"><span style=\"font-weight: 400;font-size: 16px\">4. Docking\/ Undocking<\/span><\/td>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">This test along with Test 2.1 are completed within 120s (MP2)<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<h3><span style=\"font-weight: 400;font-size: 16px\">State change request is raised with trigger condition and logged.<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: center\">\n<h3><span style=\"font-weight: 400;font-size: 16px\">Docking\/undocking mechanism is successfully executed and the pod is lifted up or lowered in a stable manner depending on system state.<\/span><\/h3>\n<\/td>\n<td>\n<h3 style=\"text-align: center\"><span style=\"font-weight: 400;font-size: 16px\">10\/10<\/span><\/h3>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><span style=\"font-size: 30px\"><strong>Spring Validation Demonstration<\/strong><\/span><\/h3>\n<p><span style=\"font-size: 24px\">Targeted Requirements<\/span><\/p>\n<p><span style=\"font-weight: 400\">For the Spring, we targeted the requirements that relate to the process of navigating to the pod and then aligning with it. Detailed requirements can be found <a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/system-design\/\">here<\/a>.<\/span><\/p>\n<p style=\"text-align: center\"><b>Table 1: Targetted Requirements<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>MP<\/b><\/td>\n<td><b>Description<\/b><\/td>\n<td><b>Subsystem<\/b><\/td>\n<td><b>System Element<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1<\/span><\/td>\n<td><span style=\"font-weight: 400\">Plan path &lt; 120 km<\/span><\/td>\n<td><span style=\"font-weight: 400\">Navigation<\/span><\/td>\n<td><span style=\"font-weight: 400\">Mission Planner<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2<\/span><\/td>\n<td><span style=\"font-weight: 400\">Identify proximity to PHZ<\/span><\/td>\n<td><span style=\"font-weight: 400\">Navigation, Sensing<\/span><\/td>\n<td><span style=\"font-weight: 400\">Localization<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3<\/span><\/td>\n<td><span style=\"font-weight: 400\">Dock &lt; 120 s<\/span><\/td>\n<td><span style=\"font-weight: 400\">Navigation, Docking, Sensing<\/span><\/td>\n<td><span style=\"font-weight: 400\">Motion Planning, Align, Verify<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">4<\/span><\/td>\n<td><span style=\"font-weight: 400\">Align within the error margin<\/span><\/td>\n<td><span style=\"font-weight: 400\">Navigation, Docking, Sensing<\/span><\/td>\n<td><span style=\"font-weight: 400\">Localization, Verify, Mission Planner<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">6<\/span><\/td>\n<td><span style=\"font-weight: 400\">Diagnose failures &lt; 2 s<\/span><\/td>\n<td><span style=\"font-weight: 400\">Safety<\/span><\/td>\n<td><span style=\"font-weight: 400\">Health Monitoring System (HMS)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">7<\/span><\/td>\n<td><span style=\"font-weight: 400\">Detect objects<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sensing, Navigation<\/span><\/td>\n<td><span style=\"font-weight: 400\">Detection<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">8<\/span><\/td>\n<td><span style=\"font-weight: 400\">Stop &gt; 30 cm from obstacles<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sensing, Navigation, Safety<\/span><\/td>\n<td><span style=\"font-weight: 400\">Detection, HMS<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Performance<\/strong><\/p>\n<p><span style=\"font-weight: 400\">The following table lists the tests we had planned for the <strong>Spring Validation Demonstration<\/strong>, their description, and the results that we obtained in our preliminary tests as well as in both the validation demonstrations.<\/span><\/p>\n<p>The video can be found\u00a0<a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/media\/\">here<\/a>.<\/p>\n<p style=\"text-align: center\"><b>Table 2: SVD Performance Evaluation<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Tests<\/strong><\/td>\n<td><strong>Demo\/Requirement<\/strong><\/td>\n<td><strong>Result (out of 5 tries)<\/strong><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Navigation<\/span><\/li>\n<\/ol>\n<\/td>\n<td><span style=\"font-weight: 400\">Path Planned to PHZ <\/span><b>(M.P.1)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Successful &#8211; 5\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Identifying proximity of ~ 2 m to PHZ <\/span><b>(M.P.2)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Successful &#8211; 5\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Safety<\/span><\/li>\n<\/ol>\n<\/td>\n<td><span style=\"font-weight: 400\">MP Failure diagnosis and log within 2000 ms <\/span><b>(M.P.6)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Successful &#8211; 5\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Detect obstacles with an accuracy of 5 cm <\/span><b>(M.P.7)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Detected &#8211; 5\/5<\/span><\/p>\n<p><span style=\"font-weight: 400\">With 5 cm accuracy &#8211; 3\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Maintain a distance of 30 cm from obstacles <\/span><b>(M.P.8)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Successful &#8211; 5\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Alignment<\/span><\/li>\n<\/ol>\n<\/td>\n<td><span style=\"font-weight: 400\">Dock within 120 s <\/span><b>(M.P.3)<\/b><\/td>\n<td><span style=\"font-weight: 400\">Successful &#8211; 5\/5<\/span><\/p>\n<p><span style=\"font-weight: 400\">Without Retrace: 26.5 s<\/span><\/p>\n<p><span style=\"font-weight: 400\">With Retrace: 65.5 s<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Max error of 5 cm in docking position<\/span><b> (M.P.4)<\/b><\/td>\n<td><span style=\"font-weight: 400\">3.2 cm error on average<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Max error of 5.54 degrees in docking orientation <\/span><b>(M.P.4)<\/b><\/td>\n<td><span style=\"font-weight: 400\">0.284 degrees average<\/span><\/td>\n<\/tr>\n<tr>\n<td rowspan=\"3\">\n<ol>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Retracing<\/span><\/li>\n<\/ol>\n<\/td>\n<td><span style=\"font-weight: 400\">Identify misalignment and perform retracing\u00a0<\/span><\/td>\n<td><span style=\"font-weight: 400\">Successful 4\/5<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Max error of 5 cm in docking position <\/span><b>(M.P.4)<\/b><\/td>\n<td><span style=\"font-weight: 400\">4.6 cm on average<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">Max error of 5.54 degrees in docking orientation <\/span><b>(M.P.4)<\/b><\/td>\n<td><span style=\"font-weight: 400\">0.3 degrees average<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Detailed Tests Performed<\/strong><\/p>\n<p>This section will give the detailed tests performed and which subsystems and requirements were validated.<\/p>\n<p><strong>1. Navigation<\/strong><\/p>\n<p>Subsystems Validated: Simulation and Navigation Subsystem (Localization, Detection, and Point to Point Navigation)<\/p>\n<p style=\"text-align: center\"><b>Table 3: Navigation Subsystem Tests<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>No.<\/b><\/td>\n<td><b>Test<\/b><\/td>\n<td><b>Expected Outcome<\/b><\/td>\n<td><b>MPs<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.1<\/span><\/td>\n<td><span style=\"font-weight: 400\">Launch Gazebo world simulation, l<\/span><span style=\"font-weight: 400\">oad world map (Rviz), spawn pod.\u00a0<\/span><\/td>\n<td><span style=\"font-weight: 400\">Gazebo world launched, vehicle has spawned, pod has spawned and map has been loaded.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.2<\/span><\/td>\n<td><span style=\"font-weight: 400\">Start Autoware localization and planning nodes.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Localization visible. PHZ and its start location based on prior visible in Rviz.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.3<\/span><\/td>\n<td><span style=\"font-weight: 400\">Plan path till pod, load waypoints.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Planned path visible on map.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.4<\/span><\/td>\n<td><span style=\"font-weight: 400\">Execute path<\/span><\/td>\n<td><span style=\"font-weight: 400\">Chassis starts moving towards goal.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.1<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.5<\/span><\/td>\n<td><span style=\"font-weight: 400\">Place obstacles in the path of the vehicle.<\/span><\/td>\n<td><span style=\"font-weight: 400\">The vehicle stops before collision occurs.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.7, M.P.8<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.6<\/span><\/td>\n<td><span style=\"font-weight: 400\">Identify PHZ when within 2m from start point.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Chassis halts when PHZ is detected.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.2<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">1.7<\/span><\/td>\n<td><span style=\"font-weight: 400\">Identify the pod and predict its location based on laser scan data.<\/span><\/td>\n<td><span style=\"font-weight: 400\">AprilTags 1 and 2 identified. Pod location estimated. Waypoints for further motion visible.<\/span><\/td>\n<td>M.P. 9<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>2. Safety<\/strong><\/p>\n<p>Subsystems Validated: Safety<\/p>\n<p style=\"text-align: center\"><b>Table 4: Safety Subsystem Tests<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>No.<\/b><\/td>\n<td><b>Test<\/b><\/td>\n<td><b>Expected Outcome<\/b><\/td>\n<td><b>MPs<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.1<\/span><\/td>\n<td><span style=\"font-weight: 400\">Manually crash obstacle-avoidance node.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Persistence check detects crashed node within 2s<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.6<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.2<\/span><\/td>\n<td><span style=\"font-weight: 400\">Manually stop publishing to NDT-pose topic<\/span><\/td>\n<td><span style=\"font-weight: 400\">Persistence check detects crashed node within\u00a02s<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.6<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.3<\/span><\/td>\n<td><span style=\"font-weight: 400\">Restart NDT-pose after introducing misalignment.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sanity check detects wrong pose info\u00a0within 2s<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.6<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.4<\/span><\/td>\n<td><span style=\"font-weight: 400\">Publish incorrect lidar data.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Sanity check detects incorrect data.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.6<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">2.5<\/span><\/td>\n<td><span style=\"font-weight: 400\">Try to cause collision using tele-op.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Obstacle detection node prevents collision from occurring via HMS<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.7, M.P.8<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>3. Align\u00a0<\/strong><\/p>\n<p>Subsystems Validated: Navigation (Approach Navigation) and Docking<\/p>\n<p style=\"text-align: center\"><b>Table 5: Align Navigation Tests<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>No.<\/b><\/td>\n<td><b>Test<\/b><\/td>\n<td><b>Expected Outcome<\/b><\/td>\n<td><b>MPs<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.1<\/span><\/td>\n<td><span style=\"font-weight: 400\">Launch a different simulation for docking.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Gazebo world launched, vehicle has spawned, pod has spawned with the Apriltags loaded.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.2<\/span><\/td>\n<td><span style=\"font-weight: 400\">Start 2D LIDAR-based localization and planning nodes, load pod location prior estimate.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Localization visible. PHZ and its start location based on prior visible.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.3<\/span><\/td>\n<td><span style=\"font-weight: 400\">Generate set of waypoints for approach navigation procedure.<\/span><\/td>\n<td><span style=\"font-weight: 400\">Waypoints will be generated and visible in RViz visualization.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.4<\/span><\/td>\n<td><span style=\"font-weight: 400\">Execute approach navigation using pure pursuit algorithm and PD velocity control.<\/span><\/td>\n<td><span style=\"font-weight: 400\">The chassis will follow the set of waypoints and align itself under the pod.<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.5<\/span><\/td>\n<td><span style=\"font-weight: 400\">Perform pose verification using the laser scan data.<\/span><\/td>\n<td><span style=\"font-weight: 400\">The estimated pose error and docking error will be shown on the screen.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.4<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">3.6<\/span><\/td>\n<td><span style=\"font-weight: 400\">Perform docking once again with misalignment<\/span><\/td>\n<td><span style=\"font-weight: 400\">Final estimated pose and docking error are displayed on screen.<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P.4<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>4. Retracing<\/strong><\/p>\n<p>Subsystems Validated: Docking<\/p>\n<p style=\"text-align: center\"><b>Table 6: Retracing Tests<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>No.<\/b><\/td>\n<td><b>Test<\/b><\/td>\n<td><b>Expected Outcome<\/b><\/td>\n<td><b>MPs<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400\">4.1<\/span><\/td>\n<td><span style=\"font-weight: 400\">Introduce misalignment wrt the pod to begin retrace and dock again<\/span><\/td>\n<td><span style=\"font-weight: 400\">The bot uses the error estimate to identify that it is misaligned and starts retracing its path to the start of the PHZ.<\/span><\/p>\n<p><span style=\"font-weight: 400\">It then begins to align again with the pod by navigating in PHZ<\/span><\/td>\n<td><span style=\"font-weight: 400\">M.P3, M.P.4<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Fall Validation Demonstration The Fall Validation Demonstration was conducted in two parts, in simulation, and on hardware. The following sections detail the tests performed and results obtained for both demos. Simulation In the simulation, we showcased the chassis&#8217; ability to plan a path to the desired pod, identify it, and dock with it. It would<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/system-performance\/\">+ Read More<\/a><\/p>\n","protected":false},"author":224,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-14","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/users\/224"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":19,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":378,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/pages\/14\/revisions\/378"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamj\/wp-json\/wp\/v2\/media?parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}