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
This is a blog of my M.S. Electrical and Computer Engineering Thesis research. I've started to post here as a way to combine links (for code, datasets), pictures, and text as I try to get a neural network to model the data collected for my Kidnapped Robot Problem research.
Thursday, June 8, 2017
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.
- AMCL localization integrates scan-matching from the robot’s laserscanner with its odometry to generate the most-likely current robot pose.
- 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.
- The Kidnapped Robot Problem can be divided into categories of robot kidnapping events:
- Prolonged Disturbances
- Major Displacements
- Minor Displacements
- 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.
- Approach:
- 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.
- A Gazebo plugin will be used with AMCL and RViz to simulate within Gazebo the mechanics of the physical world’s robot kidnapping events.
- ROS packages used:
- amcl Package – Adaptive Monte Carlo Localization
- turtlebot_teleop Package – Provides methods for driving the robot
- turtlebot_gazebo Package – Interfaces ROS with the Gazebo simulator
- turtlebot_rviz_launchers Package – Interfaces ROS with the RViz visualizer tool
- Conclusion
- This method delivers a programmatic and repeatable manner for simulating “The Kidnapped Robot Problem” localization faults in Gazebo.
- 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.
- The use of a Gazebo plugin as the kidnapping medium creates a standard framework for comparing a variety of kidnapping behavior and severity.
- 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.
- ROS Packages
turtlebot_gazebo - http://wiki.ros.org/turtlebot_gazebo
amcl - http://wiki.ros.org/amcl
turtlebot_teleop - http://wiki.ros.org/turtlebot_teleop
turtlebot_rviz_launchers - http://wiki.ros.org/turtlebot_rviz_launchers
Subscribe to:
Posts (Atom)