This is one of the projects for Udacity's Robotics Software Engineer Nanodegree. The objective here is to set up a robot to map a simple simulated environment using the ROS (Robot Operating System) Gmapping package, and then navigate the map with the adaptive Monte Carlo localization package. The robot is simulating a home service robot picking up an object (represented by a blue circle in the lower map) from one location and placing it at a specified dropoff location. The pickup and dropoff points are published from the ROS node pick_objects, written in C++.
Video: