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?

Â