Thursday, June 8, 2017

Next Steps

Infrastructure So Far:
1. I can kidnap the robot in major and minor ways
2. I can collect AMCL and Gazebo data


Next Step:
Take the data collected and use a Neural Network to classify timesteps into Normal or Kidnapped

Thursday, June 1, 2017

RosCon 2017 Proposal Outline


I.

A mobile robot relies on localization algorithms such as AMCL (Adaptive Monte Carlo Localization) to estimate the current pose as it navigates a mapped environment, but the accuracy of these pose estimates is susceptible to “The Kidnapped Robot Problem” – events such as a flat tire or a stranger picking up the robot and putting it down somewhere else.  This is a demonstration of a method to simulate robot kidnapping events with the Turtlebot 2 robot in simulation-time using a Gazebo plugin and the ROS amcl package for ROS Indigo.  

    1. AMCL localization integrates scan-matching from the robot’s laserscanner with its odometry to generate the most-likely current robot pose.
    2. In the physical world, robot kidnapping events cause a break in the somewhat-synchronized relationship between the pose estimate according to the robot’s laserscan data and the odometry pose estimate.
    3. The Kidnapped Robot Problem can be divided into categories of robot kidnapping events:
      1. Prolonged Disturbances
      2. Major Displacements
      3. Minor Displacements

    1. In the literature, robot kidnapping events are often simulated by replaying logs of sensor data collected during robot navigation and omitting every nth data point from the route to introduce a sudden, unexpected change in robot pose.

    1. Approach:
      1. Studying “The Kidnapped Robot Problem” by simulating kidnapping events during robot localization in real-time with unedited data sets will produce more accurate simulations of kidnapping events than the traditional method.

      1. A Gazebo plugin will be used with AMCL and RViz to simulate within Gazebo the mechanics of the physical world’s robot kidnapping events.

  1. ROS packages used:
      1. amcl Package – Adaptive Monte Carlo Localization
      2. turtlebot_teleop Package – Provides methods for driving the robot
      3. turtlebot_gazebo Package – Interfaces ROS with the Gazebo simulator
      4. turtlebot_rviz_launchers Package – Interfaces ROS with the RViz visualizer tool

  1. Conclusion
      1. This method delivers a programmatic and repeatable manner for simulating “The Kidnapped Robot Problem” localization faults in Gazebo.
      2. This method is a flexible approach to estimating robot kidnapping events.  For example, instead of using arc calculations in the “Prolonged Disturbance” class of kidnapping events, one could instead supply a function that moves the robot two meters in the x-direction at every timestep, if that was the desired “kidnapping” effect.  
      3. The use of a Gazebo plugin as the kidnapping medium creates a standard framework for comparing a variety of kidnapping behavior and severity.  
      4. The ideas behind this method – namely, its reliance on a popular ROS topic such as AMCL’s amcl_pose to obtain the robot’s current pose while using the Gazebo simulator to alter the robot’s ground-truth pose in real-time – can be extended to simulate robot localization fault in other types of robots, such as localization fault in robotic arm manipulators.
  1. ROS Packages
turtlebot_rviz_launchers - http://wiki.ros.org/turtlebot_rviz_launchers