Introduction to paths and trajectories
In the last couple of lectures we've talked about describing the position and the orientation of objects in the world.
We started off talking about position and orientation in two-dimensional space, that's the easiest example to start with, and then we talked about position and orientation in three-dimensional space. This combination of position; where something is, and orientation; that's how its oriented in space, combined together we call that the pose of an object, and pose is really really important in robotics. So we talk about how we can describe the pose of a robot somewhere. For instance, on the table—that's a two dimensional example. Or how we describe the pose of an object in three-dimensional space.
Now while pose is really very useful we also want to talk about how pose changes as a function of time.
Consider the problem with the robot moving from here to there. It's going to have to follow some kind of path, so its pose will change as a function of time and that leads to two very important concepts that we refer to as a path and a trajectory. And what we want to be able to do is to describe how the pose changes smoothly and elegantly as a function of time.
So here for instance is a small example how the pose of an object can vary as a function of time. And we see here in this three-dimensional co-ordinate frame, its position is changing and its orientation is changing very very smoothly. And we want to be able to apply these kinds of techniques to general problems in robotics.
We will learn how to create coordinate frames that have smoothly changing position and orientation over time.
This content assumes high school level mathematics and requires an understanding of undergraduate-level mathematics; for example, linear algebra - matrices, vectors, complex numbers, vector calculus and MATLAB programming.
I have a question on 6th slide.
In the linear interpolation method its said that
X(s) = (1-s)*X0 + S*X1 where s is less then 1 and greater then 0.
But when you go from P1(10,20) to P2(30,10) you are not using the above linear interpolation method anymore. But rather you are using a 3rd order polynomial function to interpolate the path. So I could not really understand how you used linear interpolation method to interpolate the path from P1 to P2? There is no connection. The same applies for the rotation. When you interpolate from 1 rotation to another, you are using a 3rd order polynomial function rather then doing a quaternion interpolation method.
You are correct. I think linear interpolation is a good way to start thinking about the problem. It introduces the notion of a path with a single parameter s, and this is used in subsequent lessons. However linear interpolation is limited, particularly for rotation. It also does not lead to smooth paths unless s itself is a smooth function of time, ie. it accelerates away from 0 at the start, and decelerates to 1 at the end.
Thanks for your clear explanation, I’d like to kindly ask you if you have any tutorial on multi-agent trajectory generation in 3d space avoiding collisions? If not, would be highly appreciated if you recommend any external source.