{"id":47662,"date":"2021-03-18T13:10:59","date_gmt":"2021-03-18T17:10:59","guid":{"rendered":"https:\/\/seniordesign.digitalscholar.rochester.edu\/ece2021\/?p=69"},"modified":"2022-04-13T10:48:43","modified_gmt":"2022-04-13T14:48:43","slug":"architecture-for-a-cooperative-slam-for-multi-uav-systems","status":"publish","type":"post","link":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/","title":{"rendered":"UAV Autonomous Navigation"},"content":{"rendered":"\n<p class=\"has-larger-font-size\"><strong>Project Description<\/strong><\/p>\n\n\n\n<p>Drone projects seemed to have&nbsp;gained a&nbsp;poor reputation&nbsp;for senior projects within&nbsp;the ECE department.&nbsp;Plagued with the challenges&nbsp;introduced by a 3<sup>rd<\/sup>&nbsp;degree of motion,&nbsp;gravity, and&nbsp;a higher price&nbsp;tag, groups that&nbsp;attempt&nbsp;these&nbsp;projects seem to&nbsp;encounter&nbsp;less success than others.&nbsp;&nbsp;Ignoring both the advice from other students and professors,&nbsp;we&nbsp;decided to move forward with&nbsp;the&nbsp;idea&nbsp;of a&nbsp;drone project anyway. Our&nbsp;goal&nbsp;was simple:&nbsp;create a fleet of fully autonomous drones which could work together to map out an area&nbsp;while simultaneously localizing their position in the world.&nbsp;A project like this could see use in search-and-rescue, industrial surveying, and exploratory applications.<\/p>\n\n\n\n<p>The theory behind our project was not groundbreaking&nbsp;or new. The SLAM (Simultaneous Localization&nbsp;and Mapping)&nbsp;algorithms that we intended to use&nbsp;have&nbsp;been around since the early 1990s.&nbsp;Most&nbsp;of our group had taken the ECE department\u2019s&nbsp;232 course, Autonomous&nbsp;Mobile&nbsp;Robotics, which provided both the theoretical and practical knowledge required for us to get started. Our challenges&nbsp;lay&nbsp;in implementing what we had learned into a drone specifically.&nbsp;The margins of error had to be reduced,&nbsp;the uncertainty increased, and the computational challenges had the potential&nbsp;to skyrocket exponentially. Any one problem, whether it being a poorly&nbsp;optimized&nbsp;algorithm&nbsp;or a broken drone that had crashed to the ground,&nbsp;had the potential to delay or break our project.&nbsp;Though&nbsp;we were&nbsp;ultimately&nbsp;not able to achieve a fleet of mighty smart drones, our progress does bode well for&nbsp;future groups who&nbsp;wish&nbsp;to give the challenge of drone programming a&nbsp;try.&nbsp;&nbsp;<\/p>\n\n\n\n<p class=\"has-larger-font-size\"><strong>Design Process<\/strong><\/p>\n\n\n\n<p>Our group had already picked a&nbsp;platform&nbsp;to&nbsp;use for our project during the previous semester\u2019s reverse engineering&nbsp;assignment.&nbsp;Ryze Tello made a small, relatively inexpensive, drone which&nbsp;had gained a reputation of being exceptional for student projects. Drivers had&nbsp;already been developed&nbsp;to control the drone from a&nbsp;computer&nbsp;and we&nbsp;had found similar projects suggesting the drone camera could support SLAM algorithms.&nbsp;We quickly moved past the hardware phase and dove straight into&nbsp;a software research phase.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/DJI_Tello-1.png\" alt=\"\" class=\"wp-image-963\"\/><figcaption>Tello Drone<\/figcaption><\/figure>\n\n\n\n<p>The first several weeks of research went into&nbsp;setting up Linux virtual machines, interfacing with the drone, and experimenting with different driver packages&nbsp;and existing&nbsp;libraries for us to utilize in our project.&nbsp;We decided early on to use ROS (Robotics Operating System), a&nbsp;robotics-oriented middleware, as we had already developed&nbsp;a good understanding of it from the Autonomous Robotics course.&nbsp;The&nbsp;majority of&nbsp;Tello drivers&nbsp;we had found&nbsp;also utilized ROS&nbsp;which allowed us to quickly start sending commands to and&nbsp;receive&nbsp;data from&nbsp;our&nbsp;drone.&nbsp;The decision to use ROS also pushed our&nbsp;group towards all working within Linux, which required us all to setup virtual machines&nbsp;on our personal laptops.&nbsp;This&nbsp;research&nbsp;phase was critical in getting our group on the same page and preventing any poor early design decisions.&nbsp;We moved on once every one of our team members could&nbsp;send commands to the drone from their personal laptops.&nbsp;<\/p>\n\n\n\n<p>After&nbsp;this&nbsp;initial&nbsp;research&nbsp;phase,&nbsp;we&nbsp;started&nbsp;to focus&nbsp;on&nbsp;the&nbsp;design of&nbsp;the ROS software architecture. This consisted of isolating the various&nbsp;problems (planning, motion-modelling,&nbsp;localization&nbsp;and mapping, etc.)&nbsp; into&nbsp;separate processes&nbsp;which we could dole out and work on&nbsp;separately.&nbsp;Although the overall architecture faced several revisions over the duration of the semester,&nbsp;it remained relatively the same, consisting of&nbsp;two major components,&nbsp;a&nbsp;motion stack and a perception stack&nbsp;&#8211; fusing&nbsp;the Sense-Plan-Act control methodology commonly encountered in robotics.&nbsp;The motion stack consisted of everything required&nbsp;for the drone to create a path to chosen&nbsp;destinations and&nbsp;follow that path to its destinations. The perception stack&nbsp;consisted of everything required for the drone to use its camera to localize itself in the&nbsp;world and&nbsp;map out the world around it.&nbsp;The design phase was the shortest, only lasting about a week and a half, before&nbsp;we&nbsp;simply began coding.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"705\" src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/Ros_graph-11-1-1024x705.png\" alt=\"\" class=\"wp-image-961\" srcset=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/Ros_graph-11-1-1024x705.png 1024w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/Ros_graph-11-1-300x206.png 300w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/Ros_graph-11-1-768x528.png 768w, https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/Ros_graph-11-1.png 1042w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Project Architecture<\/figcaption><\/figure>\n\n\n\n<p>We focused on implementing the motion stack first.&nbsp;Each group member was assigned a node to work on&nbsp;and everyone attended meetings twice a week to test and debug our progress. This was the longest phase of the project, as it simply took time to work through and debug every aspect of the drone\u2019s motion.&nbsp;Up until the very end during testing, different parameters&nbsp;&#8211; namely gains in motion controllers, tolerances in path planners, etc. &#8211;&nbsp;were being&nbsp;tweaked for the drone to move smoothly, and correctly.&nbsp;<\/p>\n\n\n\n<p>After several group members had finished their tasks working within the motion stack, they moved on&nbsp;to begin&nbsp;working with the drone\u2019s&nbsp;perception. We had no interest, and especially not the time, to implement our own version of SLAM. Therefore, a lot of research was put into what SLAM libraries were available to us and which would work best utilizing the drone\u2019s monocular camera. Ultimately, a library&nbsp;which utilizes&nbsp;ORBSLAM, a&nbsp;feature-based&nbsp;SLAM algorithm,&nbsp;was&nbsp;found and chosen for our project.&nbsp;&nbsp;We then began the process&nbsp;of&nbsp;tweaking it for&nbsp;our&nbsp;use and&nbsp;running calibrations&nbsp;to determine various drone camera characteristics required by the ORBSLAM library.&nbsp;<\/p>\n\n\n\n<p>As the motion stack and perception stack were both being finalized, we ended up transitioning&nbsp;into&nbsp;a&nbsp;final&nbsp;testing phase. This consisted of the last couple weeks before the end of the semester when most of our code had been written but&nbsp;needed testing with the physical drone&nbsp;instead of our virtual simulator.&nbsp;As expected, this was a period of rampant bugs and unexpected behavior. Every poor coding and design decision returned at this point to haunt us. In the end, we were able to achieve basic autonomy and with a successful SLAM implementation, although the reliability does suffer and more time would be required to achieve a fully polished product.<\/p>\n\n\n\n<p class=\"has-larger-font-size\"><strong>Architecture<\/strong><\/p>\n\n\n\n<p><strong>Tello Interface-<\/strong> We ended&nbsp;up choosing the&nbsp;ROS endorsed Tello&nbsp;driver after comparing several of the options available to us. It works by&nbsp;sending&nbsp;UDP messages back and forth with the drone which exchanges&nbsp;commands and various status&nbsp;properties. Choosing a driver early in our design process allowed us to get started much faster&nbsp;than&nbsp;if&nbsp;we were to create our own&nbsp;messaging protocol.&nbsp;We faced early problems regarding the computer\/drone connections when we were working inside VMs. We were able to overcome this&nbsp;by using&nbsp;a&nbsp;USB&nbsp;wireless antenna.&nbsp;Eventually, we switched to a native machine&nbsp;Linux machine during the final testing phase.&nbsp;<\/p>\n\n\n\n<p><strong>Planner<\/strong>&#8211; The planner&nbsp;is&nbsp;responsible for&nbsp;calculating the shortest path between any two&nbsp;points&nbsp;comprised&nbsp;of an x, y, and z coordinate. The planner&nbsp;can&nbsp;read in&nbsp;a set of&nbsp;obstacles described&nbsp;as a point cloud&nbsp;in the&nbsp;perception&nbsp;node&nbsp;and&nbsp;dynamically.&nbsp;In order to&nbsp;accomplish&nbsp;this task, the well-known graph traversal and path search algorithm A* was implemented.&nbsp;Using the output of the planner, the path following controller is&nbsp;able&nbsp;navigate to desired waypoints.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"236\" style=\"aspect-ratio: 177 \/ 236;\" width=\"177\" controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/ezgif.com-gif-maker-1.mp4\"><\/video><figcaption>Planner cycling through queries in RVIZ.<\/figcaption><\/figure>\n\n\n\n<p><strong>Simulator\/Motion Predictor<\/strong>&#8211; The simulator takes in velocity commands and makes an estimation of the drone\u2019s pose. This was used&nbsp;for testing in our visual simulator&nbsp;and allowed us to confirm the accuracy of the PFC. We originally hoped to use the simulator&nbsp;to help predict the belief&nbsp;odometry,&nbsp;but it proved too&nbsp;inaccurate&nbsp;in testing.&nbsp;&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"562\" style=\"aspect-ratio: 758 \/ 562;\" width=\"758\" controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/simulator_motion_model_clip-1.mp4\"><\/video><figcaption>MATLAB simulator example<\/figcaption><\/figure>\n\n\n\n<p><strong>Path-Following Controller<\/strong>&#8211; The path following controller (PFC) takes the path&nbsp;calculated by the planner node and&nbsp;determines&nbsp;the proper velocity of the drone so that the motion&nbsp;follows&nbsp;the track.&nbsp;When the drone is far from its goal point the PFC looks at&nbsp;the point 30 cm&nbsp;ahead&nbsp;on the planned-out path and uses&nbsp;PID control to&nbsp;determine&nbsp;the&nbsp;magnitude&nbsp;of&nbsp;both the necessary&nbsp;angular&nbsp;and&nbsp;linear&nbsp;velocities. If the goal is within 30 cm of the drone, it will only&nbsp;look&nbsp;10 cm ahead.&nbsp;<\/p>\n\n\n\n<p><strong>Executive-<\/strong> The executive node oversees&nbsp;the&nbsp;validation process of&nbsp;navigation,&nbsp;coordinates requests to the planning node, and controls the&nbsp;takeoff and landing&nbsp;procedures&nbsp;for the drone.&nbsp;The executive manages the specific&nbsp;waypoints to navigate&nbsp;to&nbsp;as well as scaling odometry data from the&nbsp;perception&nbsp;stack.&nbsp;&nbsp;<\/p>\n\n\n\n<p><strong>Visualization\/GUI<\/strong>&#8211; We initially attempted to use Gazebo for\u00a0visualization,\u00a0but it proved cumbersome and unnecessary, primarily because we did not need its physics simulation capabilities. We\u00a0ended up switching to\u00a0RVIZ (Robot Visualization), a 3-d visualization tool specifically designed for ROS applications.\u00a0We were able to use it to subscribe to ROS messages\u00a0and\u00a0display our simulations in a graphics application.\u00a0One of\u00a0the challenges we faced was understanding relative frames. We fixed our problems with this by creating a\u00a0ROS node\u00a0to perform transformations between the base frame of the drone to the world frame.\u00a0<\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"544\" style=\"aspect-ratio: 1427 \/ 544;\" width=\"1427\" controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/ezgif.com-gif-maker-1-1.mp4\"><\/video><figcaption>RVIZ visualization of the simulated robot<\/figcaption><\/figure>\n\n\n\n<p><strong>Perception<\/strong> &#8211; DJI Tello\u2019s forward-facing and downward-facing cameras were used for the sensing requirements of this project. The latter camera was primarily used to track the platform\u2019s vertical displacement, facilitating the maintenance of a minimum vertical displacement, while the former camera was used for mapping and localizing (SLAM) the drone with respect to the environment.\u00a0A common pitfall with projects like this is the necessity of plastering the lab environment with many tags. To avoid\u00a0use of tags, we opted for a feature-based monocular SLAM\u00a0named ORBSLAM, which produces a spare\u00a03D reconstruction of the drone\u2019s scene and tracks the drone\u2019s trajectory using keyframes.\u00a0\u00a0<\/p>\n\n\n\n<p>A challenge of the perception stack was to\u00a0add the necessary infrastructure to generate a 3D point-cloud, save\/load pre-generated maps,\u00a0and publish transformations between the trajectory obtained through SLAM and the world frame.\u00a0<\/p>\n\n\n\n<p class=\"has-larger-font-size\"><strong>Demonstrations<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/DEMO1.mp4\"><\/video><figcaption>Demo 1<\/figcaption><\/figure>\n\n\n\n<p>The following demonstration\u00a0shows\u00a0the architecture navigating\u00a0autonomously\u00a0to several waypoints\u00a0while trying to build a map of the environment for localization. The final goal was\u00a0to navigate above the ceiling light fixture, which ended in an emergency automated landing.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-columns alignfull are-vertically-aligned-bottom is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-bottom is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-video\"><video height=\"720\" style=\"aspect-ratio: 1280 \/ 720;\" width=\"1280\" controls src=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/05\/DEMO2-1.mp4\"><\/video><figcaption>Demo 2- RVIZ view<\/figcaption><\/figure>\n\n\n\n<p>Autonomous\u00a0mapping of the laboratory environment seen through\u00a0RVIZ.\u00a0<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"wp-embed\"><div class=\"wp-embed-wrap\"><iframe loading=\"lazy\" title=\"DEMO2 Mobile\" width=\"1062\" height=\"597\" src=\"https:\/\/www.youtube.com\/embed\/vcbD9GjPhPo?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><figcaption>Demo 2- drone view<\/figcaption><\/figure>\n\n\n\n<p>Autonomous mapping of the laboratory environment recorded through a mobile\u00a0device.\u00a0<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<div class=\"wp-embed\"><div class=\"wp-embed-wrap\"><iframe loading=\"lazy\" title=\"DEMO3 Mobile\" width=\"1062\" height=\"597\" src=\"https:\/\/www.youtube.com\/embed\/T_UrFWUyvn0?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/div><\/div>\n<\/div><\/figure>\n\n\n\n<p>Autonomous navigation around the Hopeman laboratory.\u00a0<\/p>\n\n\n\n<p class=\"has-larger-font-size\"><strong>Takeaways<\/strong><\/p>\n\n\n\n<p>This project proved to us that drone projects do in fact come with a large number of exciting unexpected problems. We could not have predicted the large amount of tweaking required to end up with a reliable rate of success. We are, however, happy with the level of autonomy we were able to achieve considering the constraints of the semester.<\/p>\n\n\n\n<div class=\"wp-block-coblocks-accordion\">\n<div class=\"wp-block-coblocks-accordion-item\"><\/div>\n<\/div>\n\n\n\n<p class=\"has-larger-font-size\"><strong>Team Members<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Abrar Rahman<\/li><li>David Webster<\/li><li>William &#8220;Jay&#8221; Williams<\/li><li>Lord of Macros Zeyu &#8220;Chandler&#8221; Xu<\/li><li>Professor Mottley- Advisor<\/li><li>Professor Phinney- Advisor<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Creating an accurate SLAM estimation for indoor obstacle mapping, exploration, and flight execution.<\/p>\n","protected":false},"author":6242,"featured_media":46782,"comment_status":"open","ping_status":"open","sticky":false,"template":"templates\/template-full-width.php","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[116,8772,3096],"tags":[],"coauthors":[8612],"class_list":["post-47662","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ece-archive","category-robotics-archive","category-simulation-archive"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>UAV Autonomous Navigation - Senior Design Day<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"UAV Autonomous Navigation - Senior Design Day\" \/>\n<meta property=\"og:description\" content=\"Creating an accurate SLAM estimation for indoor obstacle mapping, exploration, and flight execution.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/\" \/>\n<meta property=\"og:site_name\" content=\"Senior Design Day\" \/>\n<meta property=\"article:published_time\" content=\"2021-03-18T17:10:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-04-13T14:48:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\"},\"headline\":\"UAV Autonomous Navigation\",\"datePublished\":\"2021-03-18T17:10:59+00:00\",\"dateModified\":\"2022-04-13T14:48:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/\"},\"wordCount\":2005,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/airbuzzone_drone_fp11.jpg\",\"articleSection\":[\"ECE Archive\",\"Robotics Archive\",\"Simulation Archive\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/\",\"name\":\"UAV Autonomous Navigation - Senior Design Day\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/airbuzzone_drone_fp11.jpg\",\"datePublished\":\"2021-03-18T17:10:59+00:00\",\"dateModified\":\"2022-04-13T14:48:43+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/airbuzzone_drone_fp11.jpg\",\"contentUrl\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/wp-content\\\/uploads\\\/2021\\\/03\\\/airbuzzone_drone_fp11.jpg\",\"width\":1435,\"height\":717,\"caption\":\"Front view of the DJI Tello drone\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/architecture-for-a-cooperative-slam-for-multi-uav-systems\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"UAV Autonomous Navigation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#website\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/\",\"name\":\"Senior Design Day\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/#\\\/schema\\\/person\\\/351018fbcf84ed8cac6d8072ba5b347c\",\"name\":\"admin\",\"url\":\"https:\\\/\\\/www.hajim.rochester.edu\\\/senior-design-day\\\/author\\\/seniordesign\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"UAV Autonomous Navigation - Senior Design Day","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/","og_locale":"en_US","og_type":"article","og_title":"UAV Autonomous Navigation - Senior Design Day","og_description":"Creating an accurate SLAM estimation for indoor obstacle mapping, exploration, and flight execution.","og_url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/","og_site_name":"Senior Design Day","article_published_time":"2021-03-18T17:10:59+00:00","article_modified_time":"2022-04-13T14:48:43+00:00","og_image":[{"url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg","width":1200,"height":600,"type":"image\/jpeg"}],"author":"admin","twitter_card":"summary_large_image","twitter_misc":{"Written by":"admin","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#article","isPartOf":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/"},"author":{"name":"admin","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c"},"headline":"UAV Autonomous Navigation","datePublished":"2021-03-18T17:10:59+00:00","dateModified":"2022-04-13T14:48:43+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/"},"wordCount":2005,"commentCount":0,"image":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg","articleSection":["ECE Archive","Robotics Archive","Simulation Archive"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/","name":"UAV Autonomous Navigation - Senior Design Day","isPartOf":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#primaryimage"},"image":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg","datePublished":"2021-03-18T17:10:59+00:00","dateModified":"2022-04-13T14:48:43+00:00","author":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c"},"breadcrumb":{"@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#primaryimage","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg","contentUrl":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-content\/uploads\/2021\/03\/airbuzzone_drone_fp11.jpg","width":1435,"height":717,"caption":"Front view of the DJI Tello drone"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/architecture-for-a-cooperative-slam-for-multi-uav-systems\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/"},{"@type":"ListItem","position":2,"name":"UAV Autonomous Navigation"}]},{"@type":"WebSite","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#website","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/","name":"Senior Design Day","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/#\/schema\/person\/351018fbcf84ed8cac6d8072ba5b347c","name":"admin","url":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/author\/seniordesign\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/47662","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/users\/6242"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/comments?post=47662"}],"version-history":[{"count":2,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/47662\/revisions"}],"predecessor-version":[{"id":57132,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/posts\/47662\/revisions\/57132"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/media\/46782"}],"wp:attachment":[{"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/media?parent=47662"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/categories?post=47662"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/tags?post=47662"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.hajim.rochester.edu\/senior-design-day\/wp-json\/wp\/v2\/coauthors?post=47662"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}