In this lab, you will be applying an EKF ROS package to localize your robot inside a Gazebo environment. In the end, you will be able to drive the robot around in simulation and observe the Odom
and EKF
trajectories.
Launch the simulation in the VM machine provided in Term1.
$ mkdir -p /home/workspace/catkin_ws/src
$ cd /home/workspace/catkin_ws/src
$ catkin_init_workspace
$ cd ..
$ catkin_make
$ apt-get update
$ apt-get upgrade -y
$ cd /home/workspace/catkin_ws/src
$ git clone https://github.com/udacity/RoboND-EKFLab
Under main/launch, edit the main.launch file:
Delete this: <node pkg="rviz" type="rviz" name="rviz" args="-d /home/workspace/catkin_ws/src/EKFLab.rviz"/>
Replace with: <node pkg="rviz" type="rviz" name="rviz" args="-d /home/workspace/catkin_ws/src/RoboND-EKFLab/EKFLab.rviz"/>
$ cd /home/workspace/catkin_ws/
$ source devel/setup.bash
$ rosdep -i install turtlebot_gazebo
$ rosdep -i install turtlebot_teleop
$ catkin_make
$ source devel/setup.bash
$ roslaunch main main.launch
Now, you should see Gazebo and rviz launching. Please note that Gazebo might take up to 3 min to launch!
In the terminal, use the keyboard commands(u-i-o-j-k-l-m-,-.) and drive the robot around. The red
trajectory represents the Odom path
whereas the green
trajectory represents the EKF path
.