{"id":153,"date":"2020-02-17T15:51:53","date_gmt":"2020-02-17T15:51:53","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/?page_id=153"},"modified":"2020-12-18T21:28:29","modified_gmt":"2020-12-18T21:28:29","slug":"ugv-subsystem-progress","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/ugv-subsystem-progress\/","title":{"rendered":"UGV Subsystem Progress"},"content":{"rendered":"<h4>Thursday, February 20, 2020 &#8211; Jackal Simulation Setup and Mapping<\/h4>\n<p>We demonstrated a Jackal simulation with basic mapping functionalities. Most importantly, by implementing the Jackal simulation within ROS stack, we verified our designed functional architecture is achievable and compatible with Jackal subsystem, which also does not require much low-level development.<br>The mapping, localization, navigation and obstacle detection are all implemented in ROS framework. Based on the given model with URDF, laser scan, controller and motion planner, we integrate LIDAR model to Jackal robot in Gazebo, replace laser scanner node with Velodyne node and let the robot generate PointCloud to replace 2D scan in each state and reroute the added PointCloud message to ROS gmapping package for SLAM. A complete rqt graph showing the relationship between nodes and topics are shown in Figure 1 below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-323\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/UGV_rqt-23.png\" alt=\"\" width=\"3840\" height=\"2160\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/UGV_rqt-23.png 3840w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/UGV_rqt-23-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/UGV_rqt-23-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/UGV_rqt-23-1024x576.png 1024w\" sizes=\"auto, (max-width: 3840px) 100vw, 3840px\" \/><\/p>\n<p style=\"text-align: center\">Figure 1. Jackal Simulation RQT Graph<\/p>\n<p>A frame from the simulation is shown in Figure 2, with Gazebo world on the left and perception simulation on the right.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-325\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-02-20-at-7.18.41-PM-25.jpg\" alt=\"\" width=\"3084\" height=\"1658\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-02-20-at-7.18.41-PM-25.jpg 3084w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-02-20-at-7.18.41-PM-25-300x161.jpg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-02-20-at-7.18.41-PM-25-768x413.jpg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-02-20-at-7.18.41-PM-25-1024x551.jpg 1024w\" sizes=\"auto, (max-width: 3084px) 100vw, 3084px\" \/><\/p>\n<p style=\"text-align: center\">Figure 2. Jackal ROS simulation<\/p>\n<h4>Monday, March 2, 2020<\/h4>\n<p>A new algorithm for optimal landing point selection for the UGV subsystem was pushed out. The pseudo-code is shown below.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-327 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/function.jpg\" alt=\"\" width=\"570\" height=\"358\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/function.jpg 570w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/function-300x188.jpg 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/p>\n<p>The key idea behind the algorithm was that we check whether there is a large enough circle existing, which was centered at a position randomly sampled from the given map. The radius circle had to reach the threshold for safe landing. The sampling part was triggered by RRT, or RRT-connect algorithm, in order to speed the process up. After that, since the map was an occupancy grid, we had to discretize the circle to check whether each point inside the circle is valid. In order words, the cell is free of obstacles. If we found a valid sample point, we would use this point for the UGV to navigate, which helped update the map for the next step.<\/p>\n<h4>Thursday, March 5, 2020<\/h4>\n<p>Today, we presented a proposed testing plan for the final goal we wanted to achieve in the fall 2020 semester. The importance of this simulation test set is that it embodies the functional requirements into simulated test cases that we can visualize. Therefore, when conducting UGV technical development, we can always be able to reflect on the test cases and ensure what we are developing conforms with our goal.<\/p>\n<p>The simulation world had two types of obstacles \u2014 static and dynamic. As shown in figure 3, the static obstacles are the white-orange roadblocks, and the dynamic obstacles are the dark gray blocks. The static obstacles were designed to simulate the map \u2014 such as google map \u2014 builtin to the robot, while the dynamic obstacles were designed to simulate unpredictable changes occurred at certain map area (ie. parked cars, construction zones). In our simulation, the UGV would first roam around the world with only static obstacles so that it could build a map. The map would then be processed by an algorithm to select potential feasible landing areas. From our map, the algorithm would output three landing area candidates, corresponding to the areas bounded by blue, green, and cyan lanes in Figure 3.<\/p>\n<p>The UGV would first roam to the area bounded by blue lanes and enter our first test case, without knowing the dynamic obstacles. As dynamic obstacles appeared, the UGV would remap the area. Based on the perception from UGV\u2019s onboard LIDAR, it would conclude that this area would not be feasible for landing due to the compact occupied spaces remaining. Then the UGV would head to the green area, where there was an unoccupied area large enough for the UGV to characterize as \u201cfeasible for landing\u201d (the area underneath the tree). In this test case, we wanted to let the UAV\u2019s perception to take action and inform the UGV about the environment. As the UAV perceived the tree and characterized this condition as \u201cinfeasible for landing\u201d, the UGV would be informed with this information. Lastly, the UGV would roam to the area bounded by cyan lanes. The last test case was a fully opened area without any dynamic obstacles, the system should be able to judge it as a feasible landing condition, and the following landing motion planner would be then executed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-324 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/test_world-27.png\" alt=\"\" width=\"3840\" height=\"2160\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/test_world-27.png 3840w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/test_world-27-300x169.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/test_world-27-768x432.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/test_world-27-1024x576.png 1024w\" sizes=\"auto, (max-width: 3840px) 100vw, 3840px\" \/><\/p>\n<p style=\"text-align: center\">Figure 3. Refined Jackal World with 3 Test Cases<\/p>\n<h4>Monday, March 23, 2020<\/h4>\n<p>Today is the debut of our UGV waypoint following feature, which employs the actionlib to create a MoveBaseClient which sends the goal. In reality, the call to ac.sendGoal will actually push the goal out over the wire to the move_base node for processing. Under this circumstance, UGV could perform several tasks of path planning with only one command. So far, by combining mapping, optimal landing point selection, and waypoint following, the entire pipeline of UGV simulated automation was completed. With a pre-built map, the UGV could compute the optimal landing point within the map. Then the optimal landing point was sent to the UGV as a target waypoint, which then trigger low-level navigation stack to drive the UGV to the goal location. Along the way, the map could be constantly updated by UGV, since there might be some additional dynamic obstacles that did not appear in the scene when UGV was building the last map version. By completing this feature, we could shift our focus from software simulation to hardware implementation.<\/p>\n<h4>Wednesday, March 25, 2020<\/h4>\n<p>Due to the COVID19 outbreak, we temporarily lost the access to Jackal UGV hardware. Instead we shifted our development focus to landing platform hardware design and validation. Today, we kicked off our first CAD prototype of landing module as shown in Figure 4.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-321 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/bIAVZ0ZPKxhrPnbvYRi4HU2j0FzczqF93FwMLkxFYX7OJQKDbrIkCbAVCGIFyW5dwk5Z-GN7LWRjiqaAg1Rw8o0_0U2FamF9KxsNpBwC65lPyiCziWGY1uemcng6njGasBLF1Sj8b0-29.png\" alt=\"\" width=\"529\" height=\"265\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/bIAVZ0ZPKxhrPnbvYRi4HU2j0FzczqF93FwMLkxFYX7OJQKDbrIkCbAVCGIFyW5dwk5Z-GN7LWRjiqaAg1Rw8o0_0U2FamF9KxsNpBwC65lPyiCziWGY1uemcng6njGasBLF1Sj8b0-29.png 1600w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/bIAVZ0ZPKxhrPnbvYRi4HU2j0FzczqF93FwMLkxFYX7OJQKDbrIkCbAVCGIFyW5dwk5Z-GN7LWRjiqaAg1Rw8o0_0U2FamF9KxsNpBwC65lPyiCziWGY1uemcng6njGasBLF1Sj8b0-29-300x151.png 300w\" sizes=\"auto, (max-width: 529px) 100vw, 529px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-322 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-03-25-at-12.35.02-PM-31.png\" alt=\"\" width=\"409\" height=\"421\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-03-25-at-12.35.02-PM-31.png 1620w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-03-25-at-12.35.02-PM-31-291x300.png 291w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-03-25-at-12.35.02-PM-31-768x791.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/04\/Screen-Shot-2020-03-25-at-12.35.02-PM-31-995x1024.png 995w\" sizes=\"auto, (max-width: 409px) 100vw, 409px\" \/><\/p>\n<p style=\"text-align: center\">Figure 4. Landing Platform Overview<\/p>\n<p>We would mount a permanent magnet to each feet of the drone; the additional weight mounted to the drone would be very minimal and we expected no interference on flight mobility. The landing platform, which would be mounted onto UGV in fall semester, was consisted of a cross frame built of Aluminum extrusion, and 4 receptor modules, which included receptive enclosures and electromagnets. Specifically, we left a 40x40cm square area on the aluminum base frame to fit in Apriltag for landing. This design emphasizes quick assembly and testing. All the materials could be directly acquired from either McMaster and Amazon.<\/p>\n<h4>Thursday, April 2, 2020<\/h4>\n<p class=\"p1\"><span class=\"s1\">Four enclosure modules were printed. We conducted a fit-check with the electromagnet module, which is proved to be successful. The next step was to conduct various engineering validation tests, and to improve the design based on the test results. <\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\" wp-image-361 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/05\/WechatIMG22-33.jpeg\" alt=\"\" width=\"668\" height=\"501\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/05\/WechatIMG22-33.jpeg 1440w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/05\/WechatIMG22-33-300x225.jpeg 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/05\/WechatIMG22-33-768x576.jpeg 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/05\/WechatIMG22-33-1024x768.jpeg 1024w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/p>\n<p style=\"text-align: center\">Figure 5. Landing Module 3D printed<\/p>\n\n\n<h4 class=\"wp-block-heading\">Monday, September 28, 2020<\/h4>\n\n\n\n<p>We designed and implemented the UGV planner to find a valid landing point in a 10m\u00d710m space with obstacles. The UGV used LiDAR point cloud to identify obstacles. After downsampling and segmentation, the UGV will know the distance of the nearest obstacle. We tested in Gazebo, with regular-shaped obstacles, and the UGV was able to find a landing point within several minutes. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-19.53.00.png\" alt=\"\" class=\"wp-image-498\" width=\"580\" height=\"356\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-19.53.00.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-19.53.00-300x185.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-19.53.00-768x473.png 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 6. UGV planner pipeline<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"584\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo-1024x584.png\" alt=\"\" class=\"wp-image-500\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo-1024x584.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo-300x171.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo-768x438.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo-1536x876.png 1536w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/gazebo.png 1836w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\">Figure 7. Gazebo environment to test UGV<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Wednesday, October 14, 2020<\/h4>\n\n\n\n<p>We conducted UGV field tests on mapping and localization. The LiDAR was working properly, but there were some problems with system initialization. <\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"340px;\" height=\"261px;\" src=\"https:\/\/lh5.googleusercontent.com\/5POcbINX5obv0t2R1GznNALc2xjpoE4FCmVg-t1ffPcMHG9R5jx5HP9lv_MmEfG7ao9yk8qlyB0K2gbFsw2TjRkuqLYaJmuqV_kFiKR6d4NxgGdix86lDi6yk1rGFPgNXIrRO-J1Qos\"><\/p>\n\n\n\n<p class=\"has-text-align-center\">Figure 8. LiDAR point cloud in rviz<\/p>\n\n\n\n<p class=\"has-text-align-center\"><img decoding=\"async\" width=\"340px;\" height=\"244px;\" src=\"https:\/\/lh5.googleusercontent.com\/duP8rl2W0pvbEY2t9PPZrnFnAKp4eBDTsPQi3UOtmwiaOgNws-E01KNwFztmgjaFpa-uay4-WeIwoD94SpcdKCm3C4OhXguQ59RLOVBlxCCV9Cg8qYsV2necnyh9WRnG241MkaZLss4\"><\/p>\n\n\n\n<p class=\"has-text-align-center\">Figure 9. UGV field test<\/p>\n\n\n\n<p>We also finished the complete assembly hardware work on the UGV, and fully integrated the landing module onto it.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"489\" height=\"682\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image.png\" alt=\"\" class=\"wp-image-502\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image.png 489w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-215x300.png 215w\" sizes=\"auto, (max-width: 489px) 100vw, 489px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 10. Updated landing modeule design<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Friday, October 23, 2020<\/h4>\n\n\n\n<p>We have successfully tested the mapping and localization part and navigation with the odometry. YThe accuracy is within 0.5m based on the odometry.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"468\" height=\"261\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-2.png\" alt=\"\" class=\"wp-image-504\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-2.png 468w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-2-300x167.png 300w\" sizes=\"auto, (max-width: 468px) 100vw, 468px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 11. Navigation test<\/p>\n\n\n\n<p>We made a major update in hardware. We first lowered the mounting height of the landing receptor, reducing from 2 ft to 1 ft elevated from the UGV top platform. Additionally, we presented a new paperboard platform, with aluminum frames supported underneath. This new design will largely improve the safety for both the UAV and UGV in a failed landing case: the UAV will sit on the paperboard if it failed to land onto the receptor, rather than simply crashing onto the ground. This additional board is light-weighted, and easy to arm and disarm.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"570\" height=\"380\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-22.26.20.png\" alt=\"\" class=\"wp-image-505\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-22.26.20.png 570w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/Screen-Shot-2020-11-12-at-22.26.20-300x200.png 300w\" sizes=\"auto, (max-width: 570px) 100vw, 570px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 12. Landing module<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Tuesday, November 10, 2020<\/h4>\n\n\n\n<p>For the UGV, we have successfully tested the obstacle avoidance functionality. We can see in this video that the UGV can find a valid landing point while avoiding obstacles. The final FVD will have a similar setup as this field test but at a larger scale of 10m by 10m. We have also worked on the GPS. Initially we wanted to use the original Jackal GPS module, but the signal is unstable during our fields tests. We therefore decided to switch to RTK, which will give more stable and accurate results. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"422\" height=\"316\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-3.png\" alt=\"\" class=\"wp-image-506\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-3.png 422w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/11\/image-3-300x225.png 300w\" sizes=\"auto, (max-width: 422px) 100vw, 422px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 13. UGV testing environment with cardboard boxes as obstacles<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Wednesday, November 18, 2020<\/h4>\n\n\n\n<p>We have done the final testing for UGV before the FVD. We have tested the mapping and localization, navigation and obstacle avoidance. Fig.14 shows the testing environment we have set up. <\/p>\n\n\n\n<p>The average error is less than 0.3 m, which is acceptable. At the meantime, it actually also tested the navigation and the obstacle avoidance function. There was some problems with the white board on the jackal during the navigation, like hitting the obstacles. To solve it, we tuned the parameters of the size of the UGV from 0.4m x 0.4 to 1m x 1m and also changed the buffer between the UGV and the obstacles to 0.1m.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/12\/grass_environment.png\" alt=\"\" class=\"wp-image-541\" width=\"580\" height=\"434\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/12\/grass_environment.png 795w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/12\/grass_environment-300x225.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-content\/uploads\/sites\/42\/2020\/12\/grass_environment-768x576.png 768w\" sizes=\"auto, (max-width: 580px) 100vw, 580px\" \/><\/figure><\/div>\n\n\n\n<p class=\"has-text-align-center\">Figure 14. UGV testing environment<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Thursday, February 20, 2020 &#8211; Jackal Simulation Setup and Mapping We demonstrated a Jackal simulation with basic mapping functionalities. Most importantly, by implementing the Jackal simulation within ROS stack, we verified our designed functional architecture is achievable and compatible with Jackal subsystem, which also does not require much low-level development.The mapping, localization, navigation and obstacle<br \/><a class=\"moretag\" href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/ugv-subsystem-progress\/\">+ Read More<\/a><\/p>\n","protected":false},"author":192,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-153","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/users\/192"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/comments?post=153"}],"version-history":[{"count":8,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/153\/revisions"}],"predecessor-version":[{"id":542,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/pages\/153\/revisions\/542"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2020teamc\/wp-json\/wp\/v2\/media?parent=153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}