Models
We need precise ways to describe how robots behave. Today, we'll see some basic elements of how we might model:- the way robot moves
- the information it receives from its sensors
- the plans it forms to achieve its goals
States
The state describes what is happening at a given point in time.Definition
The state is the collection
of all aspects of the robot and the environment that can impact
the future.
[Thrun, p20]
- state: $x$
- state space: $X$
Actions
Actions describe what the robot does.Definition
The action is choice the robot makes at a particular time.
- action: $u$
- action space: $U$
Models of time
To describe how actions change the state, we need a model of time.- Discrete time: Time is an integer $k$.
- Continuous time: Time is a real number $t$.
Models of time
How do we model time?- Explicit time: Specific time intervals are important.
- Implicit time: Particular times are not important, but we do care about the order in which things happen.
Transitions
A state transition equation describes how actions change the state. Discrete time, deterministic: \[ x_{k+1} = f(x_k,u_k) \] Continuous time, deterministic: \[ \dot{x} = f(x,u) \]Transitions
A state transition equation describes how actions change the state. Discrete time, with errors: \[ x_{k+1} = f(x_k,u_k, \theta_k) \] Continuous time, with errors: \[ \dot{x} = f(x,u,\theta) \]Example: A single wheel
Observations
Observations model the robot's sensors.Definition
The observation is information supplied to the robot at a
particular time.
- observation: $y$
- observation space: $Y$
Observation function
The observation function tells how observation are related to states. Discrete time, deterministic: \[ y_k = h(x_k) \] Continuous time, deterministic: \[ y(t) = h(x(t)) \]Observation function
The observation function tells how observation are related to states. Discrete time, with errors: \[ y_{k} = h(x_k, \psi_k) \] Continuous time, with errors: \[ y(t) = h(x(t), \psi(t)) \]Plans
A plan describes the choices the robot will make. Plans can take many forms:- A sequence of actions: $u_1,\ldots, u_k$
- A trajectory $t: [0, T] \to U$
- A state-feedback policy: $\pi: X \to U$
- An information-feedback policy: $\pi: (U \times \cdots \times U) \times (Y \times \cdots \times Y) \to U$
Key idea: There are decisions to make!
There is no “correct” model for your robot. We must make modeling decisions.
Consider the goals the robot is trying to accomplish and determine
what factors play important roles in achieving that goal, and what
factors are reasonable to ignore.