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.

Â