Skip to content

ROS simulation final project, consists of a mobile robot performing autonomous navigation, localizing itself with the ACML algorithm

Notifications You must be signed in to change notification settings

noxuz/Robotics_Nanodegree

Repository files navigation

Robotics Software Engineering program at Udacity

ROS simulation final project, consists of a mobile robot performing autonomous navigation, localizing itself with the acml algorithm, in a map generated with the help of the gmapping ROS package.

https://youtu.be/p8ibFq9aDFk

The robot is targeted to pick an object in a location on the map dictated by the pick_objects package, and then dropping it at a defined location, the visualization is performed by the add_makers package which subscribes to the amcl_pose topic and detects whenever the robot has reached the pickup and drop off locations in order to show a cube marker accordingly.

gmapping is a package that provides laser-based SLAM, which is used to create a 2-D occupancy grid map from the kinect depth camera mounted on the robot, a map can be generated calling from another therminal the "rosrun map_server map_saver -f mymap" command.

turtlebot_teleop helps for teleoperating the robot with the keyboard and navigate through the map, aiding in the generation of the oocupancy 2D grid map.

turtlebot_rviz_launchers has predefined configurations for launching with rviz for visualizing information such as the pose estimations produced by the amcl algorithm, the markers and the path plan that the robot will follow when the pick_objects node is invoked.

turtlebot gazebo provides the Adaptive Monte Carlo Localization (AMCL) algorithm for tracking the pose of the robot using a particle filter, making use of a known map, in this case, the one generated by gmapping called "mymap".

scripts is the package where numerous shell scripts can be used for different purposes, for example call ./test_slam.sh for launching a mapping enviroment, or add_markers.sh for visualizing the cube markers appearing on the pickup or drop locations, for running the autonomous navigation simulation, run "home_service.sh"

pick_objects is responsable for requesting the pickup and drop off locations for the robot to go to, using the SimpleAction client for sending goal requests to the move_base server.

add_markers2 has a callback from the subscribed topic amcl_pose estimator package which detects if the robot has reached the locations defined by pick_objects, adding a marker representing an object that the robot picked up, then, when the robot has reached the desired location, the marker is appeared again, simulating a drop off.

About

ROS simulation final project, consists of a mobile robot performing autonomous navigation, localizing itself with the ACML algorithm

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published