CSCI473/573 Human-Centered Robotics, Fall 2015 Page 1 of 3 Project 1 Learning Robot Operating System (ROS) Assigned: September 21, 2015 Due Dates: September 30, 23:59:59 Introduction In this project, the objectives are to setup the software development environment on your computer, and write a “Hello World” program using ROS. This project is an opportunity for you to get ready for the final project using the Turtlebot 2 robot and understand open-source software for robotics applications. Project 1 must be done individually, although group discussion is strongly encouraged. Task 1: Setup Development Environment (CSCI473 and CSCI573) You are required to finish the following steps: 1. Install Ubuntu 14.04.1 LST: http://old-releases.ubuntu.com/releases/14.04.0/ IMPORTANT NOTE: Please install the exact version, you may have issues if other versions of Ubuntu are installed. Note: if you don’t want a physical installation, you can use Oracle VM VirtualBox to install a virtual machine under Windows or Mac OS X. You may install by yourself or find an option of ROS Virtual Machines from: http://nootrix.com/downloads/#RosVM Figure 1. Snapshot of a working turtlesim in ROS. 2. Install ROS Indigo following: http://wiki.ros.org/indigo/Installation/Ubuntu IMPORTANT NOTE: Please install the exact ROS version! 3. Get started with ROS using the Turtlesim tool. Follow the tutorial: http://wiki.ros.org/turtlesim to play with ROS and understand how ROS works (to some extent). You are required to submit a screenshot of a working turtlesim window for grading, similar to Fig. 1. Task 2: Write a “Hello World” Program (CSCI473 and CSCI573) Go through ROS tutorial 1.1.1-1.1.13, i.e., “Beginner Level” from the beginning (1.1.1) to “Examining the simple Publisher and Subscriber” (1.1.13). The tutorial is available on the ROS website: http://wiki.ros.org/ROS/Tutorials CSCI473/573 Human-Centered Robotics, Fall 2015 Page 2 of 3 Tutorials 1.1.1-1.1.10 will be discussed in class at the concept level. You need to finish 1.1.11 (if you use C++) or 1.1.12 (if you use Python), as well as finish 1.1.13. You are required to submit a screenshot of the graph created using rqt_graph (details in 1.1.6), similar to Fig. 2. Task 3: Test the Turtlebot Simulator (CSCI573 ONLY) Finish the TurtleBot Simulation tutorial using Gazebo in ROS, following: http://learn.turtlebot.com/2015/02/01/28/ Figure 2. Snapshot of a working turtlesim in ROS. You are required to submit snapshots of (1) simulation world, (2) Simulated 3D scene, and (3) Simulated mapping result, as illustrated in Figs 3-5, respectively. Figure 3. Simulation world Figure 4. Simulated 3D scene Figure 5. Mapping simulation Submission and Grading The Project has a single due date: 23:59:59, September 30, 2015. The project report must be submitted to the Blackboard before the due time. Report Guidelines: As part of your completed project, a report is required. For students in CSCI573, your report must be formatted using LaTex and the exact 2-column IEEE conference paper format, which is available at: File styles: http://www.ieee.org/conferences_events/conferences/publishing/templates.html An example of the paper format is available: http://inside.mines.edu/~hzhang/Courses/CSCI473-573/Projects/FormatExample.pdf Students in CSCI473 are encouraged to use LaTex for report preparation, but it is not mandatory. CSCI473/573 Human-Centered Robotics, Fall 2015 Page 3 of 3 Grading: Your report will be graded as follows. CSCI473: (1). 40/100: Task 1. Include a short description of the task and the required snapshot. (2). 60/100: Task 2. Include a short description of the task and the required snapshot. (3). Additional 10 points will be added to your Project 1’s grade if you finish Task 3. This is optional. The maximum score you can receive in Project 1 is 100. CSCI573: (1). 25/100: Task 1. Include a description of the task and the required snapshot. (2). 40/100: Task 2. Include a description of the task and the required snapshot. (3). 30/100: Task 3. Include a description of the task and the required snapshots. (4). 5/100: Formatting your report using LaTex.