System Implementation

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 passed to local planner and is used for navigation
  • Looking at methods to extract points from map server path

Progress (5/9/18):

 

Indoor localization

Cabot uses LIDAR, inertial measurement unit (IMU), and encoders to localize itself with a particle filter. Initially we used BLE localization.

Progress (12/15/17):

  • Bluetooth (BLE) localization works, and has been ported over to motorized CaBot.
  • The accuracy of BLE localization is within the expected errors, but in practice does not work well in a narrow hallway
  • We plan to use BLE localization as a backup system if other localization systems fail.

Progress (5/9/18):

  • Using AMCL ROS package (Monte Carlo particle filter) for localization.

 

Drive system

Cabot uses 2 motors in a differential drive configuration.

Progress (12/15/17):

  • Replaced original stepper motors with new DC motors.
  • PID control implemented on new DC motors.

 Progress (5/9/18):

  • Added Sabertooth motor driver and replaced old DC motors with new DC motors
  • Assembled PCB for sensor breakouts and motor fuses

 

Indoor Obstacle Detection

Uses LIDAR to avoid obstacles in its path.

Progress (12/15/17):

  • Interfaced with LIDAR sucessfully, and began mapping NSH 4th floor area using ROS LIDAR packages.

 Progress (5/9/18):

  • LIDAR topic published and integrated with ROS Navigation stack

 

Audio and Haptic Feedback

Cabot will use audio feedback to indicate the number of pedestrians ahead and when the user should turn.

Progress (12/15/17):

  • Created ROS node that can perform text-to-speech to tell the user when to turn.

 Progress (5/9/18):

  • Can detect pedestrians using a modified version libfreenect2 package
  • Once pedestrian is detected, CaBot notifies user of how many pedestrians there are ahead
  • Created web interface GUI allows user to select destination