We are using a SVN (subversion) repository for this class. Each student will get an account and will receive the credentials to access this account. For those new to repositories and in particular SVN: here is a web site that introduces the general concepts and give some examples.
Here is where you get SVN for your computer:
Here is how you use SVN for this class:
The '?' means that the folder is recognized but not under revision control yet. You do this by adding the folder (with all it's content) to the repo:
svn add assignment1
Autonomous robotic systems combine techniques and methods from many areas, such as AI, robotics, machine learning, image processing, signal processing and more. It is not possible to cover everything in only one semester. In this course we will first give an overview over common structures and components of autonomous robots. After that some topics we chose will be be discussed with more details. These lectures are only one part of the course. This course will use the Robot Operating System ROS. Programming in Python and C++ are required.
We will use the RoboCup environment to learn about the current research in this area, which will require reading and discussing papers.
Dr. Ubbo Visser
Office: Ungar Building, Room 330A
Office Hours: by appointment
Each week there are two 75 minutes sessions (MoWe 1:15PM - 2:30PM).
Classroom: Online, remote teaching, RoboCanes lab for special occasions possible.
Recommended Text Books
A large part of the course concentrates on practical work with ROS, the Gazebo Simulation and our RoboCanes agent on our HSR robot from Toyota. Due to COVID-19 we will be using the simulator more than the actual robot. The goal is to understand the environment and core concepts of autonomous robotic systems. We can arrange to work on a part of the RoboCanes agent as a project. The final projects are not limited to the topics discussed in class. A project can be any improvement or extension of the agent or something completely outside of RoboCup.
The class on Mondays will mainly be used for theory and lectures, while the class on Wednesdays will involve more practical work to understand the programs you need for the project.
This class will be re-vamped from scratch, including ROS which hasn't been part of the class before. The following parts might change slightly within the semester.
Part 1 (Introduction)
1. Introduction to autonomous systems, autonomous robots, RoboCup.
2. Overview of typical components of an autonomous robot.
3. C/C++ Programming (if necessary)
Part 2 (Modeling)
1. Perception, noise, modeling.
2. Recursive state estimation, Bayes’ filter, particle filter.
Part 3 (Control and motion)
1. PID-control, calibration of parameters.
2. Controlling a wheeled robot, controlling joints.
3. Walking motion.
Part 4 (Learning) [optional, if time permits]
1. Overview, different types of learning.
2. Reinforcement learning.
There will be some mandatory assignments based on topics discussed in class. Problems will be either theoretical or implementation-based. The programming exercises will include Python, C++, and Matlab. The due dates will be available on the course web page. I might include one assignment preparing a short talk about parts of our software environment, tools or about current research of other RoboCup teams.
Potential final projects
Every student is expected to present a final project at the end of the semester. The project can be anything that is useful for the RoboCanes agent. This includes a wide range of topics. You can for example work on the modeling, behavior or motions. The project can be narrowed down to a detail in the agent, for example special motions for the HSR or applying ML to detect 3D objects in space reliably. The project can consist of an implementation in the agent, but you can also use or implement external tools.
We strongly recommend that the project is chosen related to your research interests. However we will also provide suggestions for project topics.
In order to keep track on the progress of the project, students are asked to present the current state of the project in two successive intervals. This includes the proposal, and the mid-term progress. More details will be provided during the lectures and on the course webpage.
At the end of the semester each student will be asked to present their project in class and turn in a conference-like paper (min. 8 pages LNCS, ≈3500 words, using LaTeX).