{"id":41,"date":"2017-09-27T06:24:59","date_gmt":"2017-09-27T06:24:59","guid":{"rendered":"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/?page_id=41"},"modified":"2018-05-10T00:31:01","modified_gmt":"2018-05-10T00:31:01","slug":"system-implementation","status":"publish","type":"page","link":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/system-implementation\/","title":{"rendered":"System Implementation"},"content":{"rendered":"<h2>Subsystem Descriptions<\/h2>\n<h3>Path Planning<\/h3>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-227 img-responsive\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-content\/uploads\/sites\/28\/2018\/04\/corner_detector.png\" alt=\"\" width=\"695\" height=\"436\" \/><\/h3>\n<p><span style=\"font-weight: 400\">The path planning subsystems consists of global and local planning:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Global route plan is done on the map server<\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Local planning is performed on a laptop mounted on top of Cabot that runs ROS<\/span><\/li>\n<\/ul>\n<h4>Progress (12\/15\/17):<\/h4>\n<ul>\n<li>Local planner ROS node written and tested in real life and simulation.<\/li>\n<li>Encoder data are passed to local planner and is used for navigation<\/li>\n<li>Looking at methods to extract points from map server path<\/li>\n<\/ul>\n<h4>Progress (5\/9\/18):<\/h4>\n<ul>\n<li>Integrated <a href=\"http:\/\/wiki.ros.org\/dwa_local_planner\">DWA\u00a0local planner<\/a> into navigation stack.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Indoor localization<\/h3>\n<p><span style=\"font-weight: 400\">Cabot uses LIDAR, inertial measurement unit (IMU), and encoders to localize itself with a particle filter. Initially we used BLE localization.<\/span><\/p>\n<h4>Progress (12\/15\/17):<\/h4>\n<ul>\n<li>Bluetooth (BLE) localization works, and has been ported over to motorized CaBot.<\/li>\n<li>The accuracy of BLE localization is within the expected errors, but in practice does not work well in a narrow hallway<\/li>\n<li>We plan to use BLE localization as a backup system if other localization systems fail.<\/li>\n<\/ul>\n<h4>Progress (5\/9\/18):<\/h4>\n<ul>\n<li>Using <a href=\"http:\/\/wiki.ros.org\/amcl\">AMCL ROS<\/a> package (Monte Carlo particle filter) for localization.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Drive system<\/h3>\n<h3><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-154 alignnone img-responsive\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-content\/uploads\/sites\/28\/2017\/09\/20171029_153918.jpg\" alt=\"\" width=\"218\" height=\"290\" \/><\/h3>\n<h5>Cabot uses 2 motors in a differential drive configuration.<\/h5>\n<h4>Progress (12\/15\/17):<\/h4>\n<ul>\n<li>Replaced original stepper motors with new DC motors.<\/li>\n<li>PID control implemented on new DC motors.<\/li>\n<\/ul>\n<h4>\u00a0Progress (5\/9\/18):<\/h4>\n<ul>\n<li>Added Sabertooth motor driver and replaced old DC motors with new DC motors<\/li>\n<li>Assembled PCB for sensor breakouts and motor fuses<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h3>Indoor Obstacle Detection<\/h3>\n<h5>Uses LIDAR to avoid obstacles in its path.<\/h5>\n<h4>Progress (12\/15\/17):<\/h4>\n<ul>\n<li>Interfaced with LIDAR sucessfully, and began mapping NSH 4th floor area using ROS LIDAR packages.<\/li>\n<\/ul>\n<h4>\u00a0Progress (5\/9\/18):<\/h4>\n<ul>\n<li>LIDAR topic published and integrated with ROS Navigation stack<\/li>\n<\/ul>\n<h3><\/h3>\n<p>&nbsp;<\/p>\n<h3>Audio and Haptic Feedback<\/h3>\n<h5>Cabot will use audio feedback to indicate the number of pedestrians ahead and when the user should turn.<\/h5>\n<h4>Progress (12\/15\/17):<\/h4>\n<ul>\n<li>Created ROS node that can perform text-to-speech to tell the user when to turn.<\/li>\n<\/ul>\n<h4>\u00a0Progress (5\/9\/18):<\/h4>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-234 img-responsive\" src=\"http:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-content\/uploads\/sites\/28\/2018\/05\/Pedestrian.png\" alt=\"\" width=\"317\" height=\"252\" \/><\/p>\n<ul>\n<li>Can detect pedestrians using a modified version\u00a0<a href=\"https:\/\/github.com\/OpenKinect\/libfreenect2\">libfreenect2<\/a> package<\/li>\n<li>Once pedestrian is detected, CaBot notifies user of how many pedestrians there are ahead<\/li>\n<li>Created web interface GUI allows user to select destination<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Subsystem Descriptions Path Planning The path planning subsystems consists of global and local planning: Global route plan is done on the map server Local planning is performed on a laptop mounted on top of Cabot that runs ROS Progress (12\/15\/17): Local planner ROS node written and tested in real life and simulation. Encoder data are &#8230; <a href=\"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/system-implementation\/\" class=\"more-link text-uppercase small\"><strong>Continue Reading<\/strong> <i class=\"fa fa-angle-double-right\" aria-hidden=\"true\"><\/i><\/a><\/p>\n","protected":false},"author":126,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-41","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/pages\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/users\/126"}],"replies":[{"embeddable":true,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":15,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/pages\/41\/revisions"}],"predecessor-version":[{"id":236,"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/pages\/41\/revisions\/236"}],"wp:attachment":[{"href":"https:\/\/mrsdprojects.ri.cmu.edu\/2017teamg\/wp-json\/wp\/v2\/media?parent=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}