0:12

This lecture is titled Robot Models, because this week you

guys focused a lot on different models for the robots specifically.

And as usual pay attention because this lecture will

help you guys with quiz two okay, with that.

So, we saw at this week in Dr. [UNKNOWN]

lectures that he introduced two models for the robots.

That's your robot, and then one model was with respect to, you know, the angular

velocities Of the wheels of the robot, which is the differential right model.

And then another model that we saw was with respect to the sine of v and omega

1:30

But when we are designing our controller and we are designing our controls, in

that time we don't want to, you know, think in terms of wheel velocities etc.,

we'd rather just

Think in terms of, you know, okay, me walking

and I'm walking with a linear velocity and an angular

velocity, and it's kind of much easier than, you know,

thinking about each wheel and how it turns, et cetera.

So we have these two models here, the differential

drive and the simpler model, which is used for design.

2:19

The point here that I want to make is that

[MUSIC]

All the control that is designed for this visual box is done using the

model, the simplified model that we saw, the v omega model, but then when you

are implementing it onto these robots and actually converting my v omega into, you

know, angular velocities for each robot and

that is the input that they are getting.

[SOUND] Here.

So in [INAUDIBLE] it's a differential drive robot,

and that's what, how we are doing it.

Okay, so, how do you do that?

2:50

If you really simplify and see, this was my robot, and basically what I'm saying

is, you know, you go from point A to point B in time ten seconds.

This is a simple thing you'll, here, this At this point

it's playing note A on the piano and here it's playing

some G sharp or something, let's say, on the floor piano

and it needs to go from here to here in ten seconds.

That is the basic problem for one robot if you really simplify it.

Okay.

This is the model I'm using, like I said, to

calculate my V and omega to make them actually do this.

That's how or however whatever trajectory they

take, straight line, move like this, whatever they

are doing this input that I am giving them is based of the model shown here.

3:35

Choose the high level task and then control design is done here.

But then the Cmd that I am going to be sending to the

robots Are going to be found using this model which is the differential model.

You guys have seen all this before.

Okay, what happens is when you use this guy and this guy together,

you can actually derive these solutions. So all I'm saying is that,

I'm going to find V comma Omega based on this guy.

And then I'm going to convert it and put it

into this equation here to get v r and v l.

Which is what then i'm going to send to the robots.

And that is exactly what you saw in that, Music playing robots thing as well.

So okay that is one more we'll do another.

And an intuitive example, let's go really quick over it.

4:59

Let's see that my robot let's its units point and I'm saying that

you know it's not going straight at all it's just going to keep moving you

know on its' own like I'm saying my velocity is zero but my

omega is constant so I have a constant angular velocity, okay That means that

my robot is not moving forward, it's just spinning in place.

And that makes sense because now what we've found out,

in terms of, you know, right and left wheel angular velocities.

One, is simply the negative of the other.

So one wheel is getting, let's say, plus

five and the other is getting negative five.

So they're just going to, going to make the robot spin in place.

It's not going to make it go forward at all.

5:35

So that was the whole intuitive example.

But basically you guys should be pretty comfortable

going between this,you know, mapping or transformation, from v [UNKNOWN] to v r u.

Okay, with that, I'm back to our musical bot.

So you guys remember this?

Of course you do, it happened two slides ago.

This musical bot example My Rova having to go from A to B in, let's see, ten seconds.

6:23

How, what does it actually mean? This is the model I have.

Now I'm asking you guys this. That [SOUND] Let's make it really simple.

My robot is here and it's looking also in this direction.

Okay?

It needs to go from here to here.

Let's say even my Theta is perfect. It's already looking here.

It wakes up at A. It needs to reach it, at 10 seconds.

So why can't I just say? Guess what?

Omega can be zero.

And V can be, B minus A over 10. Right?

6:55

And we know all of us know from Physics, Geometry from

the model et cetera, that if I was to give my robot

this velocity, and this omega, and at every time instant for

10 seconds, I can, I'll in fact reach this point, over here.

It's simple maths, right?

So why don't we do that?

Why do we make such a big deal about, oh,

we have to design the control V, omega et cetera, like.

7:34

Mind, it works perfectly, but actually when I put it

onto the robots, what's going to happen is there will be friction.

There will be other problems.

Maybe my wheels don't move at the same rate that they

should or maybe the encoders are slightly off, or maybe

I come and kick the robot off while it's moving.

Whatever.

I need - To know that let's say while I'm moving here I wear off slightly

by V and omega at this point needs to know that I have gone off the path.

In other words we need to have feedback, if there is no feedback of where

I am in the world then, then it's so easy for me to just veer of

because of, you know, problems like friction, etc.

When I'm actually moving the robot and then my

v and omega has no idea that I want to.

So let's say while walking I come here, I'll just keep going straight instead.

