ArticlePDF Available

A One-Year Introductory Robotics Curriculum for Computer Science Upperclassmen


Abstract and Figures

This paper describes a one-year introductory robotics course sequence focusing on computational aspects of robotics for third- and fourth-year students. The key challenges this curriculum addresses are scalability, i.e., how to teach a robotics class with a limited amount of hardware to a large audience,student assessment, i.e., how to assess the students' success on robotic design and programming assignments, and depth versus breadth, i.e., how to down-select content from the interdisciplinary field of robotics to computer science students. This is achieved by combining simulation-based laboratory assignments, which can be conducted anywhere and anytime, with compatible hardware devices that allow a seamless transition from simulation to real hardware, and a focus on performance-based assessment with an open-ended final project/competition. Content learning and retention is assessed for a subset of students who successfully went through the proposed curriculum. All class materials as well as hardware-in particular, a low-cost, highly articulated robotic arm developed for teaching advanced robotics concepts-are open-source and available online.
Content may be subject to copyright.
A One-Year Introductory Robotics Curriculum for
Computer Science Upperclassmen
Nikolaus Correll, Member, IEEE, Rowan Wing and David Coleman, Member, IEEE
Abstract—This paper describes a one-year introductory
robotics course sequence focusing on computational aspects of
robotics for third- and fourth-year students. The key challenges
this curriculum addresses are scalability, i.e., how to teach a
robotics class with a limited amount of hardware to a large
audience, student assessment, i.e., how to assess the students’
success on robotic design and programming assignments, and
depth vs. breadth, i.e., how to down-select content from the inter-
disciplinary field of robotics to computer science students. This is
achieved by combining simulation-based laboratory assignments,
which can be conducted anywhere and anytime, with compatible
hardware devices that allow a seamless transition from simulation
to real hardware, and a focus on performance-based assessment
with an open-ended final project / competition. Content learning
and retention is assessed for a subset of students who successfully
went through the proposed curriculum. All class materials as well
as hardware, in particular a low-cost, highly articulated robotic
arm developed for teaching advanced robotics concepts, are open-
source and available online.
Robots are computers that are extended by sensing, actua-
tion, and communication capabilities. Similarly, devices that
were previously limited to actuation or sensing alone, such as
vacuum cleaners, lawnmowers, cars or everyday gadgets and
household appliances are moving towards becoming robots by
increasing their sensing and computation capabilities, eventu-
ally leading to a paradigm shift from “Personal Computers” to
“Personal Robots” [1]. This viewpoint positions “robotics” not
as a new discipline, but as an extension of computer science
and its sub-disciplines including artificial intelligence, natural
language processing, computer vision, software engineering,
security, and human-computer interaction, among others.
The key challenges of a robotic system — both from an
educational and a research perspective — are (1) that the
dynamics and uncertainty of the real world require a shift from
deterministic to probabilistic reasoning, and (2) that robots are
systems-of-systems often consisting of hundreds of distributed,
heterogeneous computing elements. While these challenges
might require curriculum updates to almost all computer
science sub-disciplines in the long run, specific “robotics”
classes are needed that focus on the interface between the
computational and physical world and let students experience
real world dynamics, uncertainty, and complexity first-hand.
Teaching such a class poses considerable obstacles, which
this paper identifies and addresses: (1) Scalability. Classes that
involve complex robotic systems, i.e., those that go beyond
simple toy platforms and involve processing of rich sensor
All authors are with the Department of Computer Science, University of
Colorado at Boulder, 80309 USA e-mail:
information with reasonable computational power, are difficult
to scale. Acquiring, maintaining, and explaining the hardware
becomes a bottleneck, which limits class size at those few
institutions that can afford a number of complex robotic
systems. (2) Assessment. Only a subset of the course material
of a robotics curriculum can be assessed conceptually or
mathematically. Demonstrating a thorough understanding of
an algorithm requires implementation. Unlike purely compu-
tational algorithms, which can be assessed automatically using
test-input, authentic assessment scenarios are difficult to create
for a robotics class. (3) Complexity. Robotic systems require
a large number of independent modules (vision, locomotion,
planning, etc.) to function. As it is not possible to teach all of
the required background comprehensively in one class, finding
the right trade-off between providing ready-made modules,
and offering students the possibility to explore the basics of
the respective fields while ensuring some deep learning, is a
challenging problem.
This paper describes a two-semester robotics course de-
signed for upperclassmen, which addresses the issues of
scalability, assessment, and complexity. All teaching materials,
including transcripts of lectures, screencasts, software, and
hardware models are available online1.
A. Related Work
There exists a series of scholarly-assessed robotics cur-
ricula at the high school [2], freshmen/sophomore [3]–[6]
and undergraduate degrees/minor levels [7]–[10]. A challenge
commonly addressed in robotics education is how to blend
electrical and mechanical engineering contents with computer
science [11]–[13]. The work described here proposes a cur-
riculum at the upperclassmen level that makes electrical and
mechanical engineering aspects of robotics transparent and
exclusively focuses on computational challenges, in a similar
fashion to that of [8]. Like other classes, this curriculum takes
advantage of the benefits of a practice-integrated curriculum
[3], integrating competition as a driver for deep learning [8],
[14]–[17], and performance-based assessment, which measures
student learning through hands-on, product-centered tasks
There exists also a series of textbooks providing an outline
for one- and two-semester courses. Most available resources
address specific topics at the graduate level, for example
kinematics and dynamics [19], [20], motion planning [21],
[22], or probabilistic localization and mapping [23]. At least
two textbooks specifically address broader computational prin-
ciples [24], [25], but are limited to high-level content for the
sake of providing as broad an overview of the field as possible,
and thus are not suitable for undergraduates. Literature at the
lower undergraduate level, e.g., [26], however, mostly focuses
on simple behavioral robotics as well as foundations of mecha-
tronic systems and does not touch on deeper computational
The work described here, together with teaching materials
provided online, specifically addresses computer science up-
perclassmen and bridges the gap between freshmen/sophomore
and graduate courses.
Fig. 1. Real and simulated instantiations of the “Ratslife” environment
designed by Cyberbotics S.A. Two e-Puck robots compete on reaching four
chargers in the environment. Whereas simple wall-following might solve the
game, optimal solutions require simultaneous localization and mapping as
well as strategic planning.
The first semester of the course focuses on kinematics
of wheeled robots and their localization and navigation in
unknown environments, and is similar in style to [8]. The
lecture starts from first principles and Bayes’ rule and leads
to the Extended Kalman Filter (EKF) and EKF-based Simul-
taneous Localization and Mapping (SLAM), two of the break-
through results in control theory and AI of the last century.
The curriculum is motivated by a robotic maze competition
“Ratslife”2[27] developed by Cyberbotics S.A., in which two
robots compete over recharging at four charging stations that
are hidden in a maze. The chargers provide enough energy
for the robot to continue for another 90 seconds, but require
120 seconds to recharge. The contest therefore encourages a
strategy of mapping the chargers and systematically moving
back and forth between them. This process is facilitated by
48 unique markers on the walls of the environment that can
be recognized with basic image processing techniques. The
real-world environment, Fig. 1, is made from LEGO R
(instructions available online) and requires two e-Puck robots
[28]. The e-Puck is equipped with two stepper motors in
a differential drive configuration, and an array of infrared
distance sensors, a camera, and a Bluetooth connection. (Ad-
ditional sensors and actuators are accelerometer, microphones
and speakers.) This configuration allows for instruction in
basic robotic concepts ranging from odometry, to collision
avoidance to EKF-based SLAM using visual markers.
The e-Puck can be programmed using the Webots simulated
environment, Fig. 1, via cross-compilation or using the remote
controlled option. In the latter case, all sensor readings, includ-
ing camera, odometry and distance sensors, are transferred to
the simulator via Bluetooth. In turn, all actuator commands
are sent from the simulator to the e-Puck robot. This allows
students to drive the robot using the computational capabilities
of a desktop machine, which is important when doing image
processing and SLAM, and to hot-swap simulated and real
robots. For example, students can design an experiment to
collect odometry data, collect the data in simulation for a large
number of trials, and then verify the observed behavior using
a few trials involving a real robot without changing any code.
The class meets twice a week, once for a lecture (75
minutes) and once for a lab session (150 minutes). Whereas
lectures involve the entire class, labs are offered at multiple
times to keep group sizes to a maximum of 20 students,
which can be supported by a single TA. A mid-term exam
replaces one lecture in the middle of the curriculum. During
the lectures, students are exposed to the theoretical basis for
the core algorithms of the course. The necessary mathematics
are presented within a conceptual context and connections are
drawn between the abstract aspects of the algorithms and the
consequences for embodied systems. The laboratory portion of
the course supports the theoretical topics of the lectures and
provides a hands-on opportunity for implementation. Students
are encouraged to work cooperatively to transfer their knowl-
edge between theory, simulation, and ultimately the physical
robotic system.
The course content is divided into three primary compo-
nents, each lasting approximately a month. The first part of
the course introduces students to the background they need
for the remainder of the semester. Students are introduced to
the field of robotics and the variability of current research
and applications. They learn the basics of kinematics, loco-
motion, familiarize themselves with the Webots simulation
environment, and begin to plan how they will approach the
Ratslife maze task. During the second part of the course, they
get deeper into the details of sensing and actuation. Students
experiment with different forms of sensing, including distance
sensors, odometry, and vision, and how each may be used to
facilitate movement and localization within an environment.
The third part of the course exposes them to more advanced
topics involved in robot navigation. Students experiment with
how error propagation can be quantized and contained using
Kalman filtering and SLAM. The remaining few weeks of
the course are devoted to integrating and assessing concepts
learned. Students form teams and develop a comprehensive
controller for the Ratslife maze and participate in debates on
various aspects of robotics.
During the first component, mathematical concepts are
solidified using written homework assignments. The primary
deliverable from the lab is a systematic measurement and
histogram of the odometry error with respect to translation
(moving straight for 10cm) and rotation (turning by 90 degrees
and moving straight) of the simulated and actual e-Puck. Labo-
ratory assignments are initially scaffolded, and the students are
supported through the use of prefabricated environments. As
students become more comfortable, these supports are slowly
removed and students are prepared for the next component of
the course.
The deliverables during the second part of the course are
implementations of topics discussed in class. First, students
will implement a simple path planning algorithm such as
Dijkstra’s or A* on the Ratslife grid, using a simulated GPS
node that provides accurate positioning information — an
instance of providing scaffolding to the task. Second, students
will create a controller that allows for obstacle avoidance
behavior. Necessary concepts including proximal (Braitenberg-
style) and distal (rule-based) controllers are explicitly provided
in the instructions for the lab. The function of both controllers
is verified by the TA, but can also be assessed by experimental
data collected by the students, e.g., the average time spent in
collision avoidance for proximal and distal controllers in a
distance learning setting. The third lab consists of exploring
various filters for smoothing and edge detection, as well as
a rule-based algorithm to detect patterns using the (simu-
lated) camera of the E-Puck robot. The algorithm, already
implemented in the basic controller that is provided to the
students, filters images in the environment for colors. The
lab’s deliverable comprises systematic measurements of range
and bearing estimates of three or more features. Here, range
is proportional to the width of the feature, whereas bearing
is proportional to its slope. An additional homework requires
the students to reason about the differences between ultrasound
(time of flight), infrared (intensity), and laser scanners (phase
shift), as well as identifying various convolution Kernels.
The last lab for this section of the course consists of an
implementation of a simplified line fitting algorithm using
three of the infrared distance sensors of the e-Puck robot and
a least-squares solution.
During the third component of the course, students formal-
ize their observations made on basic sensing and actuation,
using Bayes rule and the Gaussian distribution. They begin
by developing a mathematical understanding of error prop-
agation and then move on to methods for controlling this
propagation, eventually leading to the Kalman Filter and EKF-
based SLAM. Although both of these topics would warrant a
class on their own, e.g., based on [23], complexity is reduced
by constructing the EKF solution from the error propagation
concepts already derived for odometry, line fitting and feature
detection. EKF-based SLAM is then derived by treating the
positions of features as additional variables in the EKF.
The deliverables for the third component are a homework
that lets students derive error propagation for simple examples
with and without integrating previous error and a lab in which
students apply error propagation to odometry based on the data
collected in previous labs. To properly implement the Kalman
filter or SLAM from scratch is a multi-week project and is
not required in this class. Instead, students are provided with
a MATLAB implementation of the Kalman filter that they can
explore and include in their final project.
The final project gives students an opportunity to share what
they have learned with the other students and engage in a
competition with each other. During the final few weeks in
the laboratory section, students form into groups and each
group collaborates on a single controller for the Ratslife maze.
This final project gives students an opportunity to revisit each
element of the course and synthesize their knowledge. The
final day of laboratory is a competition between the controllers
developed by the groups, both in the simulated Webots world
and on the real-world e-Puck in a Lego maze. The difference
in performance on these two platforms helps to highlight the
challenges inherent in embodied robotics. The students are also
required to present and defend their design choice and reflect
on the performance of their controller on the two platforms
during the competition.
The last two weeks of lectures are devoted to class de-
bates. Student teams prepare pro and contra arguments for
a statement of current technical or societal concern. Sample
topics include Robots putting humans out of work is a risk
that needs to be mitigated;Robots should not have the
capability to autonomously discharge weapons / drive around
in cities (autonomous cars); or Robots need to be made from
components other than links, joints, and gears in order to
reach the agility of people. The students are instructed to
make as much use as possible of technical arguments that are
grounded in the course materials and in additional literature
researched by the students. For example, students can use
the inherent uncertainty of sensors to argue for or against
enabling robots to use deadly weapons. Similarly, students
relate the importance and impact of current developments in
robotics to earlier inventions that led to industrialization, when
considering the risk of robots putting humans out of work.
The second semester of the course shifts the focus from mo-
bility to manipulation and systematically extends the concepts
taught in the first semester. Students are exposed to state-of-
the-art search and path-finding algorithms such as Rapidly-
exploring Random Trees (RRT), computationally more effi-
cient solutions to the SLAM problem (Graph-based SLAM),
advanced feature recognition algorithms such as SIFT and
SURF, and feature recognition in 3D point clouds. Students
will work on projects addressing a grand challenge application
in robotics using a 7-DOF arm that closely models the software
tool-chain of state-of-the-art platforms such as the PR2 robot
and that allows seamless transition to the ClamArm3, an open-
source dexterous manipulator developed by previous iterations
of the Advanced Robotics class, Fig. 2. Students not only
obtain an overview of advanced computer science topics in
robotics, but also become prepared for industry challenges
that make use of similar tools. Instead of an exam, emphasis is
put on the ability to transfer expert knowledge acquired during
project work to the rest of the class, via weekly design reviews
and a conference paper-style final report. Sample projects that
can be worked on by multiple iterations of the class include
a team of robots implementing gardening tasks [29] or robots
assembling other robots from “Cubelets” [30].
The class meets for 50 minutes three times a week. Meetings
are divided into a lecture, design review, and lab. In this
format, a class supports up to 20 students without the need
for additional lab sessions. Design reviews are substituted for
labs for the first few weeks to get students up to speed with
the Robot Operating System (ROS). Unlike “Introduction to
Robotics”, the advanced class is open to graduate students
Fig. 2. Left: The “ClamArm” designed by students of the “Advanced
Robotics” class over multiple iterations of the class. Right: RGB-D sensor
point cloud super-imposed on 3D model of the arm (bottom inset) in Rviz.
who will need to prepare for each lecture using the online
materials from the intro class. Consequently, lectures follow
the structure of “Introduction to Robotics” and systematically
complement its content.
The lectures begin by complementing the simple forward
kinematics of differential drive systems with Ackerman steer-
ing following the treatment by [22], and formalizes the treat-
ment of multi-link manipulators using the Denavit-Hartenberg
Scheme, following [19]. Building up on inverse kinematics of
two-link mechanisms, the class introduces inverse kinematics
of multi-link arms using analytical techniques for a three-link
arm following an example from [19] and then introduces the
velocity Jacobian, leading to the damped least-square method
for numerical solutions. Dijkstra’s algorithm and A* are com-
plemented by sampling-based planners ranging from RRT to
PRM, highlighting implementation-relevant issues following
[31]. Simple convolution-based preprocessing methods and
simple feature detection algorithms known from the intro class
are used as a segue to explain scale-invariant feature trans-
forms including SIFT [32] and SURF [33]. These algorithms
can provide robust features for both Iterative Close Point (ICP)
matching and RGB-D SLAM, which is explained following
the outline provided in [34] and extends simple line-fitting
algorithms from the “Introduction to Robotics” class as well
as generalizing the feature-based EKF-based approach used in
Ratslife. SIFT features are also used to motivate Visual Servo-
ing, following the tutorial in [35], and provide further insight
into velocity Jacobians. Grasping is then introduced, building
up from Coulomb’s friction law to develop the concept of
task-relevant wrench spaces following [36] and [37]. The EKF-
based SLAM method from the intro class is now contrasted
with Graph-based SLAM, which is particularly relevant for
the previously introduced RGB-D SLAM [34]. Based on [38],
Graph-based SLAM is formulated as a maximum-likelihood
estimation problem and various numerical solution methods
[39], [40] are discussed. Here, the spring-mass analogy with
stiffer spring constants corresponding to observations with
lower variance is very helpful.
Lectures are concluded with a tutorial on how to write a
research paper, which re-iterates the scientific method and
the experimental approach that the students were prepared for
throughout the labs, and a review of statistical significance
tests, focusing on the χ2-test (for testing whether a distribution
is Gaussian), Student’s t-test (for comparing two Gaussian
distributions), the Wilcoxon-Ranked Sum test (for comparing
two non-parametric distributions), and testing statistical sig-
nificance of true-false tests using Fisher’s “Lady tasting tea
example” [41].
Class deliverables consist of design reviews and lab reports.
Design reviews are solicited from a subset of the student
groups one week in advance; these consist of 10-20 minute
long presentations on their current work and plans. Students
are encouraged to explain and justify the methods they are
using in order to provide an additional learning experience for
the rest of the class [29]. Three multi-week lab assignments are
geared toward preparing the students to work with ROS, the
visualization (RViz) and simulation (Gazebo) environments,
and to perform systematic experiments. First, students com-
plete a tutorial on ROS message passing and are asked to
conduct experiments to measure the average time of message
passing and service execution. This lab not only requires the
students to obtain a certain level of proficiency with the ROS
environment, but also motivates them to conduct systematic
experimentation, as the message passing time turns out to be
log-normal distributed. A second lab introduces the OMPL
planning framework that is used within ROS. Students will
need to provide the average time it takes to calculate a path as
well as its average length using a manipulation task involving a
simulated PR2 robot. The final lab consists of WillowGarage’s
table-top manipulation tutorial, which requires the students
to work through a complete perception-action loop, starting
from ICP matching of objects from point-cloud data, to
path-planning, to a pre-stored grasp routine if the object is
recognized, or executing a grasp heuristic otherwise. The final
deliverable for this lab is a flow-chart illustrating the inter-
relation of the different components.
In lieu of a final exam, students present their (group) project
during the last week of class and hand in a written report
in IEEE double-column format. Grading of the project is
treated much like a review of a research paper, emphasizing a
clear description of the work actually being done and sound
experimental validation of claims made. As not all projects
lend themselves to hypothesis-based research, students also
have the option to provide a final report in tutorial or survey
The results presented here include an assessment of learning
and of the retention of specific topics in both classes, as well
as the efficiency of class debates.
A. Learning and Retention
For both classes, the students were surveyed using ten
questions in the form of “one-answer-per-row” matrices. The
test was administered half a year after the final exam. Each
matrix surveyed the students’ subjective perception of their
confidence level with respect to a certain topic “Before class”,
After class” and, for the introductory course, “Now” (row
Topic Before After +6M
Forward kinematics using
basic trigonometry
1.3±60% 3 ±33% 2.6±53%
Dijkstra and A* search 1.9±78% 3.3±12% 3.1±12%
Bayes’ rule 0.8±99% 2.6±20% 2.2±33%
Convolution 0.6±145% 2.3±38% 2 ±67%
Error propagation 0.9±83% 2.5±14% 2.2±30%
Kalman Filter 0.1±90% 2 ±39% 1.6±44%
Localization and Mapping
0.1±152% 2.3±34% 1.85 ±53%
Markov Localization 0.14 ±86% 2.1±22% 1.5±54%
Inverse kinematics of sim-
ple mechanisms
0.9±94% 3 ±18% 2.5±25%
Programming in Java 2.19 ±81% 3.1±15% 3 ±14%
CL ASS .N= 21.
labels), choosing from “Nothing”, “Close to nothing”, “Get
basic idea”, “Confident” and “Very confident” (column labels).
This format allowed the students to directly compare their
responses. The test was anonymous.
The intro class survey consists of 35 undergraduate students,
31 male and four female, 27 of whom are majoring in
Computer Science, three in Aerospace Engineering, two in
Mathematics, one in Applied Math, one in Physics, and one
in Engineering Physics. 21 students responded to the survey
after three solicitations. The advanced class survey consists of
14 students, six of whom are undergraduate students, and eight
of whom are first-year Master’s and Ph.D. students. Three of
the undergraduates are B.S. Computer Science students, one
Physics, one Math and one Electrical Engineering. Five of
the undergraduates have also taken the intro class a semester
earlier. Seven graduate students are Computer Science stu-
dents, one is an Electrical Engineering student. Ten students
responded to the survey after three solicitations.
Specific topics as well as results for confidence on a scale
from 0-4 (“Nothing” to “Very Confident”) before the class,
after the class and, for the intro class, half a year after the
final exam are shown in Tables I and II. Values represent the
mean and the relative variance (variance/mean). No statistical
test was performed because the distributions are independent
due to test design (students ranked their confidence levels for
a specific topic within a single questionnaire).
For both classes, subjective confidence consistently in-
creases from “before” to “after” class and exceeds “get basic
idea” for all topics in both classes for topics that students knew
“Nothing” or “close to nothing” about. The relative variance
can be understood as a measure of knowledge diversity in
class. For all topics and both classes, relative variance de-
creases from “Before” to ”After”, suggesting students arriving
at a common ground. Subjective retention after six months
(only surveyed for the intro class) remains above “before”
levels for all topics, but consistently decreases from the level
perceived right after class. A consistent increase of relative
variance suggests a diversification of students into those who
retain the knowledge, perhaps because they remained actively
engaged in the subject matter, and those who feel that they
Topic Before After
Forward kinematics of manipulating arms 1.2±147% 2.8±13%
Inverse kinematics of robotic arms 1.1±117% 2.6±9%
Sampling-based motion planning 1.1±117% 2.6±9%
Scale-invariant feature transformations 0.9±77% 2.2±25%
Iterative Closest Point (ICP) and RGB-D
0.5±90% 2.3±27%
Visual Servoing 0.5±90% 2.1±23%
Grasping 0.6±73% 2.1±14%
Graph-based SLAM 1±80% 2.1±14%
How to write a Research Paper 2.2±35% 2.7±15%
Statistical Significance Tests 1.8±53% 2.4±18%
have begun to forget content.
B. Class Debates
In the intro class, two full lectures were reserved for class
debates. This section presents representative results, taken
from Fall 2010, of the perception of the students of the
debate format. Students were asked to respond to a series of
statements using the terms “Strongly disagree”, “Disagree”,
“Neutral”, “Agree” and “Strongly Agree”. Two solicitations
via email led to a response rate of 18/26 or around 70%.
The questions were targeted at shedding light on three specific
aspects: relevance of debates for the engineering profession,
learning experience, and overall format. Results are summa-
rized in Table III.
While there is agreement that debates help to prepare stu-
dents for the engineering profession by improving presentation
skills, preparing engineers to think about questions posed by
society, and reflecting up-to-date topics, the debates seem to
have little effect on changing the students’ actual opinions on
a topic (only two students responded positively). Students are
also undecided about whether the debates helped them to better
understand the technical content of the class. Yet students find
the debate concept important enought that they would like to
keep it rather than a more in-depth treatment of the technical
content of the class, and disagree that debates should be given
less time in class. However, students are undecided whether
debates are important enough to merit early inclusion in the
curriculum or to be part of every class.
Concerning the overall format, students find that discussion
time was too short when allotting 10 minutes per position and
15 minutes for discussion and rebuttal. Also, students tend to
agree that debates are an opportunity to decompress (“relax-
ing”), which is desirable as this period of class coincides with
wrapping up the course project.
Although drastically facilitating the preparation of the class
and increasing its scalability when compared with shared-
platform courses such as [7], [8], [29], working with sim-
ulation tools is not without challenges. Changes to the IT
infrastructure that are beyond the control of the instructor, or
updates of related software, e.g., the Linux operating system or
Statement strongly disagree disagree neutral agree strongly agree
Help me to improve my presentation skills 0.0% 5.9% 41.2% 47.1% 5.9%
Prepare me for questions that engineers face
from society
0.0% 16.7% 11.1% 55.6% 16.7%
Fundamentally changed my opinion on a topic 11.8% 23.5% 52.9% 11.8% 0.0%
Are relaxing 0.0% 27.8% 27.8% 38.9% 5.6%
Let me better understand the technical content
of the class
11.1% 16.7% 44.4% 27.8% 0.0%
Should be part of every class / introduced early
in the curriculum
0.0% 29.4% 41.2% 23.5% 5.9%
Should be replaced by a more in-depth treatment
of the technical content
5.9% 35.3% 35.3% 11.8% 11.8%
Should take less time 11.1% 27.8% 44.4% 5.6% 11.1%
Should allow for more discussion 0.0% 11.1% 27.8% 55.6% 5.6%
Reflect up-to-date issues in research and society 0.0% 11.8% 17.6% 29.4% 41.2%
general purpose software libraries that the class environment
depends on, have drastically lowered the efficiency of the tools
in every iteration of the class in one way or another. Providing
the students with a virtual machine on which all the required
software is installed, has somewhat alleviated those problems,
but for a few students whose hardware was not sufficiently
capable or compatible, issues remain. For example, missing
hardware acceleration for graphics, and problems with USB
connections to connect to the real platforms via the virtual
machine, were recurrent problems for some.
Performance-based assessment has put the burden on the
students to produce evidence of their having accomplished the
curricular goals. Having the students present systematically
collected experimental data instead of simply demonstrating
code or solving analytical problems, does not only allow
the teacher to quickly assess the students’ performance, but
also requires the students to master a systems problem that
ranges from understanding and implementing the math to
dealing with the (simulated) challenges of real sensors and
actuators including noise, bandwidth, and range. This form of
assessment therefore not only allows students to demonstrate
a broader volume of content knowledge, but also forces them
to make connections between ideas and place their learning in
context. Performance-based assessments also have the added
benefit of providing richer information to the teacher on the
learning needs of the students. As a result they are an excellent
formative as well as summative assessment, which allows both
instructor and TA to address specific challenges in a just-in-
time fashion.
The complexity of the topics remains a major challenge. The
majority of the students are “confident” or “very confident”
only in the most basic topics, but in complex topics such
as the EKF and EKF-based SLAM they only “get the basic
idea” or are “confident”. This poses the question whether a
curriculum should forgo these topics altogether for the sake of
making students “very confident” in basic topics. The authors
believe, however, that “getting the basic idea” is an important
step in preparing the students for an informed choice on
whether to pursue graduate-level work in these topics, while
also providing an opportunity for more advanced students to
master the topic by embracing the open-ended competition
challenge, which was consistently observed by the instructors
for one or two students per class.
Having to present in class, hearing and arguing about a
position completely opposite to one’s own, and thinking about
the broader impact of science and technology are important
skills that should be encouraged early on. These benefits
are understandable as such by a majority of the students.
A drawback of the debates in their current form is their
lack of technical depth. This lack of depth might make them
expendable in a course with already compressed content, given
the lack of time and the rather limited contribution of the
debates to the understanding of the course work. A potential
remedy could be to add more structure to the assignment by
providing one or two key papers for each topic that provide
technical content to support one argument or the other, as
well as pointing out relevant lecture slides that debaters should
recall to the class to support a specific argument.
The focus on simulation and tools that facilitate transfer
from simulation to real hardware allows a large number
of students to be reached with limited hardware resources.
Making experimentation on hardware contingent on successful
completion of simulation experiments also dramatically lowers
the burden of verifying systems implemented by the students.
Together, these features allow easy scaling of the class for
a large number of students, and might facilitate a distance
learning environment in which the bottleneck is coming to
campus. In this way, robotics education can become more
accessible for rural communities and low-budget programs.
Both parts of the class utilize performance-based assess-
ment, consisting of labs, final projects and, in the intro
class, debates, to measure student achievement. The laboratory
deliverables provide the teacher with clear snapshots of student
understanding throughout the class. This formative assessment
allows the teacher to differentiate instruction to address areas
of weakness in student understanding. By using the task
itself to naturally point out areas of incomplete understanding,
students have the opportunity to fortify their learning in these
areas. This leads not only to higher success rates in the course,
but also to a high level of learning and retention.
Because it is comprehensive in nature, the proposed cur-
riculum contains content that cannot possibly be understood
deeply by the entire student population. This is mitigated by
providing the students with open-ended problems in the form
of a competition / final project, which provide an opportunity
for deep learning to those that have the time and interest. Yet, it
remains debatable, whether to “get the basic idea” is sufficient,
or whether this time should have been spent to produce more
“very confident” students in basic topics. This paper defends
the position that robotics is a systems science that requires the
engineer to understand the basic ideas of every (computational)
component of a robot as well as its limitations. Therefore,
a broad foundation, such as that provided by the proposed
curriculum at the undergraduate level, is helpful in providing
the context for follow-up graduate-level classes focusing on
dynamics, probabilistic robotics, or computer vision.
This work has been supported by NSF award #1150223 and
the Engineering Excellence Fund of the University of Colorado
at Boulder. We are grateful for this support.
[1] D. Rus, “Teaching robotics everywhere,” IEEE Robotics & Automation
Magazine, vol. 13, no. 1, pp. 15–94, 2006.
[2] N. Ayanian, J. Keller, D. Cappelleri, and V. Kumar, “Development of a
successful open-ended robotics desing course at the high school level,
ASEE Computers in Education Journal, vol. 1, no. 3, pp. 21–31, 2010.
[3] M. Yim, K. Kuchenbecker, J. Bassani, P. Arratia, V. Kumar, J. Fiene, and
J. Lukes, “A practice-integrated undergradate curriculum in mechanical
engineering,” in Proc. of ASEE Conference and Expo, Pittsburgh, June
2008, paper AC 2008-2230.
[4] D. Spencer and N. Jaksic, “A multidisciplinary robotics learning environ-
ment: what mindstorms and DARPA urban challenge have in common,”
ASEE Computers in Education Journal, vol. 1, no. 3, pp. 32–40, 2010.
[5] C. Berry, “Mobile robotics: A tool for application-based integration of
multidisciplinary undergraduate concepts and research,” ASEE Comput-
ers in Education Journal, vol. 1, no. 3, pp. 67–80, 2010.
[6] D. Cappelleri, “A novel lab and project-based learning introductory
robotics course,” ASEE Computers in Education Journal, vol. 1, no. 3,
pp. 81–91, 2010.
[7] A. Soto, P. Espinace, and R. Mitnik, “A mobile robotics course for un-
dergraduate students in computer science,” in IEEE 3rd Latin American
Robotics Symposium, October, pp. 187–192.
[8] J.-F. Lalonde, C. Bartley, and I. Nourbakhsh, in Int. Conf. on Robotics
and Automation (ICRA), May 2006, pp. 345–350.
[9] M. Boutell, C. Berry, D. Fisher, and S. Chenoweth, “A multidisciplinary
robotics minor,ASEE Computers in Education Journal, vol. 1, no. 3,
pp. 102–111, 2010.
[10] T. Padir, M. Gennert, G. Fischer, W. Michalson, and E. Cobb, “Imple-
mentation of an undergraduate robotics engineering curriculum,” ASEE
Computers in Education Journal, vol. 1, no. 3, pp. 92–101, 2010.
[11] S. Bruder and K. Wedeward, “Robotics in the classroom,” IEEE Robotics
and Automation Magazine, vol. 10, no. 3, pp. 25–29, 2003.
[12] K. Nagai, “Learning while doing: practical robotics education,” IEEE
Robotics and Automation Magazine, vol. 8, no. 2, pp. 39–43, 2001.
[13] J. Piepmeier, B. Bishop, and K. Knowles, “Modern robotics engineering
instruction,” IEEE Robotics and Automation Magazine, vol. 10, no. 2,
pp. 33–37, 2003.
[14] R. Murphy, “Competing for a robotics education,IEEE Robotics and
Automation Magazine, vol. 8, no. 2, pp. 44–55, 2001.
[15] P. Fiorini and D. Kragic, “Education by competition,” IEEE Robotics
and Automation Magazine, vol. 13, no. 3, p. 6, 2006.
[16] M. Chew, S. Demidenko, C. Messom, and G. Gupta, “Robotics com-
petitions in engineering education,” in Proc. of the Int. Conference on
Autonomous Robots and Agents, Wellington, NZ, February 2009, pp.
[17] J. Grimes and J. Seng, “Robotics competition: Providing structure,
flexibility and an extensive learning experience,” in Proc. Conf. Frontiers
in Education, Saratoga Springs, NY, October 2008, session F4C.
[18] R. Linn, E. Baker, and S. Dubar, “Complex, performance-based as-
sessment: Expectations and validation criteria,Educational Researcher,
no. 8, pp. 15–21, 1991.
[19] J. Craig, Introduction to Robotics: Mechanics and Control, 3rd ed.
Prentice Hall, 2004.
[20] M. Spong, S. Hutchinson, and M. Vidyasagar, Robot Modeling and
Control, 1st ed. Wiley, 2005.
[21] H. Choset, K. Lynch, S. Hutchinson, G. Kantor, W. Burgard, L. Kavraki,
and S. Thrun, Principles of Robot Motion: Theory, Algorithms, and
Implementations. Bradford, 2005.
[22] S. LaValle, Planning Algorithms. Cambridge University Press, 2006.
[23] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics. The MIT
Press, 2005.
[24] R. Siegwart, I. Nourbakhsh, and D. Scaramuzza, Introduction to Au-
tonomous Mobile Robots, 2nd ed. The MIT Press, 2011.
[25] G. Dudek and M. Jenkin, Computational Principles of Mobile Robotics,
2nd ed. Cambridge University Press, 2010.
[26] M. Mataric, The Robotics Primer. The MIT Press, 2007.
[27] O. Michel and F. Rohrer, “The rat’s life benchmark: competing cognitive
robots,” in Proceedings of the 8th Workshop on Performance Metrics for
Intelligent Systems (PerMIS ’08), New York, USA, 2008, pp. 43–49.
[28] F. Mondada, M. Bonani, X. Raemy, J. Pugh, C. Cianci, A. Klaptocz,
S. Magnenat, J.-C. Zufferey, D. Floriano, and A. Martinoli, “The e-puck,
a robot designed for education in engineering,” in Proceedings of the
9th Conference on Autonomous Robot Systems and Competitions, 2009,
pp. 59–65.
[29] N. Correll and D. Rus, “Peer-to-peer learning in robotics education:
Lessons from a challenge project class,” ASEE Computers in Education
Journal, vol. 1, no. 3, pp. 60–66, 2010.
[30] E. Schweikardt and M. Gross, “roBlocks: a robotic construction kit for
mathematics and science education,” in ICMI ’06 Proceedings of the 8th
international conference on Multimodal interfaces, 2006, pp. 72–75.
[31] I. Sucan and L. Kavraki, “On the implementation of single-query
sampling-based motion planners,” in IEEE International Conference on
Robotics and Automation, 2010, pp. 2005–2011.
[32] D. Lowe, “Distinctive image features from scale-invariant keypoints,”
International Journal of Computer Vision, vol. 60, no. 2, pp. 91–110,
[33] H. Bay, A. Ess, T. Tuytelaars, and L. V. Gool, “SURF: Speeded up
robust features,” Computer Vision and Image Understanding, vol. 110,
no. 3, pp. 346–359, 2008.
[34] P. Henry, M. Krainin, E. Herbst, X. Ren, and D. Fox, “RGB-D mapping:
Using depth cameras for dense 3D modeling of indoor environments,
in Proc. of International Symposium on Experimental Robotics, 2010.
[35] F. Chaumette and S. Hutchinson, “Visual servo control part I: Basic
approaches,” IEEE Robotics and Automation Magazine, vol. 13, no. 4,
pp. 82–90, 2006.
[36] A. Miller and P. Allen, “Graspit! a versatile simulator for robotic
grasping,” IEEE Robotics & Automation Magazine, vol. 11, no. 4, pp.
110–122, 2004.
[37] M. Ciocarlie, K. Hsiao, G. Jones, S. Chitta, R. Rusu, and I. Sucan, “To-
wards reliable grasping and manipulation in household environments,
in Intl. Symposium on Experimental Robotics, 2010.
[38] G. Grisetti, R. Kuemmerle, C. Stachniss, and W. Burgard, “A tutorial
on graph-based SLAM,” IEEE Intelligent Transportation Systems Mag-
azine, vol. 2, no. 4, pp. 31–43, 2010.
[39] E. Olson, J. Leonard, and S. Teller, “Fast iterative alignment of pose
graphs with poor initial estimates,” in Int. Conference on Robotics and
Automation, 2006, pp. 2262–2269.
[40] G. Grisetti, C. Stachniss, S. Grzonka, and W. Burgard, “A tree param-
eterization for efficiently computing maximum likelihood maps using
gradient descent,” in Robotics: Science and Systems, 2007.
[41] D. Basu, “Randomization analysis of experimental data: The fisher
randomization test,” Journal of the American Statistical Association,
vol. 75, no. 371, pp. 575–582, 1980.
Nikolaus Correll , M.S., 2003, Ph.D., 2007, is
an Assistant Professor in Computer Science at the
University of Colorado. He obtained his Master’s
degree in Electrical Engineering from ETH Z¨
urich, a
Ph.D. in Computer Science from EPFL and worked
as a post-doc at MIT CSAIL. Nikolaus’s research
interests are multi-robot and swarming systems. He
teaches “Introduction to Robotics” and “Advanced
Robotics” to third- and fourth-year students.
Rowan Wing Rowan Wing is a Ph.D. candidate
in Computer Science and Cognitive Neuroscience at
the University of Colorado. He obtained his Bache-
lor of Arts and Sciences from St. John’s College and
his Master’s degree in Education from the Univer-
sity of Colorado. Rowan’s research interests include
multi-agent systems and swarm cognition. Rowan
taught mathematics for 12 years at the secondary
and post-secondary level and taught the laboratory
component of “Introduction to Robotics”.
David Coleman is a Ph.D. candidate in Computer
Science at the University of Colorado. He obtained
his B.S. in Mechanical Engineering with a minor in
Computer Science at the Georgia Institute of Tech-
nology. David’s research interests include robotic
arm manipulation, grasping, perception, and neural
networks. He has been a TA for several ”Intro to
Programming” courses and assisted in preparing the
Advanced Robotics curriculum.
... Service Robots are an ideal platform for this transition as they incorporate aspects of various study fields and therefore can be used to address a broad audience. Already evolved courses like [Yim+08], [CWC13] and [Cap13] state that the most effective and fun way to acquire this kind of knowledge is a practical approach that involves interaction and experimenting along learning the theoretical concepts. Classic lectures, that separate theory from practical exercises, cannot meet this requirement as each student has to pass an individual point of understanding which cannot be forced from outside. ...
... This is also reflected by the composition of our current RoboCup@Home Team where the amount of mechatronic and computer-science students is equally distributed. Currently, we are investigating evaluation instruments such as [CWC13] to document and compare the learning quality among multiple classes and study fields. Also, we are continuing to improve the instant feedback mechanisms and want to apply the proposed methods in other lectures to continuously enhance the learning quality at our university. ...
Conference Paper
Full-text available
In this work in progress report, we illustrate how to efficiently teach a mixed skill class the foundations of ROS within one semester in a single course. The goal is to equip students with the basic knowledge and tools to join our Robocup@Home team, start a scientific project or thesis. To achieve this in a mixed skill setting we combine blended learning with gamification elements supported by a code versioning system. We believe that this approach is not only the most efficient way to teach this kind of matter but also bridges the gap between academic and industry working concepts.
... Project-based learning has been demonstrated to be effective across a wide variety of ages of students [6]- [11]. It has also been shown to be effective both in science, technology, engineering and math (STEM) fields [12]- [14] and outside of them [15], [16]. In particular, the efficacy of project-based learning has been demonstrated in computer science [12] and in computer [14] and electrical [17] engineering. ...
... It has also been shown to be effective both in science, technology, engineering and math (STEM) fields [12]- [14] and outside of them [15], [16]. In particular, the efficacy of project-based learning has been demonstrated in computer science [12] and in computer [14] and electrical [17] engineering. ...
... The increase in the use of educational robots in classrooms [14] and labs has been made possible thanks to the appearance of low or middle-cost educational robotics kits, which are mechanically easy to construct. So there exists a wide variety of robotics kits (see [15] and the references there in for a review of educational robotics kits, including cost an applications), several of them integrated with ROS [16,17] and/or using smartphones [18,19]. ...
Full-text available
Applied Science requires testbeds to carry out experiments and validate in practice the results of the application of the methods. This article presents a low-cost (35–40 euros) educational mobile robot, based on Android and Arduino, integrated with Robot Operating System (ROS), together with its application for learning and teaching in the domain of intelligent automatic control, computer vision and Machine Learning. Specifically, the practical application to visual path tracking integrated with a Fuzzy Collision Risk system, that avoids collision with obstacles ahead, is shown. Likewise, a Wi-Fi positioning system is presented, which allows identifying in which room the robot is located, based on self-collected data and Machine Learning.
... Otherwise, the use of educational robotics may lead to negative results, as reported in [19]. Correll et al. [9] propose solutions to the recognised issues related to deployment of large-scale robotics classes, such as scalability of a learning environment, or complexity of robot constructions that may prevent learning of the subject. ...
Full-text available
Modern technology-enhanced learning environments raise the need for flexible tools for analysing learning data. This dissertation presents the development of an Open Monitoring Environment, which utilises a novel data mining method for building contextualised models for observing learning processes in educational robotics classes. The results can be extended to serve monitoring and analysing learning data in different contexts through a novel Conflative Learning Environment approach.
... It has also been shown to be effective in numerous disciplines. Examples of the effective use of PBL can be found in computer science [37] and electrical [38] engineering. It has also been demonstrate to be effective in non-STEM disciplines such as management [39] and marketing [40]. ...
... It has been shown to work across multiple educational levels [19]- [24] and in numerous disciplines. Example disciplines include computer science [25] and the aerospace [26], computer [27], electrical [28], and mechanical [29] engineering disciplines. It has also been shown to be effective outside of STEM fields [30], [31]. ...
... PBL has seen extensive use due to its effectiveness across numerous ages and levels of education [5]- [10]. It has also been demonstrated to be effective in numerous disciplines, including computer science [11] and computer [12] and electrical [13] engineering. PBL has also demonstrated it efficacy outside of the STEM disciplines [14], [15]. ...
Full-text available
Contribution: The information described in this study provides a starting point for discussing an effective robotics curriculum offered by any engineering university or institute. Background: Robotics is a multidisciplinary field that includes mechanical engineering, electrical and electronic engineering, and computer science. Several universities have established departments of robotics to teach their students robotics education; however, a comprehensive curriculum to deliver robotics education has not yet been fully developed. Research Questions: What are the significant component courses offered by existing departments of robotics? Methodology: This article investigates component courses among departments of robotics through a title-based aggregation of existing courses and textual analyses. Findings: From a title-based aggregation of robotics curricula from 19 departments established by 2018, control engineering, programming, technical drawing/design, and electronic engineering/electronic circuits were found to be the core courses. From textual analyses of the curricula, robotics departments' course titles were similar to those of mechanical engineering departments.
Full-text available
Abstract— Robotics program at many Colleges has continued to become more and more popular. However, the students of the Bachelor of Technology (B.Tech.) program of robotics in the Mechanical Engineering Technology (MET) are facing three difficulties: (1) Weak fundamental knowledge related electrical engineering (EE), computer science (CS) and information technology (IT); (2) Difficulty in understanding the advanced concepts and theories of robotics; (3) Limited robotics class hours. Therefore, devising a series of appropriate robotics classes for the MET program is desirable. In order to overcome the above-mentioned problems, four project-based courses for the robotics program is devised and implemented in the Department of MET. There are three levels of robotics courses ranging from ‘introduction’, ‘application’ to ‘advanced’. A series of projects corresponding to different levels are designed and then are assigned to students. The students learn and practice the fundamental theories of robotics through projects instead of mathematical analysis. These courses have two advantages. First, the projects let the students understand the theories spontaneously and expand the given projects with these theories. Second, the goal of the proposed courses is to release the dependency on advanced algorithms and optimization. Then, the students can familiarize themselves with the principal concepts of robotics, practice the application of hardware and software, create their own innovative projects and, prepare themselves for their entries into the job market, thus supporting the central educational goal of cultivating technologists in MET.
Full-text available
We have developed an intensive, three-week summer robotics program for high school students. The program requires special teaching methods since it is offered to rising 10th through 12th grade students with diverse backgrounds, and a low student/teacher ratio to ensure all students grasp the material. We use a project-based learning approach, assigning labs, projects, and competitions specially designed to prepare students for the main element of the program, the design of a semi-autonomous robotic vehicle. The project culminates with testing of their vehicles on an obstacle course. In this paper, we report on the special teaching methods required for the course, reflect on changes that have positively and negatively affected the success of the program, and discuss results of a recent survey of former students.
Full-text available
Institute of Technology Dr. Berry is an assistant professor in the department of electrical and computer engineering at Rose-Hulman Institute of Technology. She is one of the principal investigators on the multidisciplinary educational robotics initiative and the Rose building undergraduate diversity program. Her research areas include the design and evaluation of human-robot interfaces and innovations in engineering education using active learning and mobile robotics. Abstract This paper presents the development of a mobile robotics course at the primarily undergraduate engineering school, Rose-Hulman Institute of Technology. This course is one of the final courses in the multidisciplinary educational robotics certificate program. The purpose of this course is to use the robot to provide the students with an appreciation of their discipline and how it applies to other disciplines. It is hypothesized that students will gain a more realistic model of their future workplace demographic while also learning about robotics theory and the open areas of robotics research.
Full-text available
RGB-D cameras (such as the Microsoft Kinect) are novel sensing systems that capture RGB images along with per-pixel depth information. In this paper we investigate how such cameras can be used for building dense 3D maps of indoor environments. Such maps have applications in robot navigation, manipulation, semantic mapping, and telepresence. We present RGB-D Mapping, a full 3D mapping system that utilizes a novel joint optimization algorithm combining visual features and shape-based alignment. Visual and depth information are also combined for view-based loop-closure detection, followed by pose optimization to achieve globally consistent maps. We evaluate RGB-D Mapping on two large indoor environments, and show that it effectively combines the visual and shape information available from RGB-D cameras.
Full-text available
A first generation of mobile robots able to cope with the high uncertainty of natural environments is starting to emerge. As a consequence, there is an increasing need for theoretical and practical courses that can formally teach the state of the art of the technology. This paper describes our experience teaching a mobile robotics course as part of our computer science curriculum for undergraduate students. The course has a strong experimental part, where the goal is to provide the students with a set of hand-on experiences using real mobile robots. In particular, we show how using a simple differential drive mobile platform and a low cost visual sensor, it is possible to teach the topics that are currently most relevant to the area of mobile robot programming for autonomous navigation. The course starts by illustrating low level control routines, such as locomotion, and simple behaviors, such as obstacle avoidance and target tracking in non-structured environments. Then, as the course moves to higher level tasks such as localization and mapping, the real world becomes too complex and a more structured world is needed. A structured world, called MazeWorld is then presented where we are able to illustrate high level topics using limited perception capabilities. In addition to the main parts of the class, we also describe the perception algorithms that we developed to achieve autonomous navigation in non-structured environments and in MazeWorld. Our experience indicates that the course is highly motivating for the students. They are able to reinforce several topics from the computer science curriculum and they learn the basis for advanced coursework, research, and the development of applications in robotics and related fields, such as, artificial intelligence and computer perception
This paper presents a method for extracting distinctive invariant features from images that can be used to perform reliable matching between different views of an object or scene. The features are invariant to image scale and rotation, and are shown to provide robust matching across a substantial range of affine distortion, change in 3D viewpoint, addition of noise, and change in illumination. The features are highly distinctive, in the sense that a single feature can be correctly matched with high probability against a large database of features from many images. This paper also describes an approach to using these features for object recognition. The recognition proceeds by matching individual features to a database of features from known objects using a fast nearest-neighbor algorithm, followed by a Hough transform to identify clusters belonging to a single object, and finally performing verification through least-squares solution for consistent pose parameters. This approach to recognition can robustly identify objects among clutter and occlusion while achieving near real-time performance.
This article presents a novel scale- and rotation-invariant detector and descriptor, coined SURF (Speeded-Up Robust Features). SURF approximates or even outperforms previously proposed schemes with respect to repeatability, distinctiveness, and robustness, yet can be computed and compared much faster. This is achieved by relying on integral images for image convolutions; by building on the strengths of the leading existing detectors and descriptors (specifically, using a Hessian matrix-based measure for the detector, and a distribution-based descriptor); and by simplifying these methods to the essential. This leads to a combination of novel detection, description, and matching steps. The paper encompasses a detailed description of the detector and descriptor and then explores the effects of the most important parameters. We conclude the article with SURF's application to two challenging, yet converse goals: camera calibration as a special case of image registration, and object recognition. Our experiments underline SURF's usefulness in a broad range of topics in computer vision.
This is a textbook for advanced undergraduate and graduate students in the field of mobile robotics. Emphassising computation and algorithms, the authors address a range of strategies for enabling robots to perform tasks that involve motion and behavior. The book is divided into three major sections: locomotion, sensing and reasoning. It concentrates on wheeled and legged mobile robots, but discusses a variety of other propulsion systems. Kinematic models are developed for many of the more common locomotive strategies. It presents algorithms for both visual and nonvisual sensor technologies, including sonar, vision and laser scanners. In the section on reasoning, the authors offer a thorough examination of planning and the issues related to spatial representation. They emphasize the problems of navigation, pose estimation, and autonomous exploration. The book is a comprehensive treatment of the field, offering a discussion of state-of-the art methods with illustrations of key technologies.