{"id":175,"date":"2015-12-18T18:32:17","date_gmt":"2015-12-18T23:32:17","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/?page_id=175"},"modified":"2016-05-06T22:38:47","modified_gmt":"2016-05-07T02:38:47","slug":"system-implementation","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/system-implementation\/","title":{"rendered":"System Implementation"},"content":{"rendered":"<p style=\"text-align: center\">There are five major subsystems in our project. These five subsystems are:<\/p>\n<ol>\n<li><a href=\"#si\">The Integrated System<\/a><\/li>\n<li><a href=\"#oa\">The Obstacle Avoidance Subsystem<\/a><\/li>\n<li><a href=\"#vs\">The Vision Subsystem<\/a><\/li>\n<li><a href=\"#fc\">The Flight Control Subsystem<\/a><\/li>\n<li><a href=\"#gp\">The Ground Platform Subsystem<\/a><\/li>\n<li><a href=\"#em\">The Electro-Mechanical Subsystem<\/a><\/li>\n<\/ol>\n<p>Please visit the respective links to see the progress of each subsystem.<\/p>\n<hr \/>\n<p><a name=\"si\"><\/a><a name=\"oa\"><\/a><strong>Integrated System<\/strong><br \/>\n<strong>April 20, 2016<\/strong><\/p>\n<p>Finished integration of the system. Here is the link of the final demo video demonstrating the functionality of the\u00a0integrated\u00a0system &#8211; <a href=\"https:\/\/www.youtube.com\/watch?v=vT5HnfHKzuY\">link<\/a><\/p>\n<p>The overall system architecture and the UAV with all the components attached are shown below<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-193944.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-509\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-193944.png\" alt=\"\" width=\"654\" height=\"358\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-193944.png 654w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-193944-300x164.png 300w\" sizes=\"auto, (max-width: 654px) 100vw, 654px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-194039.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-510\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-194039.png\" alt=\"\" width=\"555\" height=\"253\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-194039.png 555w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-194039-300x137.png 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/a><\/p>\n<p><strong>April 13, 2016<\/strong><\/p>\n<p><strong>Changes in obstacle avoidance system<\/strong><\/p>\n<p>We discovered our obstacle avoidance sensor \u00ad Hokuyo URG-04lx generates noisy data in outdoor environment. Hence we implemented the following solutions:<\/p>\n<ul>\n<li><strong>Replacing our current sensor<\/strong> (Hokuyo URG04lx) with better outdoor sensor &#8211; Hokuyo UTM30lx<\/li>\n<li><strong>Filtering the lidar data<\/strong> &#8211; we implemented median filter to get rid of any noise generated by the Hokuyo UTM30lx sensor<\/li>\n<li><strong>Solving the Navigation stack raytracing issue<\/strong> &#8211; We observed that\u00a0even though the lidar sees less noisy data after filtering the costmap remembers all the noisy data as obstacles and does not clear them later. We\u00a0solved this issue by understanding and implementing the raytrace feature which clears the costmap based on lidar data.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/lidar.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-480\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/lidar.png\" alt=\"New LIDAR - Hokuyo UTM30lx\" width=\"669\" height=\"554\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/lidar.png 669w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/lidar-300x248.png 300w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/obs_avoid.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-477\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/obs_avoid.png\" alt=\"Obstacle Avoidance\" width=\"741\" height=\"213\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/obs_avoid.png 741w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/obs_avoid-300x86.png 300w\" sizes=\"auto, (max-width: 741px) 100vw, 741px\" \/><\/a><\/p>\n<p style=\"text-align: center\">The above figure shows the rviz \u00a0visualization of the UAV avoiding obstacles after replacing the sensor and applying the solutions mentioned above<\/p>\n<p><strong>March 31, 2016<\/strong><\/p>\n<p><strong>Package delivery without obstacles<\/strong><\/p>\n<p>The UAV is able to deliver packages using the Electro-Permanent Magnet. The package upto 100g can be delivered to within 2m distance from the marker.<\/p>\n<p>https:\/\/youtu.be\/qiPCzdjwa_0<\/p>\n<p>In the video above, the UAV takes off from starting point, ascends to 15m height, and goes to the pre-defined house position. Then, the UAV searches for the marker using a lawnmower search pattern. Once the marker is found, the UAV descends onto the marker, lands, and drops the package.<\/p>\n<p><b>Lawn Mover search implementation with obstacle avoidance<\/b><\/p>\n<p><span style=\"font-weight: 400\">We have achieved the functionality of the UAV traversing over\u00a0a lawn mover search path to find the marker while avoiding obstacles.\u00a0<\/span>We flew the UAV at around 15m height the UAV followed the lawn mover path well.\u00a0As we don&#8217;t have obstacles that high we could not verify the obstacle avoidance subsystem at that height. Next we will test obstacle avoidance using the test obstacles that we build for our project.<\/p>\n<p><strong>Physical Obstacle Design and Fabrication<\/strong><\/p>\n<p>The test requirements for the drone required that our project required the\u00a0obstacles to be 1.5 x .5 m and 2 x 2 m. Upon further discussion as a team, we determined\u00a0that two obstacles of 1.5 x .5 m would be more financially responsible in addition to\u00a0raising the standards of the project as smaller objects are harder to detect.<br \/>\nThe original design for the obstacles required that these profiles be elevated two\u00a0stories in the air (approximately 6 meters). I planned to implement these using a\u00a0scaffolding of \u00be\u201d PVC pipe. Tarp would cover the scaffolding to provide a surface for the\u00a0Hokuyo Lidar to detect.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901.jpg\" rel=\"attachment wp-att-418\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-418\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901-169x300.jpg\" alt=\"Snapchat-5551699698106715790[1]\" width=\"169\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901-169x300.jpg 169w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901-768x1365.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901-576x1024.jpg 576w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-55516996981067157901.jpg 1080w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p style=\"text-align: center\">Original Obstacle Design<\/p>\n<p style=\"text-align: left\">However, upon inspection the \u00be\u201d PVC pipe was too thin to support the structure\u00a0and would possibly buckle in the wind. 1-\u00bd\u201d PVC would suffice but would also double the\u00a0price.\u00a0The team settled on a second design that was significantly less costly. The\u00a0second design which is shown below.<\/p>\n<p style=\"text-align: center\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399.jpg\" rel=\"attachment wp-att-419\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-419 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399-300x234.jpg\" alt=\"Sketch of Updated Obstacle Design\" width=\"300\" height=\"234\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399-300x234.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399-768x599.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399-1024x799.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-22495738970451195351-e1459559865399.jpg 1027w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/ObstacleMockup-e1459560148270.png\" rel=\"attachment wp-att-420\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-420 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/ObstacleMockup-e1459560148270-154x300.png\" alt=\"Obstacle CAD Mockup\" width=\"154\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/ObstacleMockup-e1459560148270-154x300.png 154w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/ObstacleMockup-e1459560148270.png 341w\" sizes=\"auto, (max-width: 154px) 100vw, 154px\" \/><\/a><\/p>\n<p style=\"text-align: center\">Updated Obstacle Design<\/p>\n<p style=\"text-align: left\">The new design is significantly cheaper and easier to transport. It uses two 2\u201d PVC\u00a0for a support shaft. Tarp mounted to a 2&#215;4 wood frame provides the body of the \u00a0obstacle. The body will be hoisted into place by rope like a flagpole.<\/p>\n<div id=\"attachment_426\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1897.jpg\" rel=\"attachment wp-att-426\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-426\" class=\"wp-image-426 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1897-300x200.jpg\" alt=\"\" width=\"300\" height=\"200\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1897-300x200.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1897-768x512.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1897-1024x683.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-426\" class=\"wp-caption-text\">Tarp over wooden frame<\/p><\/div>\n<div id=\"attachment_425\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1899.jpg\" rel=\"attachment wp-att-425\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-425\" class=\"wp-image-425 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1899-300x200.jpg\" alt=\"SAMSUNG CSC\" width=\"300\" height=\"200\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1899-300x200.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1899-768x512.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1899-1024x683.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-425\" class=\"wp-caption-text\">Close-up of Frame with Tarp Attached<\/p><\/div>\n<div id=\"attachment_424\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1900.jpg\" rel=\"attachment wp-att-424\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-424\" class=\"wp-image-424 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1900-300x200.jpg\" alt=\"\" width=\"300\" height=\"200\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1900-300x200.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1900-768x512.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1900-1024x683.jpg 1024w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-424\" class=\"wp-caption-text\">Obstacle Base<\/p><\/div>\n<div id=\"attachment_423\" style=\"width: 654px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1896.jpg\" rel=\"attachment wp-att-423\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-423\" class=\"wp-image-423 size-large\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1896-644x1024.jpg\" alt=\"\" width=\"644\" height=\"1024\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1896-644x1024.jpg 644w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1896-189x300.jpg 189w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SAM_1896-768x1220.jpg 768w\" sizes=\"auto, (max-width: 644px) 100vw, 644px\" \/><\/a><p id=\"caption-attachment-423\" class=\"wp-caption-text\">Obstacle partially erected to 10ft due to space limitations in lab<\/p><\/div>\n<p>Fabrication of the final design took two days. We identified several improvements during the build that were incorporated into the final design. The hardest part of the build was the wooden frames for the tarp. Braces extend from all four sides to buttress the pole and prevent movement.<\/p>\n<p><strong>Updated Software Architecture<\/strong><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Control-Architecture-v2.png\" rel=\"attachment wp-att-451\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-451 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Control-Architecture-v2.png\" alt=\"Control Architecture v2\" width=\"770\" height=\"331\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Control-Architecture-v2.png 770w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Control-Architecture-v2-300x129.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Control-Architecture-v2-768x330.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/a><\/p>\n<p><strong>Manual RC control of Electro Permanent Magnet<\/strong><\/p>\n<p>https:\/\/youtu.be\/KhNbaFDekIE<\/p>\n<p>&nbsp;<\/p>\n<p><strong>March 17, 2016<\/strong><\/p>\n<p><strong>Finishing Obstacle Avoidance code integration with Pixhawk- Running Obstacle Avoidance code off Odroid<\/strong><\/p>\n<p>https:\/\/www.youtube.com\/watch?v=r1X6UWgTfsM<\/p>\n<p><span style=\"font-weight: 400\">Above shown\u00a0is a video of the UAV performing\u00a0autonomous navigation to the goal position while avoiding obstacles. \u00a0<\/span><span style=\"font-weight: 400\">The UAV can detect an obstacle from a distance of 3m and it maintains a distance of 0.5m from the obstacle at all <\/span><span style=\"font-weight: 400\">time. <\/span><\/p>\n<p><strong>Autonomous Takeoff and Landing<\/strong><\/p>\n<p>https:\/\/www.youtube.com\/watch?v=Jz0qRndWkbM<\/p>\n<p>In the above video, autonomous takeoff and landing functionality is demonstrated.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>February 25, 2016<\/strong><\/p>\n<p><strong>Primary integration of obstacle avoidance code with Pixhawk flight control code<\/strong><\/p>\n<p>We have achieved communication between Navigation Stack and\u00a0the Pixhawk. After testing the code in Software In Loop Simulation of Pixhawk (as mentioned in Obstacle Avoidance Subsystem) we tested the code functioning on X8+.<\/p>\n<div id=\"attachment_407\" style=\"width: 1034px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2.png\" rel=\"attachment wp-att-407\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-407\" class=\"size-large wp-image-407\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2-1024x632.png\" alt=\"Integrating Navigation Stack obstacle avoidance code with Pixhawk code\" width=\"1024\" height=\"632\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2-1024x632.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2-300x185.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2-768x474.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic2.png 1381w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-407\" class=\"wp-caption-text\">Integrating Navigation Stack obstacle avoidance code with Pixhawk code<\/p><\/div>\n<p><span style=\"font-weight: 400\">The output of odometry and navigation stack changed as\u00a0we\u00a0moved the UAV around manually. This verified that the Navigation Stack and the Pixhawk are communicating as needed. \u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>February 10, 2016<\/strong><\/p>\n<p>Autonomous Navigation from A to B using Guided mode<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=psoAnLxfEpo<\/p>\n<p>The UAV takes off using manual RC control, then,\u00a0the mode is switched for autonomous navigation. The UAV stays at the original point\u00a0for 2 seconds and then moves ahead (UAV X axis) by 4m, and increases its altitude by\u00a01m. It then holds its position until mode is switched back and the UAV is manually\u00a0landed.<\/p>\n<p><strong>Autonomous Hover over Marker<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=x94lj6qUGSQ<\/p>\n<p>As can be seen in the video, after the UAV is put into\u00a0autonomous mode (audible beep), the UAV positions itself over the marker and\u00a0maintains position at 18m height until its taken back to manual mode and landed.<\/p>\n<p>The nested AprilTag marker is detected from the UAV and its target position is updated continuously to maintain position over the marker<\/p>\n<div id=\"attachment_397\" style=\"width: 606px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Node-architecture-auto-flight.jpg\" rel=\"attachment wp-att-397\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-397\" class=\"wp-image-397\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Node-architecture-auto-flight.jpg\" alt=\"Node architecture auto flight\" width=\"596\" height=\"198\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Node-architecture-auto-flight.jpg 794w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Node-architecture-auto-flight-300x100.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Node-architecture-auto-flight-768x255.jpg 768w\" sizes=\"auto, (max-width: 596px) 100vw, 596px\" \/><\/a><p id=\"caption-attachment-397\" class=\"wp-caption-text\">ROS architecture for autonomous hover over marker of the UAV. An apriltag detection node publishes the position of marker with respect to UAV. A setpoint publisher uses that and position data of the UAV to publish setpoints in global frame. (Takeoff point is origin)<\/p><\/div>\n<p><a name=\"oa\"><\/a><br \/>\n<strong>The Obstacle Avoidance Subsystem<\/strong><\/p>\n<p><strong>April 20, 2016<\/strong><\/p>\n<p>After February end we started integrating obstacle avoidance subsystem with the complete system. The details about the integration are mentioned in the integration section. The flow chart shown below describes the final logic that was used for obstacle avoidance<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-185936.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-504\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-185936.png\" alt=\"\" width=\"584\" height=\"200\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-185936.png 584w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot-from-2016-05-06-185936-300x103.png 300w\" sizes=\"auto, (max-width: 584px) 100vw, 584px\" \/><\/a><\/p>\n<p><strong>February 25, 2016<\/strong><\/p>\n<p>Testing Navigation Stack functionality with Software In The Loop Simulation of the Pixhawk. We could pass odometry data from UAV to navigation stack. Receiving this data the navigation stack passed velocity commands to UAV to move towards goal.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1.png\" rel=\"attachment wp-att-406\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-406\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1-1024x656.png\" alt=\"SITL \" width=\"1024\" height=\"656\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1-1024x656.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1-300x192.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1-768x492.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pic1.png 1191w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p><span style=\"font-weight: 400\">In the above figure, the tab on the upper left is the console which shows the data about the status of \u00a0the UAV (its altitude etc.). The bottom left figure is the SITL map showing the virtual UAV in a virtual map. On the right is the rviz visualization of the UAV. The red arrow are the location of UAV. As seen in the figure the continuous vertical red line shows the UAVs takeoff. The green line is the path generated by navigation stack to reach the goal position (shown by a single sed line on the surface). <\/span><\/p>\n<p>&nbsp;<\/p>\n<p><strong>February 10, 2016<\/strong><\/p>\n<p>In simulation got the robot to\u00a0follow the path planned by the planner.<\/p>\n<p>Here is a video\u00a0showing lawn-mover search implemented in simulation.<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=RDcBtPeICZ8<\/p>\n<p><strong>January 28 2016<\/strong><\/p>\n<p>We redid the trade study for Obstacle Avoidance Subsystem sensors as we shift to X8+ UAV platform. Now we are going to use LIDAR for obstacle avoidance sub-system. We are using Navigation Stack of Robotic Operating System for implementing obstacle avoidance.<\/p>\n<p>The navigation stack contains the following parts:<br \/>\nGlobal costmap<br \/>\nGlobal path planner \u2013 It uses the global costmap to compute paths ignoring the kinematic\u00a0and dynamic vehicle constraints. It uses Dijkstra\u2019s algorithm to do this.<br \/>\nLocal costmap<br \/>\nLocal path planner \u2013 It accounts for the kinematic and dynamic vehicle constraints and\u00a0generates feasible local trajectories in real time while avoiding obstacles<br \/>\nMove_base \u2013 It implements the state machine<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Video below shows basic test of LIDAR interfaced with\u00a0Navigation Stack of Robotic Operating System<\/strong><\/p>\n<p>https:\/\/youtu.be\/iO8Klr5yQxE<\/p>\n<p>&nbsp;<\/p>\n<p>We are using LIDAR instead of using 14 ultrasonic sensors because of the major reasons:<\/p>\n<ol>\n<li>As there are no aero-dynamic issue \u00a0mounting LIDAR on X8+ for our system requirements we can substitute one LIDAR for 14 Ultrasonic sensors. Processing data from 14 sensors can be error prone and difficult to debug. LIDAR helps us get rid of this completely<\/li>\n<li>Data from ultrasonic sensors isnt consistent. Out of 14 sensors 2-3 sensors randomly give erroneous reading.<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p><strong>December 18 2015<\/strong><\/p>\n<p>The video below shows the functioning\u00a0of 6 ultrasonic sensors mounted on the nose of the FireFly6 UAV<\/p>\n<p>https:\/\/www.youtube.com\/watch?v=fZqf8UesqAo<\/p>\n<p><strong>December 7, 2015 &#8211; Fall Validation Experiment<\/strong><\/p>\n<p>Figure below shows the 6 ultrasonic sensors mounted on the UAV.<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_185\" style=\"width: 408px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/close_up_view_sensor_mount.jpg\" rel=\"attachment wp-att-185\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-185\" class=\"wp-image-185 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/close_up_view_sensor_mount.jpg\" alt=\"Close Up of 6 Ultrasonic Sensors Mounted at the Nose of UAV\" width=\"398\" height=\"299\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/close_up_view_sensor_mount.jpg 398w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/close_up_view_sensor_mount-300x225.jpg 300w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/a><p id=\"caption-attachment-185\" class=\"wp-caption-text\">Close Up of 6 Ultrasonic Sensors Mounted at the Nose of UAV<\/p><\/div>\n<div id=\"attachment_186\" style=\"width: 408px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Sensors_mounted_on_UAV.jpg\" rel=\"attachment wp-att-186\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-186\" class=\"size-full wp-image-186\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Sensors_mounted_on_UAV.jpg\" alt=\"Image Showing 6 Ultrasonic Sensors Mounted at the Nose of the UAV\" width=\"398\" height=\"299\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Sensors_mounted_on_UAV.jpg 398w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Sensors_mounted_on_UAV-300x225.jpg 300w\" sizes=\"auto, (max-width: 398px) 100vw, 398px\" \/><\/a><p id=\"caption-attachment-186\" class=\"wp-caption-text\">Image Showing 6 Ultrasonic Sensors Mounted at the Nose of the UAV<\/p><\/div>\n<div id=\"attachment_187\" style=\"width: 441px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Flowchart_obstacle_avoidance.png\" rel=\"attachment wp-att-187\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-187\" class=\"size-full wp-image-187\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Flowchart_obstacle_avoidance.png\" alt=\"Flowchart of our obstacle avoidance system\" width=\"431\" height=\"271\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Flowchart_obstacle_avoidance.png 431w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Flowchart_obstacle_avoidance-300x189.png 300w\" sizes=\"auto, (max-width: 431px) 100vw, 431px\" \/><\/a><p id=\"caption-attachment-187\" class=\"wp-caption-text\">Flowchart of our obstacle avoidance system<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>Master-Slave Sensor Boards<\/strong><\/p>\n<p>As mentioned in the flowchart above\u00a0we are using I2C communication for connecting 14 ultrasonic sensors to the flight controller. Hence we designed master board to handle combining of I2C lines and 5V regulator. Slave boards were designed to take sensor inputs and reduce analog line noise by converting it straight to digital.<\/p>\n<div id=\"attachment_224\" style=\"width: 647px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pcb_flowchart.png\" rel=\"attachment wp-att-224\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-224\" class=\"size-full wp-image-224\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pcb_flowchart.png\" alt=\"Flowchart of connection of sensors with the master-slave board \" width=\"637\" height=\"238\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pcb_flowchart.png 637w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/pcb_flowchart-300x112.png 300w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/a><p id=\"caption-attachment-224\" class=\"wp-caption-text\">Flowchart of connection of sensors with the master-slave board<\/p><\/div>\n<div id=\"attachment_225\" style=\"width: 373px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/fall-validation-sensor-board.png\" rel=\"attachment wp-att-225\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-225\" class=\"size-full wp-image-225\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/fall-validation-sensor-board.png\" alt=\"Fall validation master-slave test setup\" width=\"363\" height=\"361\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/fall-validation-sensor-board.png 363w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/fall-validation-sensor-board-150x150.png 150w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/fall-validation-sensor-board-300x298.png 300w\" sizes=\"auto, (max-width: 363px) 100vw, 363px\" \/><\/a><p id=\"caption-attachment-225\" class=\"wp-caption-text\">Fall validation master-slave test setup<\/p><\/div>\n<p><strong>November 07, 2015<\/strong><\/p>\n<p>CAD model of ultrasonic sensor layout on UAV<\/p>\n<div id=\"attachment_171\" style=\"width: 686px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Graphical-representation-of-uav.jpg\" rel=\"attachment wp-att-171\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-171\" class=\"size-full wp-image-171\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Graphical-representation-of-uav.jpg\" alt=\"UAV with 14 ultrasonic sensor around it\" width=\"676\" height=\"527\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Graphical-representation-of-uav.jpg 676w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Graphical-representation-of-uav-300x234.jpg 300w\" sizes=\"auto, (max-width: 676px) 100vw, 676px\" \/><\/a><p id=\"caption-attachment-171\" class=\"wp-caption-text\">UAV with 14 ultrasonic sensor around it<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_188\" style=\"width: 648px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad.jpg\" rel=\"attachment wp-att-188\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-188\" class=\" wp-image-188\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad-1024x587.jpg\" alt=\"Top view of sensor layout \" width=\"638\" height=\"366\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad-1024x587.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad-300x172.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad-768x440.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/top_view_sensor_cad.jpg 1356w\" sizes=\"auto, (max-width: 638px) 100vw, 638px\" \/><\/a><p id=\"caption-attachment-188\" class=\"wp-caption-text\">Top view of sensor layout<\/p><\/div>\n<div id=\"attachment_190\" style=\"width: 607px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad.jpg\" rel=\"attachment wp-att-190\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-190\" class=\" wp-image-190\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad-1024x448.jpg\" alt=\"Front view of sensor layout\" width=\"597\" height=\"261\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad-1024x448.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad-300x131.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad-768x336.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/front_view_sensor_cad.jpg 1624w\" sizes=\"auto, (max-width: 597px) 100vw, 597px\" \/><\/a><p id=\"caption-attachment-190\" class=\"wp-caption-text\">Front view of sensor layout<\/p><\/div>\n<p>The ultrasonic sensors are to be pinged serially to avoid interference among sensors. Each sensor takes around 50ms. So pining 14 sensors one after the other will take 50 X 14 ms = 700ms which is too much. SO we further divided sensors into 3 groups as shown below.<\/p>\n<div id=\"attachment_191\" style=\"width: 786px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/sensor_subsystems.png\" rel=\"attachment wp-att-191\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-191\" class=\"size-full wp-image-191\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/sensor_subsystems.png\" alt=\"Subdividing the sensors into 3 subsystems to reduce uodate rate of iverall obstacle detection system\" width=\"776\" height=\"446\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/sensor_subsystems.png 776w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/sensor_subsystems-300x172.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/sensor_subsystems-768x441.png 768w\" sizes=\"auto, (max-width: 776px) 100vw, 776px\" \/><\/a><p id=\"caption-attachment-191\" class=\"wp-caption-text\">Subdividing the sensors into 3 subsystems to reduce uodate rate of iverall obstacle detection system<\/p><\/div>\n<p><strong>Master-Slave Sensor Boards<\/strong><\/p>\n<p>We are designing master-slave I2C board to connect all the sensors to the flight controller<\/p>\n<div id=\"attachment_228\" style=\"width: 523px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Two-Printed-Slave-Boards.jpg\" rel=\"attachment wp-att-228\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-228\" class=\" wp-image-228\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Two-Printed-Slave-Boards.jpg\" alt=\"Two Printed Slave Boards\" width=\"513\" height=\"384\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Two-Printed-Slave-Boards.jpg 372w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Two-Printed-Slave-Boards-300x225.jpg 300w\" sizes=\"auto, (max-width: 513px) 100vw, 513px\" \/><\/a><p id=\"caption-attachment-228\" class=\"wp-caption-text\">Two Printed Slave Boards<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_310\" style=\"width: 532px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SlaveBoards.png\" rel=\"attachment wp-att-310\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-310\" class=\"size-full wp-image-310\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SlaveBoards.png\" alt=\"Schematic of 4 slave boards\" width=\"522\" height=\"406\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SlaveBoards.png 522w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/SlaveBoards-300x233.png 300w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/a><p id=\"caption-attachment-310\" class=\"wp-caption-text\">Schematic of 4 slave boards<\/p><\/div>\n<div id=\"attachment_311\" style=\"width: 460px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Master-Board.png\" rel=\"attachment wp-att-311\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-311\" class=\"size-full wp-image-311\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Master-Board.png\" alt=\"Schematic of the Master Board\" width=\"450\" height=\"403\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Master-Board.png 450w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Master-Board-300x269.png 300w\" sizes=\"auto, (max-width: 450px) 100vw, 450px\" \/><\/a><p id=\"caption-attachment-311\" class=\"wp-caption-text\">Schematic of the Master Board<\/p><\/div>\n<p><strong>October 30, 2015<\/strong><\/p>\n<p><em>Following are the tasks accomplished until now:<\/em><\/p>\n<ul>\n<li><strong>Testing the sensors to detect trees, grass and obstacles that aren\u2019t exactly perpendicular to the sensors<\/strong><\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"198\"><\/td>\n<td width=\"198\">Maxbotix EZ MB 1010 ultrasonic sensor<\/td>\n<td width=\"198\">Maxbotix EZ MB 1040 ultrasonic sensor<\/td>\n<td width=\"198\">IR sensor<\/td>\n<\/tr>\n<tr>\n<td width=\"198\">Detect trees<\/td>\n<td width=\"198\">Yes<\/td>\n<td width=\"198\">No<\/td>\n<td width=\"198\">Yes<\/td>\n<\/tr>\n<tr>\n<td width=\"198\">Detect grass<\/td>\n<td width=\"198\">Yes<\/td>\n<td width=\"198\">No<\/td>\n<td width=\"198\">Yes<\/td>\n<\/tr>\n<tr>\n<td width=\"198\">Can detect oblique obstacles (obstacles that are at an angle to sensor)<\/td>\n<td width=\"198\">Yes<\/td>\n<td width=\"198\">No<\/td>\n<td width=\"198\">Yes<\/td>\n<\/tr>\n<tr>\n<td width=\"198\">Oblique angle \u2013 angle \u00a0at which if the sensor if tilted with respect to the obstacle then the obstacle won\u2019t be detected<\/td>\n<td width=\"198\">\u00a0N.A.<\/td>\n<td width=\"198\">25-30 degree<\/td>\n<td width=\"198\">N.A.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><strong>First iteration of obstacle avoidance system using IR sensors<\/strong><\/li>\n<\/ul>\n<p>From the tests with IR sensor we found out that the IR sensors have no cone and can be assumed to be detecting along a straight line. Doing the calculation we found out that we would require 39 IR sensors to detect the whole volume of 1.5 m around the UAV.\u00a0 As 39 was a huge number this would not work and we had to think of other option.<\/p>\n<ul>\n<li><strong>Trade Study for selecting the sensor<\/strong><\/li>\n<\/ul>\n<table>\n<tbody>\n<tr>\n<td width=\"399\">Sensor<\/td>\n<td width=\"399\">Analysis<\/td>\n<\/tr>\n<tr>\n<td width=\"399\">IR<\/td>\n<td width=\"399\">For our system requirement we need 39 IR sensors to cover the whole area.<\/p>\n<p>Too many sensors.<\/td>\n<\/tr>\n<tr>\n<td width=\"399\">Lidar<\/td>\n<td width=\"399\">Can detect only in one plane.<\/p>\n<p>3D Lidar are too costly<\/p>\n<p>Mounting lidar on servo and rotating introduces more complexity<\/td>\n<\/tr>\n<tr>\n<td width=\"399\">Ultrasonic<\/td>\n<td width=\"399\">Cheap sensors<br \/>\nWide beam width<br \/>\nWill require less ultrasonic sensors to cover whole area around UAV<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><strong>Sequential pinging pattern for the Maxbotix ultrasonic EZ MB 1010 sensors to avoid interference<\/strong><\/li>\n<\/ul>\n<p>Maxbotix has provided with an arrangement on the sensors to sequentially fire the sensors.<\/p>\n<div id=\"attachment_196\" style=\"width: 770px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/multiple_sensor_pinging.png\" rel=\"attachment wp-att-196\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-196\" class=\" wp-image-196\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/multiple_sensor_pinging.png\" alt=\"Sequential firing of ultrasonic sensors as per LV MAxbotix EZ MB 1010 datasheet\" width=\"760\" height=\"377\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/multiple_sensor_pinging.png 879w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/multiple_sensor_pinging-300x149.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/multiple_sensor_pinging-768x381.png 768w\" sizes=\"auto, (max-width: 760px) 100vw, 760px\" \/><\/a><p id=\"caption-attachment-196\" class=\"wp-caption-text\">Sequential firing of ultrasonic sensors as per LV MAxbotix EZ MB 1010 datasheet<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><em><strong>October 23, 2015<\/strong><\/em><\/p>\n<p>Developed obstacle avoidance sensor system of two IR and two ultrasonic sensors on UAV model that Sean built so that we can perform various tests indoors as well as outdoors. We then did conduct range test with the sensors.<\/p>\n<div id=\"attachment_197\" style=\"width: 354px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/IRUSsensor.png\" rel=\"attachment wp-att-197\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-197\" class=\"size-full wp-image-197\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/IRUSsensor.png\" alt=\"Sensor Setup of 2 Sharp IR GP2Y0A02 IR sensors and 2 Maxbotix LV Maxsonar EZ ultrasonic sensor\" width=\"344\" height=\"560\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/IRUSsensor.png 344w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/IRUSsensor-184x300.png 184w\" sizes=\"auto, (max-width: 344px) 100vw, 344px\" \/><\/a><p id=\"caption-attachment-197\" class=\"wp-caption-text\">Sensor Setup of 2 Sharp IR GP2Y0A02 IR sensors and 2 Maxbotix LV Maxsonar EZ ultrasonic sensor<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>October 16, 2015<\/strong><\/p>\n<div id=\"attachment_83\" style=\"width: 667px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Obstacle-Avoidance-Subsystems-v1.jpg\" rel=\"attachment wp-att-83\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-83\" class=\"wp-image-83 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Obstacle-Avoidance-Subsystems-v1.jpg\" alt=\"Obstacle Avoidance Subsystems v1\" width=\"657\" height=\"280\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Obstacle-Avoidance-Subsystems-v1.jpg 657w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Obstacle-Avoidance-Subsystems-v1-300x128.jpg 300w\" sizes=\"auto, (max-width: 657px) 100vw, 657px\" \/><\/a><p id=\"caption-attachment-83\" class=\"wp-caption-text\">Obstacle Avoidance Subsystem<\/p><\/div>\n<p>This subsystem is comprised of the sensors necessary to detect objects in the UAV\u2019s path. As described in the system trades section, selecting sensors is still under way. We have analyzed many different options such as LIDAR, IR, ultrasonic, and more, but some of the tradeoffs between weight and price are still undecided. We are aware of our constraints, but the relevant weights of the constraints is dependent on the success of our electro permanent magnet system as well as the weight and location of our cameras. This will be decided within a week of receiving and testing the gripper.<\/p>\n<hr \/>\n<p><a name=\"vs\"><\/a><br \/>\n<strong>The Vision Subsystem<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Current Status<\/strong><\/p>\n<p>https:\/\/www.youtube.com\/watch?v=5TkUyuMBI2E<\/p>\n<p>The vision system has been developed to run using a Logitech webcam on an Odroid. We use nested AprilTag markers and AprilTag detection coupled with Lucas Kanade tracking algorithm to track the marker location. It is able to achieve upto 29 frames per second update rate and can detect the marker upto 20m.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>December 7 &#8211; Fall Validation Experiment<\/strong><\/p>\n<p>To increase the speed of the detection of the marker (AprilTag) we used a combination of AprilTag detection and Lucas Kanade Tracking.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/flowchart.png\" rel=\"attachment wp-att-302\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-302\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/flowchart.png\" alt=\"Flowchart depicting the algorithm for detection and tracking for apriltag\" width=\"404\" height=\"448\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/flowchart.png 404w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/flowchart-271x300.png 271w\" sizes=\"auto, (max-width: 404px) 100vw, 404px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>We use the AprilTag detection as the primary algorithm. After the first frame in which the tag is detected, the features were obtained from this frame and tracked in the following frames using the Lucas Kanade tracking. The output obtained from the tracking results was be verified for correctness*. In case no tag is obtained or the tag obtained is incorrect, we shifted back to the AprilTag detection for the next frame. As tracking results may start deviating from the actual detections, it is good idea to refresh the estimates using the AprilTag detection once every few frames**.<\/p>\n<p>*correctness of the tag can be verified in multiple ways: (the basic version was tested to be a good enough measure of correctness)<\/p>\n<ol>\n<li>Basic<strong>:<\/strong> verify that the tracked points form a sensible quadrilateral.<\/li>\n<li>Advanced: also include using the decoding logic of apriltags to verify the tag<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>**we used a refresh time (or number of frames) after which the full detection is run to refresh the tracking results. This is done as the tracking results can deviate due to errors and occlusions. A refresh every 30-60 frames gives a good output.<\/p>\n<table class=\" aligncenter\" width=\"483\">\n<tbody>\n<tr>\n<td width=\"192\"><strong>Algorithm<\/strong><\/td>\n<td width=\"133\"><strong>FPS on Laptop<\/strong><\/p>\n<p><strong>(i3 4<sup>th<\/sup> gen)<\/strong><\/td>\n<td width=\"158\"><strong>FPS on Odroid<\/strong><\/p>\n<p><strong>(Quad core ARM)<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"192\">AprilTag detection<\/td>\n<td width=\"133\">14<\/td>\n<td width=\"158\">8<\/td>\n<\/tr>\n<tr>\n<td width=\"192\">Lucas Kanade Tracking<\/td>\n<td width=\"133\">30<\/td>\n<td width=\"158\">29<\/td>\n<\/tr>\n<tr>\n<td width=\"192\">Merged<\/p>\n<p>(LK + AprilTag detection)<\/td>\n<td width=\"133\">29<\/td>\n<td width=\"158\">28<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: center\"><strong>\u00a0Comparison of speeds of detection between different algorithms<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<div id=\"attachment_301\" style=\"width: 543px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/error_graph.png\" rel=\"attachment wp-att-301\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-301\" class=\"size-full wp-image-301\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/error_graph.png\" alt=\"Error in the 3 axes vs Distance from marker (in cm). Less than 5% error found\" width=\"533\" height=\"298\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/error_graph.png 533w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/error_graph-300x168.png 300w\" sizes=\"auto, (max-width: 533px) 100vw, 533px\" \/><\/a><p id=\"caption-attachment-301\" class=\"wp-caption-text\">Error in the 3 axes vs Distance from marker (in cm). Less than 5% error found<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>November 13<\/strong><\/p>\n<p>Based on previous results we decided wo use the AprilTag detection system and speed it up using some workarounds.<\/p>\n<p><strong>Marker for detection \u2013 Nested AprilTags<\/strong><\/p>\n<p>To increase the range of detection of the marker, a nested AprilTag was developed.<\/p>\n<p><strong>\u00a0<\/strong><strong>\u00a0<\/strong><\/p>\n<div id=\"attachment_303\" style=\"width: 310px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm.png\" rel=\"attachment wp-att-303\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-303\" class=\"wp-image-303 size-medium\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm-300x300.png\" alt=\"Nested AprilTag marker. Inner AprilTag is one tenth of the outer, and is rotated by 45 degrees counter-clockwise.\" width=\"300\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm-300x300.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm-150x150.png 150w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm-768x768.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm-1024x1024.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/tag_comb_rot_54cm.png 1532w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-303\" class=\"wp-caption-text\">Nested AprilTag marker. Inner AprilTag is one tenth of the outer, and is rotated by 45 degrees counter-clockwise.<\/p><\/div>\n<p><strong>\u00a0<\/strong><\/p>\n<div id=\"attachment_295\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24.png\" rel=\"attachment wp-att-295\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-295\" class=\"size-large wp-image-295\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24-1024x576.png\" alt=\"Nested AprilTag outer marker detection. Green Dots indicate corners of marker and blue marks the center. (Marker: Nested Apriltag, Distance: 22.938m, FPS: 28).\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot24.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-295\" class=\"wp-caption-text\">Nested AprilTag outer marker detection. Green Dots indicate corners of marker and blue marks the center. (Marker: Nested Apriltag, Distance: 22.938m, FPS: 28).<\/p><\/div>\n<p>&nbsp;<\/p>\n<div id=\"attachment_296\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26.png\" rel=\"attachment wp-att-296\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-296\" class=\"size-large wp-image-296\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26-1024x576.png\" alt=\"Nested AprilTag inner marker detection. Green Dots indicate corners of marker and blue marks the center. (Marker: Nested Apriltag, Distance: 0.86m, FPS: 28)\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot26.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-296\" class=\"wp-caption-text\">Nested AprilTag inner marker detection. Green Dots indicate corners of marker and blue marks the center. (Marker: Nested Apriltag, Distance: 0.86m, FPS: 28)<\/p><\/div>\n<p>&nbsp;<\/p>\n<table class=\" aligncenter\" width=\"542\">\n<tbody>\n<tr>\n<td rowspan=\"2\" width=\"45\"><strong>S.No.<\/strong><\/td>\n<td colspan=\"4\" width=\"498\"><strong>Detection distances for different nested apriltag markers<\/strong><\/td>\n<\/tr>\n<tr>\n<td colspan=\"2\" width=\"255\"><strong>Outer AprilTag<\/strong><\/td>\n<td colspan=\"2\" width=\"243\"><strong>Inner AprilTag<\/strong><\/td>\n<\/tr>\n<tr>\n<td><strong>\u00a0<\/strong><\/td>\n<td width=\"123\"><strong>Size<\/strong><\/td>\n<td width=\"132\"><strong>\u00a0Range<\/strong><\/td>\n<td width=\"126\"><strong>Size<\/strong><\/td>\n<td width=\"117\"><strong>\u00a0Range<\/strong><\/td>\n<\/tr>\n<tr>\n<td>\u00a01<\/td>\n<td width=\"123\">3.6cm<\/td>\n<td width=\"132\">8cm to 1.8m<\/td>\n<td width=\"126\">0.36cm<\/td>\n<td width=\"117\">\u00a0Not detected<\/td>\n<\/tr>\n<tr>\n<td width=\"45\">2<\/td>\n<td width=\"123\">14.4cm<\/td>\n<td width=\"132\">40cm to 7.2m<\/td>\n<td width=\"126\">1.44cm<\/td>\n<td width=\"117\">4cm to 50cm<\/td>\n<\/tr>\n<tr>\n<td width=\"45\">3<\/td>\n<td width=\"123\">57.5cm<\/td>\n<td width=\"132\">1.6m to 30m<\/td>\n<td width=\"126\">5.75cm<\/td>\n<td width=\"117\">16cm to 2m<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>O<\/strong><strong>ctober 30<\/strong><\/p>\n<p>We switched to the Odroid XU4 as it has approximately 4 time sthe processing power and has 8 cores. Setup the Odroid XU4<\/p>\n<ol>\n<li>Ubuntu 14.04 server image<\/li>\n<li>ROS Indigo<\/li>\n<li>OpenCV<\/li>\n<li>Logitech C270 webcam drivers<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div id=\"attachment_291\" style=\"width: 424px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Odroid_setup.png\" rel=\"attachment wp-att-291\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-291\" class=\"size-full wp-image-291\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Odroid_setup.png\" alt=\"Odroid setup. Including peripherals and connections\" width=\"414\" height=\"313\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Odroid_setup.png 414w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Odroid_setup-300x227.png 300w\" sizes=\"auto, (max-width: 414px) 100vw, 414px\" \/><\/a><p id=\"caption-attachment-291\" class=\"wp-caption-text\">Odroid setup. Including peripherals and connections<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>Detection Algorithms<\/strong><\/p>\n<p>Few algorithms were tested and compared:<\/p>\n<ol>\n<li>Color thresholding and centroid calculation\n<p><div id=\"attachment_293\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12.png\" rel=\"attachment wp-att-293\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-293\" class=\"size-large wp-image-293\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12-1024x576.png\" alt=\"Color thresholding and centroid results. Fast but not robust to lighting variations.\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot12.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-293\" class=\"wp-caption-text\">Color thresholding and centroid results. Fast but not robust to lighting variations.<\/p><\/div><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol start=\"2\">\n<li>Checkerboard pattern detection\n<p><div id=\"attachment_294\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14.png\" rel=\"attachment wp-att-294\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-294\" class=\"size-large wp-image-294\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14-1024x576.png\" alt=\"Checkerboard pattern detection. Not very fast but quite robust.\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot14.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-294\" class=\"wp-caption-text\">Checkerboard pattern detection. Not very fast but quite robust.<\/p><\/div><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol start=\"3\">\n<li>AprilTag detection\n<p><div id=\"attachment_292\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9.png\" rel=\"attachment wp-att-292\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-292\" class=\"size-large wp-image-292\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9-1024x576.png\" alt=\"AprilTag detection. Not very fast but very robust.\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot9.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-292\" class=\"wp-caption-text\">AprilTag detection. Not very fast but very robust.<\/p><\/div><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol start=\"4\">\n<li>Lucas Kanade Tracking\n<p><div id=\"attachment_298\" style=\"width: 1034px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3.png\" rel=\"attachment wp-att-298\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-298\" class=\"size-large wp-image-298\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3-1024x576.png\" alt=\"Lucas Kanade tracking of AprilTag features. Fast and robust for small movements but needs an initial good detection.\" width=\"1024\" height=\"576\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3-1024x576.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Screenshot3.png 1366w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><p id=\"caption-attachment-298\" class=\"wp-caption-text\">Lucas Kanade tracking of AprilTag features. Fast and robust for small movements but needs an initial good detection.<\/p><\/div><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Comparison of algorithms<\/p>\n<table class=\" aligncenter\" width=\"633\">\n<tbody>\n<tr>\n<td width=\"48\">S.No.<\/td>\n<td width=\"270\">Algorithm<\/td>\n<td width=\"132\">Speed (frames per second processed)<\/td>\n<td width=\"183\">Detection results<\/td>\n<\/tr>\n<tr>\n<td width=\"48\">1<\/td>\n<td width=\"270\">Color thresholding and centroid detection<\/td>\n<td width=\"132\">30<\/td>\n<td width=\"183\">Bad in lighting changes<\/td>\n<\/tr>\n<tr>\n<td width=\"48\">2<\/td>\n<td width=\"270\">Checkerboard Pattern<\/td>\n<td width=\"132\">14<\/td>\n<td width=\"183\">Slows down in bad lighting<\/td>\n<\/tr>\n<tr>\n<td width=\"48\">3<\/td>\n<td width=\"270\">AprilTag detection<\/td>\n<td width=\"132\">14<\/td>\n<td width=\"183\">Very robust to lighting and pose<\/td>\n<\/tr>\n<tr>\n<td width=\"48\">4<\/td>\n<td width=\"270\">Lucas Kanade Tracking<\/td>\n<td width=\"132\">30<\/td>\n<td width=\"183\">Very robust but requires a detection beforehand<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>October 23<\/strong><\/p>\n<p>Setup the Beagleboard xM for the vision subsystem:<\/p>\n<ol>\n<li>Ubuntu 14.04 server image<\/li>\n<li>ROS Indigo<\/li>\n<li>OpenCV<\/li>\n<li>Logitech C270 webcam drivers<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<div id=\"attachment_300\" style=\"width: 503px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/BBxM_setup.png\" rel=\"attachment wp-att-300\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-300\" class=\"size-full wp-image-300\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/BBxM_setup.png\" alt=\"BeagleBoard setup. Including peripherals and connections\" width=\"493\" height=\"512\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/BBxM_setup.png 493w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/BBxM_setup-289x300.png 289w\" sizes=\"auto, (max-width: 493px) 100vw, 493px\" \/><\/a><p id=\"caption-attachment-300\" class=\"wp-caption-text\">BeagleBoard setup. Including peripherals and connections<\/p><\/div>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>October 2, 2015<\/strong><\/p>\n<div id=\"attachment_91\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Vision-Subsystems-v1.jpg\" rel=\"attachment wp-att-91\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-91\" class=\"size-full wp-image-91\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Vision-Subsystems-v1.jpg\" alt=\"Vision System\" width=\"625\" height=\"469\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Vision-Subsystems-v1.jpg 625w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/Vision-Subsystems-v1-300x225.jpg 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-91\" class=\"wp-caption-text\">Vision System<\/p><\/div>\n<p>The vision subsystem handles all the visual processing. It is the eyes of the UAV as well as a source of visual odometry. The vision subsystem contains a camera, an optical flow sensor, and a microprocessor. The microprocessor is the board that handles all the computer vision algorithms in real time. Based on trade studies, this board will be a BeagleBoard-xM or a Raspberry Pi 2. We plan to start with the BeagleBoard-xM because we have experience using them in previous projects and because it has higher processing power. Due to the fact that a Raspberry Pi 2 is cheap and well documented, though, we will also buy one of those as well as a backup.<\/p>\n<hr \/>\n<p><a name=\"fc\"><\/a><br \/>\n<strong>The Flight Control Subsystem<\/strong><\/p>\n<p><strong>January\u00a028, 2016<\/strong><\/p>\n<p>We decided to switch our UAV platform after Adam, our flight control expert, dropped out. We are now using\u00a0the 3DR X8+, a ready to fly UAV platform which uses the\u00a0popular DroneCode stack.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/x82.jpg\" rel=\"attachment wp-att-396\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-396 size-full\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/x82.jpg\" alt=\"x8+2\" width=\"700\" height=\"394\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/x82.jpg 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/x82-300x169.jpg 300w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><\/a><\/p>\n<p>The UAV is set up and looks very promising for fast future development.<\/p>\n<p><strong>December 7, 2015 &#8211; Fall Validation Experiment<\/strong><\/p>\n<p>Our current status is that the vehicle is procured, assembled, and semi-functional. The electronics can be seen inside the vehicle in the figure<\/p>\n<div id=\"attachment_238\" style=\"width: 704px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6.jpg\" rel=\"attachment wp-att-238\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-238\" class=\"wp-image-238 \" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6-1024x682.jpg\" alt=\"Electronics Installed in FireFLY6\" width=\"694\" height=\"462\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6-1024x682.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6-300x200.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6-768x512.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Electronics-Installed-in-FireFLY6.jpg 1600w\" sizes=\"auto, (max-width: 694px) 100vw, 694px\" \/><\/a><p id=\"caption-attachment-238\" class=\"wp-caption-text\">Electronics Installed in FireFLY6<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>October 2, 2015<\/strong><\/p>\n<div id=\"attachment_84\" style=\"width: 659px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Flight-Control-Subsystems-v1.jpg\" rel=\"attachment wp-att-84\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-84\" class=\"size-full wp-image-84\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Flight-Control-Subsystems-v1.jpg\" alt=\"Flight Control Subsystems\" width=\"649\" height=\"305\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Flight-Control-Subsystems-v1.jpg 649w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Flight-Control-Subsystems-v1-300x141.jpg 300w\" sizes=\"auto, (max-width: 649px) 100vw, 649px\" \/><\/a><p id=\"caption-attachment-84\" class=\"wp-caption-text\">Flight Control Subsystems<\/p><\/div>\n<p>The flight control subsystem is arguably the most critical subsystem of the entire vehicle. It is the only system that interacts with all other subsystems and it involves the most interconnected components out of any of the subsystems.<\/p>\n<p>Due to the fact that our vehicle is a fixed-wing VTOL vehicle (FireFly6), it requires two flight control boards to fly. The two boards handle different modes of flight, namely forward flight and hover control. An APM flight controller will be used for forward flight and a Pixhawk will be used for hover control. Both boards will be running Arducopter software and connect to the Bridge, which is an intermediate motor controller on the FireFly6. For simplicity of further explanations, both flight control boards will be referred to simply as the flight controller.<\/p>\n<p>The flight controller must interact with all sensors on the UAV. Such sensors include the GPS, IMU, and the proximity sensors indirectly by way of the obstacle avoidance subsystem. The flight controller also has a radio plugged into it to communicate with the platform subsystem. The flight controller takes all this incoming data from all the various subsystems and transforms it into control outputs for the propulsion system.<\/p>\n<p>Although the flight control system is the most critical subsystem of the entire vehicle, it is also the most well tested part of the vehicle. Part of our analysis in the systems trade included looking at the flight controller capabilities and firmware documentation. Arducopter software has been super well documented and used by many people. Pixhawk and APM flight controllers have also been well tested over the years. As a result, although this system is so critical and thus produces a central point of failure for the vehicle, it also is one of the most robust because of conscious effort to make sure it was well tested by others.<\/p>\n<hr \/>\n<p><a name=\"gp\"><\/a><br \/>\n<strong>\u00a0The Ground Platform Subsystem<\/strong><\/p>\n<p><strong>February 19, 2016<\/strong><\/p>\n<p>Due to losing a team member over winter break, the team rescoped the project away from using a ground vehicle platform in order to prioritize the core technology of the project.<\/p>\n<p><strong>December 7, 2015 &#8211; Fall Validation Experiment<\/strong><\/p>\n<p>We are using Pioneer 2 UGV as our ground vehicle platform. The Pioneer 2 that we received from the institute inventory want functional. We redid the electronics and mechanical part to get it working.<\/p>\n<div id=\"attachment_202\" style=\"width: 727px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/SAM_1586.jpg\" rel=\"attachment wp-att-202\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-202\" class=\" wp-image-202\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/SAM_1586-1024x683.jpg\" alt=\"Pioneer 2 during Rebuild\" width=\"717\" height=\"478\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/SAM_1586-1024x683.jpg 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/SAM_1586-300x200.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/09\/SAM_1586-768x512.jpg 768w\" sizes=\"auto, (max-width: 717px) 100vw, 717px\" \/><\/a><p id=\"caption-attachment-202\" class=\"wp-caption-text\">Pioneer 2 during Rebuild<\/p><\/div>\n<p>&nbsp;<\/p>\n<p><strong>October 2, 2015<\/strong><\/p>\n<div id=\"attachment_272\" style=\"width: 575px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Ground-Platform-Subsystem.png\" rel=\"attachment wp-att-272\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-272\" class=\"size-full wp-image-272\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Ground-Platform-Subsystem.png\" alt=\"Ground Platform Subsystem\" width=\"565\" height=\"441\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Ground-Platform-Subsystem.png 565w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Ground-Platform-Subsystem-300x234.png 300w\" sizes=\"auto, (max-width: 565px) 100vw, 565px\" \/><\/a><p id=\"caption-attachment-272\" class=\"wp-caption-text\">Ground Platform Subsystem<\/p><\/div>\n<p>The platform subsystem is a simple mechanism that models the UGV. It is an intelligent platform that contains a GPS, user interface, and communication channel to the UAV. Its sole purposes are to allow human input into the system and to provide a takeoff and landing spot for the UAV. This platform will be useful for many stages of testing from the out-of-the-box tests all the way to the final system validation tests.<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><a name=\"em\"><\/a><br \/>\n<strong>The Electro-Mechanical Subsystem<\/strong><\/p>\n<p>March<\/p>\n<p><strong>February 19, 2016<\/strong><br \/>\nThe NicaDrone &#8220;gripper&#8221; arrived before the stare of the semester. In order to continue with our project, we had to test the functionality and performance of the NicaDrone Electro Permanent Magnet. To complete the test, we connected the \u201cgripper\u201d to the DC power supply through the 3-pin connection on top. Only the 5v Source and Ground Terminals needed to be connected as controlling the on\/off function can be controlled by the button on top. We will make use of the PWM Terminal via the Pixhawk in the future for electronic activation of the magnet.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_detail.png\" rel=\"attachment wp-att-378\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-378\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_detail.png\" alt=\"NicaDrone Electro-Permanent Magnet\" width=\"439\" height=\"254\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_detail.png 439w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_detail-300x174.png 300w\" sizes=\"auto, (max-width: 439px) 100vw, 439px\" \/><\/a><\/p>\n<p>Connecting a metal plate to the bottom of the gripper, then power it on, ensured resulted in a strong connection. The exact weight is unknown; however, it is several times the weight of any box we would want to attach to the drone.<\/p>\n<p>With the NicaDrone Electro-Permanent Magnet in hand, we were able to design and fabricate the first variation of the underbelly design. Design was done in phases. Starting with the base for the NicaDrone, we worked outward to the sides of the package. The current design attempts to balance the camera on one side with the PX4Flow and LidarLite on the other. This design minimizes the effect on the center of gravity, but still needs to be validated. The current design is modular, allowing us to more quickly tweak the individual components before moving toward a more elegant design.<\/p>\n<p>Here are two pictures of the fabricated underbelly. Note the NicaDrone attached to\u00a0the bottom.<br \/>\n<a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled.jpg\" rel=\"attachment wp-att-382\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-382 size-medium alignleft\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled-169x300.jpg\" alt=\"Underbelly Assembled\" width=\"169\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled-169x300.jpg 169w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled-768x1365.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled-576x1024.jpg 576w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Underbelly_Assembled.jpg 900w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached.jpg\" rel=\"attachment wp-att-379\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-379 size-medium alignleft\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached-169x300.jpg\" alt=\"NicaDrone Attached to Underbelly\" width=\"169\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached-169x300.jpg 169w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached-768x1365.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached-576x1024.jpg 576w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/NicaDrone_attached.jpg 900w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The next step was to attach the underbelly to the bottom of the 3DR x-8+. This was easily done thanks to mounting holes on the drone&#8217;s body.<\/p>\n<p>This is what the drone looks like with the underbelly mounted and a package attached.<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174.jpg\" rel=\"attachment wp-att-381\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-medium wp-image-381\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174-169x300.jpg\" alt=\"Snapchat-6560807985028369174\" width=\"169\" height=\"300\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174-169x300.jpg 169w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174-768x1365.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174-576x1024.jpg 576w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/Snapchat-6560807985028369174.jpg 1080w\" sizes=\"auto, (max-width: 169px) 100vw, 169px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>The final step was to modify standard USPS shipping packages to interface with the Electro-Permanent magnet. NicaDrone provided several small, magnetic plates along with our order. We\u00a0settled on an approach (similar to that used for RFID tags) of implanting a magnet underneath an adhesive pad.<\/p>\n<p>Details of this simple method can be seen here:<\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/packaging_technique.png\" rel=\"attachment wp-att-380\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-380\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/packaging_technique-300x224.png\" alt=\"Package Modification\" width=\"300\" height=\"224\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/packaging_technique-300x224.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/12\/packaging_technique.png 328w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The approach was the most feasible for shipping companies to implement. It does need to be centered on the package, however it does not require special boxes or opening packages to insert a plate.<\/p>\n<p>During testing, this method was able to hold 5 lbs of tension with the electro-permanent magnet. The package was released under its own weight in under a second. This approach worked best when the NicaDrone was physically touching the package. The only limitation was with the adhesive strength of the tape, which came off around 15 lbs, not the magnet.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>December 7, 2015 &#8211; Fall Validation Experiment<\/strong><\/p>\n<p><a href=\"http:\/\/nicadrone.com\/index.php?id_product=59&amp;controller=product\">Nica Drone<\/a> &#8211; the electro-permanent magnet that we will be using for our system isn&#8217;t available for shipping at the moment. We will work on this front in spring semester.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>October 2, 2015<\/strong><\/p>\n<p><a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Electro-Mechanical-Subsystems-v1.jpg\" rel=\"attachment wp-att-88\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-88 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Electro-Mechanical-Subsystems-v1.jpg\" alt=\"Electro Mechanical Subsystems v1\" width=\"555\" height=\"455\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Electro-Mechanical-Subsystems-v1.jpg 555w, https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-content\/uploads\/sites\/2\/2015\/10\/Electro-Mechanical-Subsystems-v1-300x246.jpg 300w\" sizes=\"auto, (max-width: 555px) 100vw, 555px\" \/><\/a><\/p>\n<p>This is the part of the vehicle that involves moving parts. Specifically this system is composed of the propulsion system, landing gear, and package system. The landing gear is specific to our vehicle choice and is composed of actuated legs controlled by a servo. The propulsion system consists of the motor controller, the electronic speed controllers (ESCs), the motors, and the propellers. The propulsion system is responsible for converting electrical signals into thrust and flight.<\/p>\n<p>The last major component of the electro-mechanical subsystem is the package system. This package system consists of the package itself and the gripper which handles the package. Currently our gripper is composed of<a href=\"http:\/\/nicadrone.com\/index.php?id_product=59&amp;controller=product\"> an electro permanent magnet board<\/a> that can lift up to 5kg and weighs 35g.\u00a0Should this fail, we have designs for a mechanical gripper that we would design ourselves but the electro permanent magnet far exceeds all other design options and we will work hard to ensure it integrates with our system.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are five major subsystems in our project. These five subsystems are: The Integrated System The Obstacle Avoidance Subsystem The Vision Subsystem The Flight Control Subsystem The Ground Platform Subsystem The Electro-Mechanical Subsystem Please visit the respective links to see the progress of each subsystem. Integrated System April 20, 2016 Finished integration of the system.<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/system-implementation\/\">+ Read More<\/a><\/p>\n","protected":false},"author":18,"featured_media":396,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-175","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/pages\/175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/comments?post=175"}],"version-history":[{"count":37,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/pages\/175\/revisions"}],"predecessor-version":[{"id":395,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/pages\/175\/revisions\/395"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/media\/396"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2015teama\/wp-json\/wp\/v2\/media?parent=175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}