{"id":304,"date":"2019-04-04T23:04:12","date_gmt":"2019-04-04T23:04:12","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/?page_id=304"},"modified":"2019-12-13T22:37:27","modified_gmt":"2019-12-13T22:37:27","slug":"ugv-subsystem-progress","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/system-implementation\/ugv-subsystem-progress\/","title":{"rendered":"UGV Subsystem Progress"},"content":{"rendered":"<div id=\"pl-304\"  class=\"panel-layout\" ><div id=\"pg-304-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-304-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-304-0-0-0\" class=\"so-panel widget panel-first-child\" data-index=\"0\" ><\/div><div id=\"panel-304-0-0-1\" class=\"so-panel widget widget_text\" data-index=\"1\" >\t\t\t<div class=\"textwidget\"><p>Fall performance result (Dec, 13, 2019)<\/p>\n<p>&nbsp;<\/p>\n<p><b><span style=\"font-weight: 400\">The motion planning, motion control, waypoint navigation, localization, and temperature measurement algorithms are all implemented in ROS. To improve localization accuracy, we integrated an RTK GPS to Jackal instead of using its built-in GPS sensor, and we established a transformation between the RTK GPS frame of coordination and Jackal\u2019s move_base frame, Odometry frame, to realize GPS waypoint navigation. Jackal can achieve the navigation accuracy of \u00b1 0.3m and a temperature measurement accuracy of \u00b1 1.3 \u00b0C. Its maximum speed can reach 8 m\/s, and its operation duration can last 3 hours. Video can be found in <a href=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/media\/\">media<\/a> section<\/span><\/b><\/p>\n<p>&nbsp;<\/p>\n<p>By Preliminary Design Review (Mar. 18, 2019), the progress on UGV includes:<\/p>\n<ul>\n<li>Set up ROS communication with UGV<\/li>\n<li>Tested manual control of UGV<\/li>\n<li>Tested Waypoint navigation of UGV in Gazebo Simulation<\/li>\n<li>Implemented temperature sensor reading script<\/li>\n<li>Tackled the communication latency issue<\/li>\n<li>Conducted experiment on UGV GPS accuracy<\/li>\n<\/ul>\n<h2>ROS Communication with UGV<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-351 size-full aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication.png\" alt=\"\" width=\"1208\" height=\"452\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication.png 1208w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-300x112.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-768x287.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-1024x383.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-700x262.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-520x195.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-360x135.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-250x94.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/ugv_ros_communication-100x37.png 100w\" sizes=\"auto, (max-width: 1208px) 100vw, 1208px\" \/><\/p>\n<p style=\"text-align: center\">Figure 1. Sensor messages of the UGV<\/p>\n<p>As our first step, we successfully obtained UGV sensor information via ROS as shown in figure 1.<\/p>\n<p>&nbsp;<\/p>\n<h2>Waypoint Navigation of UGV in Simulation<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-352 \" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2.png\" alt=\"\" width=\"719\" height=\"409\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2.png 1855w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-300x171.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-768x437.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-1024x583.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-700x398.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-520x296.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-360x205.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-250x142.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/jackal2-100x57.png 100w\" sizes=\"auto, (max-width: 719px) 100vw, 719px\" \/><\/p>\n<p style=\"text-align: center\">Figure 2. UGV waypoint navigation in the simulation. The colored dots are laser<\/p>\n<p>we tested the navigation of the UGV in simulation as shown in figure\u00a02.<\/p>\n<h2>UGV GPS Accuracy Test<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-353 \" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test.png\" alt=\"\" width=\"770\" height=\"276\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test.png 1177w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-300x108.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-768x275.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-1024x367.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-700x251.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-520x186.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-360x129.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-250x90.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_test-100x36.png 100w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/p>\n<p style=\"text-align: center\">Figure 3. GPS Accuracy Test<\/p>\n<p>GPS signal is blocked in the lab, so we did not actually read useful GPS signals before. We recorded Jackal\u2019s GPS signal at three different outdoor locations. Each recording last around one minute. The GPS signal is expected to be steady at the same location. Therefore, by analyzing those recorded data, we could have an idea of Jackal\u2019s GPS\u2019s performance.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-354 aligncenter\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result.png\" alt=\"\" width=\"773\" height=\"331\" srcset=\"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result.png 1079w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-300x128.png 300w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-768x329.png 768w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-1024x438.png 1024w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-700x300.png 700w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-520x223.png 520w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-360x154.png 360w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-250x107.png 250w, https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-content\/uploads\/sites\/37\/2019\/04\/gps_testing_result-100x43.png 100w\" sizes=\"auto, (max-width: 773px) 100vw, 773px\" \/><\/p>\n<p style=\"text-align: center\">Table 1. GPS test Result Analysis<\/p>\n<h2 style=\"text-align: left\">Communication Latency<\/h2>\n<p>We\u00a0encountered a severe\u00a0latency issue during the testing of UGV ROS communication. The first thing we tried was to cut the ethernet connection between the Velodyne LiDAR and Jackal&#8217;s onboard computer, but it didn&#8217;t make much improvement. The ROS nodes managing LiDAR are stilling running even without valid data. The next approach was to kill corresponding ROS nodes, and the latency was greatly improved. While, the ROS nodes are launched as long as Jackal is powered on, and it takes a relatively long time to log into Jackal&#8217;s onboard computer and further kill those ROS nodes. We managed to find the default launch files and made the modification to prevent LiDAR from running once Jackal starts running. We also found that unnecessary visualization could also slow down the operation. We tried to use Rviz to visualize Jackal\u2019s movements and its perceptions. However, it takes a lot of time to start the visualization because the master computer needs to establish communication with each available sensor. The visualization also stuck pretty often during the visualization. So we finally decided to shut down unnecessary visualization during the testing.<\/p>\n<h2 style=\"text-align: left\">Temperature Measurement Execution<\/h2>\n<p><span style=\"font-weight: 400\">UGV\u2019s Motion Planner receives the allocated interest point from the Master Computer. This interest point is then mapped into the task space and assigned as the target location. The Motion Planner then generates an obstacle-free trajectory from the current location to the target. We are currently using A* algorithm to make sure planned trajectories\u2019 optimalities are guaranteed.<\/span><\/p>\n<p><span style=\"font-weight: 400\">We are using a PID controller to control the UGV motors and command the ground vehicle to follow the waypoints generated by the Motion Planner. During the process of navigation, the Extended Kalman Filter fuses encoder, IMU and GPS signals to improve localization accuracy. Once the agent arrives at the target sample location, it stops and measures the current temperature by interpreting the voltage on the NTC thermistor to temperature values. The temperature measurement is then forwarded to the Mater Computer.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The measured motion planning, motion control, waypoint navigation, localization, temperature measurement algorithms are all implemented in ROS. To improve localization accuracy, we integrated an RTK GPS to Jackal instead of using its built-in GPS sensor and we establish a transformation between the RTK GPS frame of coordination and Jackal\u2019s move_base frame, Odometry frame, so as to realize GPS waypoint navigation. Per spring validation test requirements, Jackal is able to achieve the navigation accuracy of \u00a0+\/- 0.3 and a temperature measurement accuracy of +\/- 1.3 \u2103. Its maximum speed can reach 8 m\/s and its operation duration can last 3 hours.<\/span><\/p>\n<p>&nbsp;<\/p>\n<\/div>\n\t\t<\/div><div id=\"panel-304-0-0-2\" class=\"so-panel widget widget_media_video panel-last-child\" data-index=\"2\" ><h3 class=\"widget-title\">SVD UGV Test<\/h3><div style=\"width:100%;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-304-1\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/youtube\" src=\"https:\/\/youtu.be\/ZzG33Z_-hDE?_=1\" \/><a href=\"https:\/\/youtu.be\/ZzG33Z_-hDE\">https:\/\/youtu.be\/ZzG33Z_-hDE<\/a><\/video><\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>By Preliminary Design Review (Mar. 18, 2019), the progress on UGV includes:Set up ROS communication with UGVTested manual control of UGVTested Waypoint navigation of UGV in Gazebo SimulationImplemented temperature sensor reading scriptTackled the communication latency issueConducted experiment on UGV GPS [&hellip;]<\/p>\n","protected":false},"author":164,"featured_media":0,"parent":285,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-304","page","type-page","status-publish","hentry","clearfix"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/304","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/users\/164"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/comments?post=304"}],"version-history":[{"count":12,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/304\/revisions"}],"predecessor-version":[{"id":537,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/304\/revisions\/537"}],"up":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/pages\/285"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2018teamg\/wp-json\/wp\/v2\/media?parent=304"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}