one man

Alexey Ivanov

1160 Reputation

17 Badges

12 years, 53 days

Social Networks and Content at

MaplePrimes Activity

These are replies submitted by one man


L1 := 1.6; L2 := 1.5; L5 := 1.35; 
f1 := (x7-g1)^2+(x8-g2)^2+(x9-g3)^2-L1^2; 
f2 := (x10-g1)^2+(x11-g2)^2+(x12-g3)^2-L1^2; 
f3 := (x1-CD1)^2+(x2-CD2)^2+(x3-CD3)^2-L1^2; 
f4 := (x4-CD1)^2+(x5-CD2)^2+(x6-CD3)^2-L1^2; 
f5 := (x4-x1)^2+(x5-x2)^2+(x6-x3)^2-L2^2; 
f6 := (x7-x10)^2+(x8-x11)^2+(x9-x12)^2-L2^2; 
f7 := ((x1+x4)*(1/2)-(x7+x10)*(1/2))^2+((x2+x5)*(1/2)-(x8+x11)*(1/2))^2+((x3+x6)*(1/2)-(x9+x12)*(1/2))^2-L5^2; 
f8 := (x10-x7)*(g2-x8)-(x11-x8)*(g1-x7); 
f12 := x4*(CD2-x2)-x5*(CD1-x1); 
f9 := (x1-x4)*(x7-x10)+(x2-x5)*(x8-x11)+(x3-x6)*(x9-x12); 
f10 := ((x7+x10)*(1/2)-(x1+x4)*(1/2))*(x4-x1)+((x8+x11)*(1/2)-(x2+x5)*(1/2))*(x5-x2)+((x9+x12)*(1/2)-(x3+x6)*(1/2))*(x6-x3); 
f11 := ((x7+x10)*(1/2)-(x1+x4)*(1/2))*(x10-x7)+((x8+x11)*(1/2)-(x2+x5)*(1/2))*(x11-x8)+((x9+x12)*(1/2)-(x3+x6)*(1/2))*(x12-x9); 
T := Isolate([f1, f2, f3, f4, f5, f6, f6, f7, f8, f9, f10, f11, f12], [x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12])

L1 := 1.6 is the length of the levers; L2 := 1.5 is the width of the horns; L5 := 1.35 is the distance between the midpoints of the horns. And some of these parameters are printed (after calculations) in one of the given programs (in particular, L5). 
The system of equations itself gives 32 solutions, but it seems that there are only 4 fundamental provisions themselves. In other words, the system of equations does not contain free variables, and, accordingly, we do not have degrees of freedom of mechanism. Of course, we are talking about a specific mathematical model.But discarding f7, we formally get one degree of freedom, and with it a slight deformation of the "yellow" lever (in our case, L5)
To be honest, I made this mechanism out of curiosity. I was interested in testing exactly this approach. And this is where my knowledge ends.
If we talk about inverse kinematics, then I do not quite understand what "switching" is. But, I think that we can always replace the right construction (rhombus) with the left one. It is necessary to add equations corresponding to a rhombus to the mathematical model of the left device, and then the left device will work like a rhombus. That is, we virtually remove unnecessary degrees of freedom. This, of course, if I understand your question correctly.
I often look at the forum, but did not see your message, because the "flag" for me was not red. For this it is necessary. to have addressed to me. How do you now have a red flag.
Thanks again for your interest.

Yes, this method is equally suitable for both sequential and parallel manipulators, including the Stewart platform. We take the trajectory we need and solve the inverse problem.
(By the way, here on the forum at the end of the topic in the comments there is an example.)

I won’t say that I understood what the text of the message is about, but as for solving the inverse problem of the kinematics of manipulators, there is one simple and unambiguous way to solve the inverse problem – a way to reduce this problem to the kinematics of lever mechanisms. This is achieved by mathematically reducing the number of degrees of freedom to 1 (that is, by the introduction of additional restrictions using mathematical equations).
Maple examples:

Why an optimization package? The zeros of the derivative of the Gamma function indicate its extreme values. Having found the zeros of the derivative in the desired range, you will select the amplitudes you need. 
Or did I not understand something?

I wish I could see all these pictures at school. In due time, of course.
 I wanted to see what the area of polynomial roots looks like and how to graphically interpret the presence of complex and real roots in the same area. Well, with a reasonable dimension, I think it is possible to somehow understand what's what, using various examples. 
By the way, going around the circle, you can find all the branches leading to solutions, and go to them. (As an alternative solution.)

Have you tried using the nops procedure?
 For example:

@mmcdara   It's okay. This is done intentionally - this can be seen from the text of the program: look at the display, where graphs of different types are located in one direction and in the opposite direction.
(This is if I understood you correctly, because I use an online translator.)

Apparently I couldn't figure out what the question was. 
The spatial method (Draghilev's method) finds the same:
[-1.675392259, 0.108903871]

Basically, you have one equation and one variable. If you want to view your expressions in 3d, then for example

restart; with(plots):
a:= 10; 
smin:= -3; smax:= 2; 
f:= exp(t)+exp(-t^2-2*t); 
g:= exp(-t^2)+exp(-t^2-2*t); 
spacecurve([f, g, t], t = smin .. smax, thickness = 3, view = [-a .. a, -a .. a, -a .. a], axes = normal, color = red)

(Formally, f, g, t can act as independent variables, and you will consider their original expression as a system of two equations with three variables.)

@mmcdara Thanks a lot for your additional work. I will try to adopt your technique, but, most likely, as usual for me, in the form of a ready-made block. Of course, to some extent I understand your text, but I still never can work at such high level. Maple is something fantastic, and that's why I manage to somehow show the some algorithms that were once interesting to me. I do not hide, I am not a professional.

@tomleslie  Oh, I get it, thanks.

@mmcdara  Yes, thanks, everything works now. (But hard for me to understand the text, because I work with Maple at a very amateur level.)

@hamideh  For this polynomial equation, you can express one variable in terms of two others. This is the same as my previous message, only with the formulas.

 f1 := -(1/400)*Pi^2+(.816196912*x1-.408547794*x2-.408547794*x3)^2+(.707106781*x2-.707106781*x3)^2; 
 solve(f1, [x3]);


@hamideh  For example, start a double loop. In the outer loop, change the value of x1, and in the inner loop, change the value of x2 relative to x1, and  solve (f1, [x3]). The solve (f1, [x3]) procedure finds all solutions x3, and you choose the ones you need.

f1 := -(1/400)*Pi^2+(.816196912*x1-.408547794*x2-.408547794*x3)^2+(.707106781*x2-.707106781*x3)^2;

(This is a fairly accurate polynomial approximation to your equation.) Do the same for all periodic solutions that fall within the required range.
If you are not satisfied with the accuracy of the solution, then you can always supplement the loop with the fsolve procedure, but this time relative to your original equation, indicating the corresponding range for the fsolve procedure.
You will succeed.

 Yes, it was necessary to start much more to the left. Then everything fits together.



1 2 3 4 5 6 7 Last Page 3 of 24