Skip to content

yycho0108/udacity_bot

Repository files navigation

Udacity Bot

Primary ROS Package for Udacity Robotics Nanodegree Term 2 Project 2 : Robot Localization.

Note scripts/calibrate.py and scripts/scan_to_angle.py are from the turtlebot_calibration package.

Refer to the report for the formal report, and note that the supporting figures are in figs/report.

Building

rosdep install --from-path ${PWD} --ignore-src
sudo pip install -r ${PWD}requirements.txt
catkin build udacity_bot

Running

gazebo

roscore
roslaunch udacity_bot udacity_world.launch robot:=udacity_bot
roslaunch udacity_bot amcl.launch
roslaunch udacity_bot move_base.launch type:=teb robot:=udacity_bot
rosrun udacity_bot navigation_goal #_reset:=true

In the above script, if _reset:=true then the particle filter (AMCL) robot pose will be initialized from the current gazebo ground truth position. (default: false)

Additionally, the goal position can be specified with _gx, _gy and gh parameters.

Note that the current default goal position honors the Udacity-supplied default, (0.995, -2.99, 0.0).

Visualization

When you open the RVIZ screen, the main display should look roughly as follows (apart from windows decorations and the display panel)

rviz

roslaunch udacity_bot rviz.launch cfg:=amcl

Evaluation

eval

In order to evaluate the localization performance against ground truth data, run:

rosrun udacity_bot loc_eval.py

After the data collection process, plot the collected data as follows:

rosrun udacity_bot loc_eval.py _plot:=true

Note that the collected data is saved under /tmp/err.npy.

About

Developmental Package Udacity Robotics Nanodegree Term 2 : Localization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published