Syllabus • Schedule • Academic Integrity • Piazza Page

Gazebo is a high-quality robot simulator that is well integrated into ROS. We will use it for your project as well as for this assignment. A significant amount of the development you will be doing in this class will happen first under simulation, and then will be tested on the robot. The goal of this assignment is to get familiar with the Gazebo simulator, simulating both a physical robot and input from its sensors.

1: Simulate a Husky Model in an empty world in a Gazebo environment

Your first goal is to get the Gazebo simulator running with ROS. You will:
  1. Load an empty "world" (the simulated environment the simulated robot is acting in)
  2. Load a model of the Husky mobile robot into it
  3. Drive the Husky around this world, either programmatically or using manual controls
  4. Take screenshots of your husky doing things in the rviz visualizer
→  Gazebo home page
→  Gazebo tutorials (use 'Guided')
→  ROS Gazebo Page
→  Simulating the Husky in Gazebo
→  Driving a Husky

2: Add an obstacle to the Husky's world

You initially loaded an empty world for the Husky to drive around in; now add one or more objects to that world, which the husky must avoid. You will:
  1. Add an object to the Husky's world
  2. Take screenshots of your Husky in the world with the obstacle
→  Reference picture of Husky with obstacles

3: Navigate Around the Simulation

Similar to step 1.3. Navigate around the new enriched world. You will:
  1. Drive your Husky around, programmatically or manually.
  2. Store the output of the Kinect view while moving for a few seconds into a ROS bag file.
  3. Run 'rosbag info' on the resulting file.
→  Controlliong a turtlebot (which you're familiar with) in simulation
→  http://wiki.ros.org/husky_gazebo/Tutorials/Simulating%20Husky

Turn in:

The following things will be your deliverables:
  1. A writeup of the process. This should be a PDF file, 200-400 words, containing:

    • The names of anyone with whom you discussed the homework (in general terms), and a little about how/with what.
    • Approximately how much time you spent on each step of the process.
    • The thing(s) you found hardest and any errors/problems you ran into.

  2. Screenshots (PNG, GIF, or JPG)
    • 1: Two visualization(s) of the Husky navigating in an empty world
    • 2: The Husky in a world with the obstacle

  3. Your scripts and code files if any (e.g., if you are controlling the Husky programmatically).

  4. The output of your rosbag info command, as a text file.

Upload Part 1 as a PDF file named yourlastname-asst2.pdf.
Upload Parts 2-3 in a single zip file named yourlastname-asst2.zip.

Remember, file types matter!