📄️ Lectures Overview
The Schedule outlines the technical topics that we will be learning, but it is just a rough overview. Lectures for this course will broadly follow the same pattern:
📄️ W01. Introduction 01
Today, we learn the fundamental question of this course and the principles behind it: how is mechanical intelligence like human intelligence? We will learn about emergence, computation, and have concrete demonstrations of these concepts.
📄️ W01. Introduction 02
Today, we inspect structure and function of the purported atomic units of both computation and cognition. We see how digital signals are produced and used, and compare them to how neuronal signals are produced and used. With it, we pose the question of whather brains are "like" computers at the fundamental levels.
📄️ W02. Movement 01
Welcome to the first lecture of the Movement module. When we think of movement, we often think of output in terms of muscles, motors, or other force-producing devices. However, movement by intelligent creatures (from viruses to humans) is usually purpose-driven in some way. If we think about what it means to be alive, there seems to be some kind of purpose-driven action involved (i.e., eating for the purpose of self-perpetuation, self-replication, etc.). To be purpose-driven in any way, some kind of sensation is required, since you need to not just act, but act in a way that moves you closer to some kind of eventual goal.
📄️ W02. Movement 02
We talked about sensation last time. Let's talk about the other half of the interactive loop, actuation.
📄️ W03. Movement 03
Last time we discussed basic mechanics and DC motors. Today, we will discuss the control of movement from a signal standpoint. The principle of movement control is a simple process with a complicated sounding name: Pulse Width Modulation (PWM).
📄️ W03. Movement 04
To close off the Movement module, we are going to build up to the design of a servo motor. We have all of the necessary components: DC motors, drivers, potentiometers, and PWM control. We will see a real-life servo, look at the "guts," and then create a large-scale model servo to figure out how it works.
📄️ W04. Control 01
This is the beginning of the Control module. Last time, we modelled a servo and saw a complete but simple control loop. The potentiometer was used for rotational encoding. However, our robots move too far to just use rotational encoding. We need to translate rotation to linear motion.
📄️ W04. Control 02
Last time, we talked about telemetry and localization. As you will find out in the labs, it's often hard to do localization with just the on-board sensors. It's still hard with external sensors, but they can give you another piece of the picture.
📄️ W05. Control 03
Maintaining distance from an object is both simple and hard. The basic problem is that you want to reduce error, i.e., get to the distance that you want to be at. But, because of the physics of real world, you don't always get exactly there.
📄️ W05. Control 04
Today is an introduction to probability and predictions that are useful in control. Robots live in a probabilistic world, i.e., there is never 100% certainty about the correspondence between their model of the world, and the world itself. This is due to the presence of error: nothing is perfectly precise, therefore none of our models can be perfectly deterministic.
📄️ W06. State 01
Today we will learn about Bayes Theorem, and how to apply it to detection in robotics. It is foundational to many techniques in robotics from basic detection, to building complex machine learning classifiers.
📄️ W06. State 02
Today we will learn how to apply Bayes filters to object detection. The Bayes Filter is just an iterated version of Bayes' Theorem. By repeatedly applying Bayes' Theorem, we can converge to a particular measurement with a high likelihood of being correct. This should make sense intuitively: if we repeatedly measure that we're at 10cm, we're probably pretty close to being at 10cm.
📄️ W07. State 03
Today we will learn how to apply Bayes Theorem in a chain to create Bayes Networks.
📄️ W07. State 04
Today we will learn about classifiers, using line-tracking as an example. Our modern world uses classifiers as the main detection paradigm because creating a simple "rule" for detectors is difficult if not impossible for most tasks with complex and real-world data. We'll see an example of pre-built classifiers that you can use with your robots, and start to think about how to design a system that can use a classifier.
📄️ W08. Emergence 01
Today, we really start to dig into complexity science 101: automata. If you've taken a discrete math course, you've probably already seen finite state machines (FSMs) a.k.a. deterministic finite state automata (DFAs).
📄️ W08. Emergence 02
Today we will discuss systems theory and variations on Conway's Game of Life. These are generalizations of the discrete form of cellular automata that Conway developed. One form of generalization is in allowing for different rule sets to be explored. Another is to allow for the spatial resolution to increase, making the "squares" almost continuous. Another is to change the values that can be applied, e.g., allowing the squares to be "greyscale" and vary between 0 and 1. Finally, the transition functions can be changed, allowing for more complex relationships between pixels.