Brown University Robotics:Cs148 Course Development Book

From Brown University Robotics

Jump to: navigation, search

Teaching Autonomous Robotics using Player and ROS

This textbook is in development. Current LaTeX source for the book can be checked out from the RLAB repository. Our most current information for using ROS can be found on the CS 148 missive.



CS148: Building Intelligent Robots is an introduction to fundamental topics in autonomous robot control. This course focuses on the development of "brains" for robots. That is, given a machine with sensing, actuation, and computation, how do we develop programs that allow the machine to function autonomously? The course development book is meant to be a resource for anyone interested in teaching a similar undergraduate robotics course or for robot hobbyists who want to get up and running with both a robot hardware and software platform. CS148 projects center on a "robot soccer" task, where students program the Brown iRobot Create/ASUS robots using either the Player/Stage/Gazebo (PSG) or the Robot Operating System (ROS) middleware framework.

Draft Table of Contents

The following outlines each of the chapters in the book:

Chapter 1: Course Objectives - An introduction to the course, a motivation for robotics, the concepts taught and 148 projects.

Chapter 2: Getting Started - The steps for assembling and remotely controlling a low-cost mobile robot, which we call the "SmURV", from "commercial off-the-shelf" (COTS) components.

Chapter 3: Robot Middleware - Introductions to Player and ROS, two middleware packages that provide an abstraction between the hardware and the robot client. This chapter walks through the steps of writing a simple client application in both middleware systems.

Chapter 4: Create Spotting - The first project for students to become familiar with the Create hardware functionality and introduce/highlight the importance of scientific writing.

Chapter 5: Enclosure Escape - This project acquaints students with writing robot clients that control basic planar movement using either Player or ROS. The students are tasked with implementing either a reactive or deliberative robot control policy to escape from an arbitrary static enclosure.

Chapter 6: Object Seeking - In this project, students extend the basic control client to perform an object seeking task by recognizing and driving towards a set of objects in a continual fashion. Students use a USB webcam with the SmURV platform to perform color blobfinding for recognizing objects.

Chapter 7: Path Planning - Given a map of the field and an overhead camera view of the robots, students are to develop a deliberative planning-based robot client for visiting specific locations and pushing a ball into a goal.

Chapter 8: Localization - Without an external localization system, students are to develop an autonomous robot controller using only on-board sensing and perception.

Chapter 9: Subsumption - This project entails writing a robot controller that does not rely upon any state variables or history; rather the controller should simply react to what is sensed at the current time instance to make a decision that

Chapter 10: Multi-Robot Coordination - Given a team of Create robot platforms, students are to develop a competitive multi-robot strategy and individual controllers.

Chapter 11: Learning - For this project, students should guide a fixed learning algorithm to play a control policy without explicit programming.

This page was last modified on 25 September 2010, at 21:54. This page has been accessed 1,035 times.