How Do You Calculate Robot Arm Motion to Reach Specific Coordinates?

In summary: I just need to verify.In summary, the problem states that a robot with a hole at its base and three arms must be designed so that the extremity of the third arm coincides with a point on the coordinate plane. The problem asks for the equations of motion for the three alphas of the angle between the arm and the hole. A trigonometric function is needed to calculate this angle.
  • #1
Kernul
211
7

Homework Statement


My professor posted this problem on his page as a self-assessment for the students and said that you just need some analytical geometry notions and trigonometry to solve it, although I don't quite get how to solve it. This is the problem statement:
Considering the articulated mechanical structure in the picture (cinematic scheme of a robot).
In the hypothesis that:
##x_b = 10; y_b = 5;## Coordinates of the base of the robot.
##L_1 = 15; L_2 = 20; L_3 = 25;## Length of the arms.
##x_f = 30; y_f = 17;## Coordinates of the hole.
Determine the angles ##\alpha_1, \alpha_2, \alpha_3## so that the extremity of the third arm coincides with the point ##P## of coordinates ##(35, 11)##.
More in general, write an algorithm that allows to calculate the equations of motion ##\alpha_1(t), \alpha_2(t), \alpha_3(t)## so that you can draw the circumference:
$$P(t) = \left(x_p(t) = 40 + 5 cos\left(\frac{2 \pi}{60t + \pi}\right), y_p(t) = 11 + 5 sin\left(\frac{2 \pi t}{60 + \pi}\right)\right)$$
Image.png


Homework Equations

The Attempt at a Solution


I really do not understand how this should be solved since I've never done this kind of problem.
Could someone explain step by step how it should be solved and what notions need to be used?
 
Physics news on Phys.org
  • #2
This looks like a vector addition problem. Start at the origin and move to the tip at {xP, yP} using the tip of one vector as the starting point of the next. For example, to get to {x2, y2}, you need to add
{xb, yb} + L1{ cosα1, sinα1} and so on.
 
  • #3
So something like this?
$$(x_b, y_b) + L_1(cos\alpha_1, sin\alpha_1) + L_2(cos\alpha_2, sin\alpha_2) + L_3(cos\alpha_3, sin\alpha_3) = (10, 5) + 15(cos\alpha_1, sin\alpha_1) + 20(cos\alpha_2, sin\alpha_2) + 25(cos\alpha_3, sin\alpha_3)$$
But how do I get to know the equations for the three alphas? I would just get a vector that points to the hole? Or did I misunderstand?
 
  • #4
You did not misunderstand. You know the coordinates of the hole, so you can write two equations for the x and y components of the resultant vector that relate the three alphas. You need a third equation relating the alphas. You get that by observing that the four internal angles of the four-sided figure formed by the three vectors and the resultant add to 2π.
 
  • #5
So I would have this:
$$(10 + 15cos\alpha_1 + 20cos\alpha_2 + 25cos\alpha_3, 5 + 15sin\alpha_1 + 20sin\alpha_2 + 25sin\alpha_3) = (30, 17)$$
and these two equations:
##\begin{cases}
10 + 15cos\alpha_1 + 20cos\alpha_2 + 25cos\alpha_3 = 30 \\
5 + 15sin\alpha_1 + 20sin\alpha_2 + 25sin\alpha_3 = 17
\end{cases}##
But I don't quite get how is it possible that the four angles add to ##2\pi##. It doesn't look like that too me.
And, by the way, isn't adding a fourth angle ##\alpha_4## making things impossible since I'll have three equations with four unknowns?
 
  • #6
The internal angles of a any closed four-sided figure add to 2π, always. Also, you can find α3 quite easily (I realized later) because L3 must pass through the hole at (xf, yf) and have its tip at (xp, yp) both of which you know.
 
  • #7
kuruman said:
The internal angles of a any closed four-sided figure add to 2π, always.
Oh I get it.

kuruman said:
Also, you can find α3 quite easily (I realized later) because L3 must pass through the hole at (xf, yf) and have its tip at (xp, yp) both of which you know.
So I multiply ##L_3## to the difference between the point ##F## and the point ##P## in order to get the angle ##\alpha_3##?
 
  • #8
Not the angle, a trig function of the angle. Draw a right triangle with a piece of L3 as hypotenuse.
 
  • #9
kuruman said:
Not the angle, a trig function of the angle. Draw a right triangle with a piece of L3 as hypotenuse.
Just a piece of ##L_3##? The piece between the point ##F## and the point ##P##? So I still have to find the distance between these two points to get the hypotenuse and then draw a right triangle, right? Would it be ##sin(2\pi - \alpha_3)##?
 
  • #10
