{"id":505,"date":"2020-03-30T19:57:29","date_gmt":"2020-03-30T19:57:29","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/?page_id=505"},"modified":"2020-12-19T08:00:43","modified_gmt":"2020-12-19T08:00:43","slug":"simulation","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/simulation\/","title":{"rendered":"Simulation"},"content":{"rendered":"<h3>Gazebo Simulation Environment<\/h3>\n<p>Since we will utilize simulation for the spring, we will use Gazebo that takes in the transformation of the drone as well as the velocity command from the software to process and send out the state estimation and camera images from the simulated world back to the drone.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-562\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-12.20.31-AM.png\" alt=\"\" width=\"1204\" height=\"510\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-12.20.31-AM.png 1573w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-12.20.31-AM-300x127.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-12.20.31-AM-768x325.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-12.20.31-AM-1024x434.png 1024w\" sizes=\"auto, (max-width: 1204px) 100vw, 1204px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-610 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Picture1.png\" alt=\"\" width=\"1028\" height=\"578\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Picture1.png 950w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Picture1-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Picture1-768x432.png 768w\" sizes=\"auto, (max-width: 1028px) 100vw, 1028px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-544\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-03-23-54-51.png\" alt=\"\" width=\"1035\" height=\"550\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-03-23-54-51.png 1981w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-03-23-54-51-300x159.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-03-23-54-51-768x408.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-03-23-54-51-1024x544.png 1024w\" sizes=\"auto, (max-width: 1035px) 100vw, 1035px\" \/><\/p>\n<h4>Magnetic field simulation<\/h4>\n<p>We uses the magnetic dipole-dipole model to compute the force and torque between multiple magnets to simulate the gripper mechanism.<br \/><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-622\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-04-01-19-20.png\" alt=\"\" width=\"802\" height=\"531\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-04-01-19-20.png 802w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-04-01-19-20-300x199.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screenshot-from-2020-04-04-01-19-20-768x508.png 768w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/p>\n<h3>Rviz Trajectory Visualization<\/h3>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-553\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Rviz.png\" alt=\"\" width=\"727\" height=\"547\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Rviz.png 727w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Rviz-300x226.png 300w\" sizes=\"auto, (max-width: 727px) 100vw, 727px\" \/><\/p>\n<h4>DJI Hardware-in-the-loop simulation<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-629\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-1.32.50-AM.png\" alt=\"\" width=\"830\" height=\"435\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-1.32.50-AM.png 830w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-1.32.50-AM-300x157.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/04\/Screen-Shot-2020-04-04-at-1.32.50-AM-768x403.png 768w\" sizes=\"auto, (max-width: 830px) 100vw, 830px\" \/><\/p>\n\n\n<h3 class=\"wp-block-heading\">Building an Octomap for the new environment<\/h3>\n\n\n\n<p>Because our drone depends on the Octomap for planning and navigation, we need to build an Octomap for every environment that it operates. To compromise between the size of the map to optimize memory and the accuracy of the planning such that our drone can operate sufficiently and flying to the correct location without collision, we tried several node sizes for the map and run test on the simulation to ensure that the drone can plan and navigate efficiently with the new Octomap.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/4ad56811-5839-4ca3-880d-6f68205e21ba\" alt=\"\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Wind Simulation in Gazebo<\/h3>\n\n\n\n<p>After the field test, we found out that the wind affects the accuracy of our visual servoing drastically. Without the wind, our visual serving accuracy is close to 100%, but the accuracy is reduced by more than half with winds. As a result, we went back to the simulation and simulated the wind to test out thoroughly improvements for the visual servoing to tackle the wind. We simulated both constant wind and wind gust to test out different scenarios. The wind configurations are conveniently defined in xacro file<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Simulation Diagram<\/h2>\n\n\n\n<p>After the fall semester, as we enhanced the simulation from the Spring, our complete simulation system would look like below<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"566\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation-1024x566.png\" alt=\"\" class=\"wp-image-1212\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation-1024x566.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation-300x166.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation-768x425.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation-1536x849.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-content\/uploads\/sites\/45\/2020\/12\/simulation.png 1666w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Gazebo Simulation Environment Since we will utilize simulation for the spring, we will use Gazebo that takes in the transformation of the drone as well as the velocity command from the software to process and send out the state estimation and camera images from the simulated world back to the drone. Magnetic field simulation We<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/simulation\/\">+ Read More<\/a><\/p>\n","protected":false},"author":208,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-505","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/pages\/505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/users\/208"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/comments?post=505"}],"version-history":[{"count":14,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/pages\/505\/revisions"}],"predecessor-version":[{"id":1215,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/pages\/505\/revisions\/1215"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamf\/wp-json\/wp\/v2\/media?parent=505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}