8:24

I'm not doing any kind, kind of you know, feedback on, on how I should be moving.

So this, I think this a very key concept in

controls that And kind of motivates why it is that

we need state information or we need Feedback or even all

the stuff that you studied about you know, PID regulators, PI everything.

When you are minimizing the error you need Feedback,

you need output, you need to know where you

are in order to find even the error, how

far you are from, what you need to be doing.

For all this Feedback is a very important thing that you need.

So hopefully with all this, I have kind

of explained to you guys, the motivation behind why

you need to know where you are in the world.

And as you saw in the lectures Dr. Edgarson

goes over this whole thing of wheel encoders, right.

because if you have wheel encoders you will be to measure where you are.

Okay, for that again real quick. this is how the wheel encoder works.

Each encoder has N ticks, and a total of N ticks that

means if you over haul N ticks you would have moved one revolution

on the wheel which is two pi r on, you

know, your distance, and then you have Dl, Dr, Dc.

What is Dl, Dr, Dc is basically how much Your wheel is moving how

much distance the distance of this arc, for example, based on the number of ticks.

So that I have got 5 ticks how much I move?

what is this distance?

that is given by Dl, Dr, Dc. Dc is this.

You see all this before and then okay

once we had this of this is what you know, the wheel encoders

give us now what, how do we find where we are in space?

Okay, I know where I am in the beginning let's say I this is where I wake up.

Now I use DL, DR, DC in this form, in this update equation

and now I get my new position X prime, Y prime, and V prime.

And remember, X, Y, and V is my state, or where I am in place,

like X, Y, and looking there. That kind of a thing.

Okay, cool. So this whole thing is the wheel encoders.

This is how they work.

So just for your general you know, knowledge or curiosity

if you are wondering where did this model come from,

well we could go back to our, you know concepts

in physics really quick and we could be like, all right.

If this is a circle, if this is me walking on the circle with radius Small r here.

10:44

And I have a speed of lets say, you know, some v, linear speed.

Well, I must have some angular velocity, right?

For b to be walking on this circle.

Otherwise, I would just keep walking straight.

So how do these 3 variables, kind of you know, match up?

So, There is this very famous formula we use, omega R, that kind of

relates the fact that if somebody is walking or if you are tracking this point

on a circle of radius R, how does the linear velocity, which

is V, and the angular velocity, which is omega relate to one another?

11:19

And now if I wanted to see how much distance

I moved in let's say time delta t, well, what I'm

simply going to do is I'm going to say, multiply this with

my speed, and my distance then becomes omega r delta t.

That's the distance. And I

want you guys to like, kind of Understand that the same concept

can be thought of in terms of the, each wheel of the robot.

So if my angular velocity for each wheel is vr and my radius is r, I can actually

calculate the distance moved as r times vr times dt.

11:57

And from here, I'm going to let you guys figure

out How it is that we'll reach this model.

And as hence, I'm going to say, okay, we already found out how we got this.

We know this as our model for the robot.

And now can we do something to you know, kind

of get this equation using The update law that we

know that if we ever want to find the position

of the next time is when we simply say position

of previous plus x dot time. So it's a nice exercise find out how we

get this model and then, all is good. With that let's go to the next example.

12:35

So this is an odometry example. Just to kind of you know make it again

really clear the concept of wheel-encoders again very important for the quiz.

So let's

say my robot starts at the origin.

When I say origin, I mean my position and orientation both are zero.

And it is located after the 0.1 seconds what you have to find.

Now, where is it?

And now it is given that your left wheel or your right wheel

of the car, then takes your left wheel of the car six ticks, blablabla.

All the stuff is given. How will you do it?

Okay.

These are the set of equations that you are going to use.

First, because you know the numbers of ticks, you're going to

find out how much each wheel has moved.

Based on these equations right here, right.

And then you're going to use them in this update law

to find out finally where your x, y, and pi land up.

And a real quick note just for my satisfaction here is that

13:32

it's nice to wonder If I'm the robot, or if I have the robot, I

know the input I'm giving it, I know the angular velocities I'm giving it, right?

So why can't I myself find out through my model, which is

this, right, this guy here, why don't I find out By

updating using this where my next position is going to be based on just my VR and VL?

Why is that

that I'm using the encoder in the first place like why don't

I just simulate based on my inputs where I'm going to be in the

14:29

That's why we do this whole in quarter thing instead of

just simply saying, you know what?

I'm going to find it myself through my update equation because I know [INAUDIBLE]

And I'm going to find out where my x, y, and z line up.

No, that's why we don't want to do this.

We want feedback.

We want to see if it actually translated into that much motion or not.

That's why we use the [INAUDIBLE].

And with that, we will In this lecture and good luck with quiz two.

Keep checking the forums. Bye bye.