0:00

>> Welcome to the last module of this entire course.

In this module, Module 7, I will be putting all of the pieces that we have

developed together into one neat unified package.

And what we're going to have to do in this module is, connect the robotics piece that

we discussed early on differential drive, mobile robots, odometry sensors to the

control theoretic developments that we've gone through.

And in particular, we need to see how we can take the navigation algorithms we have

developed, and actually make them fit onto the actual robotic platforms that we're

interested in. And the first lecture is really going to

be a little bit of a high level discussions of what are the things that we

need to be aware of when we start putting things together.

I've call it approximations and abstractions and the reason for that is

whenever we try to design control systems or navigation algorithms, we're using

models. And we need to understand when these

models are indeed relevant or useful, or applicable.

So, recall our rather messy, yet exciting hybrid automoton.

When we developed this, we assumed that we had perfect sensing.

We even assumed that x dot was equal to u, meaning that we directly could control the

velocities of, of the robot. But then, as we saw at the end of the last

module, we ran it on a differential drive mobile robot.

And these two robot, or systems, the actual differential drive mobile robot and

x dot equal to u, it's very unclear what they even have in common.

How do we make our models fit the reality, or more importantly, when are the models

relevant to the real world? Well, I like to think of models as fables.

Let's return to our old friend, the hare and the tortoise.

So, when we discuss the Zeno phenomenon, we had the hare race the tortoise.

Well, I don't exactly know where all of you live but chances are that where you

live, very rarely do you see hares and tortoises actually racing.

So, here's a story or a fable that never applies, but somehow, we still gain some

kind of insight into the real world from this story.

Like, slow and steady wins the race if the tortoise wins.

Or, in the Zeno case, the hare is going to win.

Well, what we should take away from that is, well, don't rush it when you're doing

the quizzes for this course. So now, the hare and the tortoise actually

had something to say about how we should approach the course.

And similarly, the models are fables. They have some relevance, but they're not

exactly telling the full story. So, let's take a step back and see what

assumptions did we actually make and what kind of models did we actually use when we

were talking about the robots. Well, we really had two main classes of

assumptions. One was the dynamics.

And when we developed our control algorithms, we made the assumption that we

had this particle located at x, where we immediately controlled the velocity, x dot

is equal to u. Well, that may or may not be reasonable.

We also made this assumption that the robot has a sensor suite.

It's actually one of these sensor skirts that allows the robot to see roughly, a

disk around it that's not exactly true, because as we saw in the last module, we

only see certain parts of this disk. But from, in assumption point of view, we

still kind of made the assumption that, we cannot, we can see everything around us up

to a point and we can measure where obstacles are and the angle to that

obstacle. When it turns out that the sensing

assumption is more or less okay. As the robot moves around, you can

actually build up rather accurate models or, or maps of what's going on in the

world. The problem is with the dynamics.

This is not even close to being reasonable.

The Khepera [inaudible] that we've used a lot, it's not, at all, looking like x dot

is equal to u. So, in order for our fable, or our model,

or our navigation algorithm to be relevant to the actual robot, we somehow need to

remedy this lack of reasonability. So, the problem, of course, is that we

have the point mass. And then we're using the unicycle model

for actually describing the robot, where x dot is v cosine phi, where v is the speed

and phi is the heading, y dot was v sine phi, and phi dot was equal to omega, where

omega was the angular velocity. Well, this robot, this model, doesn't act

like x dot is equal to u and somehow for what we've done during the last couple of

modules to be relevant, we need to make these two models actually co-exist

peacefully. So, what we're going to spend the next two

lectures on is a very, very simple problem which is, how do we make a unicycle robot

or a differential drive model robot act like x dot is equal to u?