How close are 2 configurations of a robot? (Lecture 23b, Intro 2 Robotics)
HTML-код
- Опубликовано: 21 авг 2024
- How close are two configurations of the same robot? Although this question seems simple, it isn't always easy to answer with a robot arm. Play at demonstrations.... (Mathematica code is available at this link.)
[Part b of Lecture 23, Intro to Robotics]
Part a: Probabilistic Roadmap Methods: • PRM: Probabilistic Roa...
Part b: distance norms • How close are 2 config...
The measurement of distance between two configurations of the same robot is necessary for many robot motion planners, such as probabilistic road-map methods and rapidly expanding random trees.
This demonstration has a two-link robot. The blue area shows all the points that are within ½ unit distance of the tip of the robot. You can measure distance in either the workspace, which is the x-y locations shown, or in the phase space which is the theta 1 and theta 2 arm angles.
In each space you can choose the order of the norm, the maximum distance d, and change the relative lengths of the robot joints.
You can set the norm type to 1, 2, 3, or infinity
The 2-norm is the distance you probably are most comfortable with. It is the straight-line distance which is computed by squaring the distance in x and y, adding them together, and taking the square root. The set of points closer than d with a 2-norm is always a disc.
The 1-norm is faster to compute, because it is calculated by adding up the distance in x and y. This is sometimes called the taxi-cab or Manhattan distance because it is the distance a taxi driver would have to go while staying on a grid of city blocks. The set of points closer than d with a 1-norm is always a square rotated by 45 degrees because it is shorter to move directly in x or y than on a diagonal.
The 3-norm is calculated by cubing the distance in x and y, and then taking the cube root of the sum. This is rarely used, but the set of points closer than d with a 3-norm looks like a flattened disc.
The infinity-norm is the limit of raising the distance in x and y to n, and then taking the n-th root of the sum. This limit is just the maximum distance in either the x and y, so it always looks like a square.
Notice that lower order norms are contained within each other.
It is trivial to compute the distance using norms in the workspace; however, these distances are often misleading.
The arm's workspace is the unit disk, but the workspace norm shown includes an area inaccessible to the robot arm. The arm can't extend any further, so in some sense points out here are really infinitely far from the robot, while points inside the robot's reachable set are closer.
It is more correct to calculate the set of configurations with distance less than d in the phase space of the robot and then map this set into the workspace. The norms are calculated with theta 1 and theta 2 instead of x and y.
The mapping into the workspace is performed using Mathematica's ParametricPlot command.
You can see that the 1-norm is no longer square shaped.
The blue "close" regions are a function of the current arm configuration.
In this configuration you can see that workspace 1 norm square has been distorted, but still has four sides. The 2 norm is a morphed disc, and the infinity norm is similarly stretched. It remains true that lower order norms are contained in higher order norms.
Theta 1 does not change the shape of the close region, but theta 2 does. .
Theta 2 when extended stretches the region out, and when folded back on itself the region self- intersects.
You can play with this online demo by following the link in the description. A big thank you to my coauthor Benedict Isichei.
Hi, what about configuration spaces which have both an angular and a real component? (eg. This same setup but the second link is extendable.) I heard this can be done with a weighted norm but I don't understand how to weight it.
@simoncajagi6785 This can be done but it depends on the application. That is because comparing a degree and a meter often doesn't make sense. A metric makes more sense when the units are equivalent. However, roboticists often use these norms to compare the effect that moving motors have on the linear velocity of the end effector, because linear velocity (m/s in x, y, and z) is the output from moving a revolute joint at some rad/s or a prismatic joint at some m/s. I have a few lectures on the velocity Jacobian (which is the matrix of first derivatives of the forward kinematics change for each change of a joint variable). That would be a good place to look at.
where do u do all u simulation. can u mention the name of the respective software or website plssss?
These are all programmed in Mathematica. You can play with the code for free at demonstrations.wolfram.com/DistanceNormsInRobotWorkspaceAndPhaseSpace/ (Mathematica code is available for free download at this link, or you can download the free Mathematica .cdf player if you don't have Mathematica.)