Kernul said:
So I still have to find the distance between these two points to get the hypotenuse and then draw a right triangle, right?
If you know the coordinates of points P and F you know the distance between them.
 
  • #11
I am brushing up on some equations of motion stuff for a project I am working on at work and I stumbled across this old problem. If it's more appropriate for me to start a new thread, please say so and I will do that instead. I figured since this was never fully resolved that it may still be appropriate for me to post here. I apologize in advance for not quite knowing the proper formatting procedure. Any pointers on that and how to insert proper formulas would be appreciated. Also, if any of my wordy descriptions require diagrams I'm more than happy to make them.

I believe I have properly solved for the specific case when (Xp, Yp)=(35,11). I am curious, however, whether or not there is a more eloquent way of solving it. It becomes cumbersome when written out on paper and when implementing something like this into code.

Starting where this previously left off, I calculated the value of α3 using the coordinates of F and P. Specifically, α3=atan((Yp-Yf)/(Xp-Xf)

From that I determined (X3, Y3) using more right triangle trigonometry, specifically (X3, Y3) = ((Xp,Yp)+L3(cos(α3+π),sin(α3+π))

Next, between (Xb, Yb) and (X3, Y3) I created another vector and which I used to find α1. α1 would be the sum of the angles formed by 2,b,3 which I called αx and the angle formed between 3b and a horizontal line, which I called αw.

αw was found using right angle trig, specifically αw = atan((X3-Xb)/(Y3-Yb))

The length of the vector B3 was also calculated B3=√((X3-Xb)2+(Y3-Yb)2)

αx was found using the law of cosines, being given L1, L2 and having calculated B3. αx = acos((L22-L12-B32)/(-2L1B3))

α1xw

The inside angle at 2 was also found using the law of cosines on the same triangle as the one above. I'll call this αia2

α2 was found by forming a right triangle using points B and 2 and subtracting the inside angle formed at 2 with this right triangle from the inside angle found at 2 in the immediately preceding step. The end result after some cancelling and whatnot is:
α2 = αia2-π+α1

I am fairly confident that this is all correct. For the specific instance where P= (35,11) I have calculated the values for α1, α2 and α3 to be 2.059, 0.641, and -0.876 respectively. As stated at the beginning of the post, this feels "clunky" and perhaps I'm missing a more eloquent way of doing it.

Beyond that, the first major snag that I run into is using the equations for P(t). Specifically XP(t)= 40+5cos(2π/(60t+π)). Can someone please confirm that the t does not belong in the denominator of the cosine function? It would appear as if there may have been a typo and the equation should read:
XP(t)= 40+5cos(2πt/(60+π))
 
  • #12
Please post this on a new thread, with a new diagram of your project and the questions you wish to ask. The fact that the original poster did not confirm that the issue has been resolved, does not necessarily mean that it has not as far as OP is concerned. As for the 60t +π in the denominator, I agree. That looks like a typo. Note that points ##x_P## and ##y_P## lie on a circle whose center is offset from the origin. After a complete revolution, the values of ##x_P## and ##y_P## must be the same. The ##t## in the denominator does not allow that.
 

FAQ: How Do You Calculate Robot Arm Motion to Reach Specific Coordinates?

1. What is the equation of motion for a robot arm?

The equation of motion for a robot arm is a mathematical expression that describes the movement of the arm based on its position, velocity, and acceleration. It takes into account the physical properties of the arm, such as its length, mass, and joint angles, as well as external forces acting on the arm.

2. How is the equation of motion derived for a robot arm?

The equation of motion for a robot arm is derived using principles of physics, such as Newton's laws of motion and the principles of conservation of energy and momentum. It also takes into account the specific design and mechanics of the robot arm, such as the number and type of joints, motors, and sensors.

3. Can the equation of motion be used to control the movement of a robot arm?

Yes, the equation of motion can be used to control the movement of a robot arm. By using the equation to calculate the desired position, velocity, and acceleration of the arm, engineers can program the arm's motors and actuators to move in a specific way.

4. Are there different equations of motion for different types of robot arms?

Yes, there are different equations of motion for different types of robot arms. The equation will vary depending on factors such as the number of joints, the type of movement (e.g. rotational or linear), and the presence of external forces or constraints.

5. How does the equation of motion affect the performance of a robot arm?

The equation of motion plays a crucial role in the performance of a robot arm. A well-designed equation can ensure smooth and accurate movement, while a poorly designed one can result in jerky or imprecise movements. Additionally, the equation can also affect factors such as speed, torque, and energy efficiency of the arm.

Back
Top