one man

Alexey Ivanov

815 Reputation

14 Badges

8 years, 258 days
Russian Federation

Social Networks and Content at

Maple Application Center

MaplePrimes Activity

These are replies submitted by one man

I think that the whole complex of tasks related to the solution of the manipulator's inverse problem can be performed directly in Maple. It will be faster and even more convenient than in specialized CAD. Some known schemes of manipulators are ready for testing; it remains only to perform the formalities associated with the recording of control programs.

1,  It is clear how to make a mathematical model of a manipulator. And for this there are several examples.
2.  The problem of finding the starting points of motion is conveniently to perform using Maple graphics  and with solve or fsolve functions, for example, in a separate program.
3.  The solution of the direct problem is simply routine programming.

Of course, I may be wrong, but for some reason it so seems to me.

@rlewis  for example  Number of system solutions = 2

First we need to finding all the branches of the curve. To do this, we must solve this system of equations for only one t when 0< t <4.

To avoid ambiguity in motion, we impose additional restrictions on the points of the manipulator, thereby reducing the number of degrees of freedom to one.

3d three-link manipulator with four degrees of freedom.  Movement in a spiral.

An example of an inverse problem for the 3d two-link manipulator with four degrees of freedom. The movement occurs along a straight line between the red and green points. The fourth degree of freedom is formed due to the possibility of the first link to move along the axis oX1 (oX).
The angles of the first link with respect to the coordinate axes are printed by numbers, the angle between the links is represented by an arc, and the change in x1 is simply visible.
Any movement of the extreme point of the manipulator can be specified by a finite set of motions along straight lines, which means that on the basis of such a mathematical model it is possible to calculate any working trajectories.


The inverse problem for a four-link manipulator with five degrees of freedom.

@herclau  If you want a solution for your system of equations, it is very simple, for example:

If you want to get this picture, then I can tell you where to look for the author, this is the participant  of  uni.  Believe me, this drawing does not have any relation to the method of Draghilev. It's just a uni's  fantasy.
For example:

 this manipulator can not connect points from the first post (here these points are blue) in a straight line. The technical data of the manipulator and its position allow to reach only the black point.

@tomleslie  Thank you very much for your explanations.

@Ronan  I'm sorry if something does not work, it's actually a working code. I think you already used the changes from tomleslie.
I had hoped that all will be clear by a preliminary description.
As for the explanations, they are most likely here

Such explanations are difficult for me to insert into the code.
Always ready to answer all your questions...

Text with corrections

@David1 one (first) line, if it is rotated, can cross another fixed line in an infinite number of points. Because the first line has two degrees of freedom, and the intersection point of the lines has one degree of freedom. Then your system of equations must have two free variables.
The task is to calculate the manipulator?

You acknowledge that your variables are the angles of rotation, these angles are only three, then the variable is not 15, but 9.
Look at the definition of what is called a polynomial system of equations. It does not depend on our desire.

I think it would be great to show colleagues your whole task.

@fereydoon_shekofte  Sorry, I know English worse than I know Maple.

A small addition to the text, and we have a tangent cube.
One face of the cube belongs to the tangent plane.

Thank you, Yuri Nikolaevich, r: = sqrt (add (d [i] ^ 2, i = 1..nops (d))) is already available to my understanding.

r: = sqrt (`+` (`~` [`^`] (d, 2) [])); Instead of r: = sqrt (add (`~` [`^`] (d, 2))); ?
(I'll never understand this.)
Many thanks, now everything works.


I do not know how to use the "proc" function. I wanted, at least formally, to master this function also for another task.
But your  text is reproduced with an error. (My max available version is Maple 17)
Look, please, what's wrong:

> K := NPar([f1, f2], X0, 9.6, 100);

Error, (in NPar) invalid input: add expects 2 arguments, but received 1



2 3 4 5 6 7 8 Last Page 4 of 20