Midterm 1: Week 1 to 6 Flashcards
What is an intelligent robot?
Intelligent robots are devices made of hardware and software.
The primary structure of intelligence in a robot is the sense-plan-act loop that allows reaction to the surrounding world.
Sense-plan-act loop
Sense: Gather information
Plan: Take the information and come up with a series of behaviours to do something
Act: perform the plan
State Space
Set of all physical situations that could arise. It captures the meaningful properties of the robot.
Notice that determining the correct representation of the state space is the #1 task of a roboticist.
Action Space
The commands, forces or other effects it can take to change its own state or that of the environment.
Notice that the action space can be state-dependent.
Kinematics
Considers constraints (limitations) on the state space and how we can transition between states.
A more formal definition is the following:
Kinematics describes the motion of points, bodies (objects), and systems of bodies (groups of objects) without considering the forces that cause them to move.
Dynamics
Consider idealized physics of motion.
- Forces
- Control
Model
A function that describes a physical phenomenon or a system. Models are useful if they can predict reality up to some degree.
Mismatch between the model prediction and reality is called noise/ error
Omnidirectional Robots
Robots that can move in any direction without necessitating to rotate.
State of an Omnidirectional Robot
Control of an Omnidirectional Robot
Notes on Inertial frames of reference
G the global frame of refrence is fixe i.e. with zero velocity in our previous example.
- If a robot’s position is known in the global frame, life is good!
- I can correctly report its position
- We can compute the direction and distance to a goal point
- We can avoid collisions with obstacles also known in global frame
Kinematics as Constraints
Notice that the idea of using vector spaces or set to represent everything that can happen is too broad to capture robot details.
A common form of kinematics is to state a ser of constraints also. These can be on the allowable states or how to move between states.
Kinematics of a simple car
State
Kinematics of a simple car
Control
Kinematics of a simple car
Velocities
Instantaneous Center of Rotation
The centre of the circle circumcises by the turning path.
Undefined for straight path segments.
The Dubins Car Model
Visualize a car that can only move forward at a constant speed s and with a maximum steering angle
First Robotics Theorem
The shortest paths of the Dubins Car can be decomposed into:
L: max left turn
R: max right turn
S; zero turn
*This rules out to ever turn partially
Motion Primitives
The fixed motion types: L, R, S, are called primitives. We can use them to decompose a series of motions to reach a goal.
Dubins Airplane
State of a Unicycle
Notice, here the state is the same as for the car and the omnidirectional robot since here we are just interested in the Global position of the unicycle.
x = [G_p_x, G_p_y, G__(teta)]
Controls of a Unicycle
We consider the angular vellocities on y and z.
On z it is how fast the wheel turns. On y it is how much it turns on the plane.
Recall that the control set of a unicycle includes the angular velocities on y and z. How do you calculate the velocities of an unicycle?
State of a different drive vehicle
Same as the car, omnidirectional robot and unicycle
Control of a different drive vehicle
In this case, we look at the velocity or turning rate of each wheel.
The turning rate of each wheel will determine the direction and force applied on the vehicle.
What are the velocities of this vehicle?
Holonomic kinematics
A system that constraints only on its position. That is, it has a bounded state-space, but no limits on its differential motions.
Intuition: You can immediately move in any direction you would like.
Notice that a holonomic robot can guarantee that fairly simple math can yield to optimal paths
Non-holonomic kinematics
A system that has at least one non-trivial constraint on its differential motions.
Intuition: It is possible to get someplace nearby eventually, but not in a single step.
Notice that for a non-holonomic robot we might require arbitrarily many motions to move a small distance.
Which of the following are non-holonomic?
- A normal car
- A robot train that can go forward and backwards on a circular track
- A robot train that can only go forward on a circular track
1 and 3 are non-holonomic
Consider the Differential Drive Vehicle.
Derive the equations that represent the velocity on the right, left wheels and on the x-direction.
How do we find the velocity when rotating?
v = r * w where w is the angular velocity.
So, if w_D is the angular velocity, we have to find the radius.
In the case of a Differential Drive Vehicle, if we know the different velocities we can find the angular velocity w and the distance from the ICR to the centre fo the vehicle,
how?
In the case of a Differential Drive Vehicle, what happens if
v_r = v_l
The direction of the car would be straight.
In the case of a Differential Drive Vehicle, what would happen if:
v_r = -v_l
Then the centre of the vehicle D would be ICR.
In the case of the differential drive vehicle, write the equations to find the x, y position and the angle depending on the Global coordinate system.
G_p_x (t + 1) =
Forward Kinematics (fkine)
What is the robots state given a command/control?
Kinematics directly tell us how to compute:
- position
- speed on various frames
- turning rate
All this in function of the input commands
Inverse Kinematics (Ikine)
What control(s)bring us to the desired state (if any)?
Inverse kinematics is like a “short time” plan. Depending on the form of the model, this can be easy or difficult to find.
When would it be easy or hard to find an inverse kinematics solution?
When the robot is non-holonomic it would be harder to find an inverse solution.
What is the motion to bring the body of a DD vehicle from (10,10,pi/4) to (0,0,0)?
- Follow right angle: (10,10) - > (10.0) -> (0,0)
- Point then Shoot: turn the car to destination and go straight line
Point then Shoot
First rotate to face the point, drive straight to the point, then rotate to goal angle
Robot’s Dynamic Equations
A robot’s dynamic equations form an equation that determines its motions in response to any possible action.
They include the geometric properties from kinematics, but also dynamic quantities: weight, motor strength, material composition, etc.
What does x with a dot above mean?
An “overdot” is a raised dot appearing above a symbol most commonly used in mathematics to indicate a derivative taken with respect to time
Forward Dynamics
Describes how an object moves in time, from initial conditions, following applies forces.
What is the dynamic equation of a pendulum under gravity?
Where:
- I = mL^2 (inertia)
- m = mass
- g = gravty
- L = length of string of the pendulum
- teta =angle from vertical axis to inclination of string
Pendulum Trajectory
See lecture 3, recording from 48min to 54min
What do we have to add to the pendulum’s dynamic equation if we want it to act as a robot?
We have to have some way yo control it. We have to add the control.
By adding control we can now hold the pendulum stationary, build energy, reduce energy.
Double-Link Pendulum
State:
x = [teta1, teta2, teta.1, teta.2] The angle or joint 2 is expressed wrt joint 1.
Controls:
u = [torque1]
Dynamics: Slide 24 Lecture 3
TODO week 2 and 3
Name some drawbacks of Grid based planners
- They work well for grids up to 3 to 4 dimensions
- State-space discreization suggers from combinatorial explosion:
- if x=[x_1,…., x_D] and we split each dimension into N bins then we will have N^D nodes in the graph
- See notes on Sept. 22nd
- if x=[x_1,…., x_D] and we split each dimension into N bins then we will have N^D nodes in the graph
- This is not practical for planning paths for robot arms with multiple joints or other high-dimensional systems
What do we have to do to avoid the problems that arise with the grid based planners?
We need to find ways to reduce the continuous domain into a sparser graph. One that covers the same space with fewer nodes and edges.
Cell Decomposition Planners
Idea:
Decompose the overall planning process into local regions.
Simple computations can tell us the path through the region.
A global computation can be performed to re-assemble the entire path, and often we can re-use our local computation for multiple queries.
Visibility Path
In this method, the objects are considered to be polygones.
- Draw lines of sight from the start and from the goal to all vertices of the polygones. (slide 7)
- Draw the lines of sight from every vertex of every obstacle (as done in 1). Remember that the lines that follow the edges of an obstalce are also considered as lines of sight.
- Repeat until you are done
Notice: when you add lines, the lines cannot go over an obstacle