{"id":516,"date":"2022-12-09T09:04:51","date_gmt":"2022-12-09T09:04:51","guid":{"rendered":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/?p=516"},"modified":"2022-12-09T09:16:57","modified_gmt":"2022-12-09T09:16:57","slug":"progress-review-11","status":"publish","type":"post","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/2022\/12\/09\/progress-review-11\/","title":{"rendered":"Progress Review 11"},"content":{"rendered":"\n<p>Fleet size: 5 robots!!<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"329px;\" height=\"264px;\" src=\"https:\/\/lh3.googleusercontent.com\/YMv8eGWcF7bYJMRk07QnTVdH25ZROHMYGjdT9SMMY7I_7qS1nqvsa7iNBvlZNBa7i0M19C79ZZ8aqT4t4qvxPdn0wHOOh2sHWeSkUlsAIKa9MKDZ39XpkJL8KFK7nzmoXvH76XDe6BAoXAN8iYZRTJKaqA\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perception<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Perception subsystem is now integrated with rest of system<ul><li>Increased resolution\u00a0<\/li><li>Cameras need to be focused and calibrated after every run<\/li><\/ul><\/li><li>Was having issues running two templates on the Kheperas: turns out we had to update the Khepera libraries<\/li><li>Tested in real life, able to detect and report agent position<\/li><\/ul>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"256px;\" height=\"342px;\" src=\"https:\/\/lh4.googleusercontent.com\/7AL2itAM51ekIL7Y0DmHyEAnxDB5TYZoLQerMi7TciATWnmqH-PTeuxSH5RbjU0SpfDjTygzGQAoMd5xwSE7ZHCPRZFgRAPoDYv9uFuGHQwRPMdnXbmDdZvD0HjEu99sdd9zlzl3WZMHUt0unZ8RbStEQQ\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MRSLAM<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Better speed profile for each robot: linear speed increase instead of step function<\/li><li>Laser Scanner non-blocking read update<\/li><li>Tuning loop closures<\/li><li>Ignore out-of-order data sequences from agents<\/li><\/ul>\n\n\n\n<ul class=\"wp-block-list\"><li>Erroneous scans from a robot getting added to the map<ul><li>Out of order sequences<\/li><li>Sensor data is suspect<\/li><\/ul><\/li><li>Sensitivity of loop closures varies with features in the environment<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Navigation<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Lazy Traffic Controller repulsion<ul><li>Was still having issues of agents colliding into each other during IRL testing (likely due to latencies and localization inaccuracies)<\/li><li>Added additional repulsion force to original velocity obstacle output velocity commands<\/li><li>Should help with agent-agent collisions<\/li><\/ul><\/li><li>Perception Search behaviour<ul><li>Turn in place + pause at coverage tasks<\/li><\/ul><\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Task Generation<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Two problems:<ul><li>A single random tree gets heavily pruned as the map changes<\/li><li>Cannot keep a track of which rooms are visited which rooms aren\u2019t if the tree keeps changing<\/li><\/ul><\/li><li>Problem breakdown:<ul><li>Can the tree transform along with the map?<\/li><li>Can we grow multiple trees instead of one single tree?<\/li><li>Can we disable trees instead of pruning them?<\/li><\/ul><\/li><li>Solution:<ul><li>Divide and conquer: <ul><li>grow multiple RRTs, one per pose-graph node<\/li><li>This way the RRTs will be smaller and can be optimized along with pose-graph updates<\/li><li>Avoid pruning<\/li><\/ul><\/li><li>Survival of the fittest:<ul><li>Generate coverage tasks on the RRTs, maximizing coverage while minimizing # of tasks needed<\/li><li>Iterate through each RRT and filter out nodes that are within a radius of an already established coverage task<\/li><li>Intertree filter then filters out overlapping coverage tasks between different trees<\/li><li>Final coverage tasks are then returned<\/li><li>Once a coverage task is visited, it is no longer updated and cannot be changed.<\/li><\/ul><\/li><\/ul><\/li><\/ul>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"433px;\" height=\"379px;\" src=\"https:\/\/lh6.googleusercontent.com\/soQG_4uZTqJy6QsXQXldg-O6LwNnE4jzhnwtRcX7hIhlNkHnoqPFSnwvBTXHBxVtiL0fXNsTK-dqJA0k3UrOd3XNdOPqWYKg5mS4E815z1gCuPnGp4fE9dS88pm9RpGCbDJzH-MDbcTOsRVkpc8FWSm8gQ\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"731px;\" height=\"383px;\" src=\"https:\/\/lh4.googleusercontent.com\/Mn58JEmdGEBFhKdhn_eidNZMKaAfb_Y75Z_G49wnTgWMKmV_7RfMYkLFvWvVwCuzuOVL8o0rgkSYAAc9JDTHefDi2T1bCNT5lDRdFw_DOQsBX-nkyVeGRErc7PFSFh9Hhf-R2e2JD7o3-V6l40NVVlRTlw\" alt=\"Rest\/API\"><\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"651px;\" height=\"403px;\" src=\"https:\/\/lh5.googleusercontent.com\/2VXwIK2oUuNNgWMun2Tb9AwoUJSbsCipHQDLnh9sAGaaUiMAV6ZxwXPn60Kh5dYvXNHAqzAINVThcEmKljSh_5CiYnwWQ1M3v4tl7aVapsZIoEmemOS2dRKE0gItf3rGt1jcZurqiXcXNmOcoSxKBbz7HA\" alt=\"Rest\/API\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Task Allocation<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>Geofence based on estimate of search area<\/li><li>Task allocation now has two types of tasks, what is their relative importance?\u00a0<ul><li>Coverage Tasks<\/li><li>Frontier Tasks<\/li><\/ul><\/li><li>Do two coverage tasks have same importance?<\/li><li>Do two frontier tasks always have same importance?<\/li><li>The Naive task allocator treats all the tasks the same only based on distance<\/li><\/ul>\n\n\n\n<p>FVD Sneak Peek:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>An information theoretic approach to allocating tasks during search and rescue<\/li><li>What is the information utility of each frontier task? Of each coverage task? How do they compare with each other?<\/li><li>Can we exploit information utility to speed up search for victims in a search and rescue scenario?<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Fleet size: 5 robots!! Perception Perception subsystem is now integrated with rest of system Increased resolution\u00a0 Cameras need to be focused and calibrated after every run Was having issues running two templates on the Kheperas: turns out we had to update the Khepera libraries Tested in real life, able to detect and report agent position<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/2022\/12\/09\/progress-review-11\/\">+ Read More<\/a><\/p>\n","protected":false},"author":276,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-516","post","type-post","status-publish","format-standard","hentry","category-progress"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/posts\/516","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/users\/276"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/comments?post=516"}],"version-history":[{"count":3,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/posts\/516\/revisions"}],"predecessor-version":[{"id":519,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/posts\/516\/revisions\/519"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/media?parent=516"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/categories?post=516"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2022teamf\/wp-json\/wp\/v2\/tags?post=516"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}