Project 1 Learning Robot Operating System (ROS) Introduction

advertisement
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.
Download