I want to use a hexapod (gough stewart platform) in mechanical application.
The hexapode is formed with:
_ 1 base plate (ground)
_ 1 end effector (platform)
_ 6 leg (mechanical drive effector)
This system have 6 DoF for platform
For build this mechanical device, I need to calculate:
_ inverse kinematics : If i know the posture of platform, I find the leg lenght
(the posture is : 3 positions : dX,dY,dZ and 3 rotations : dRX,dRY,dRZ)
_ Leg Forces (traction-compression only generated in leg)
For start, i build the geometrical model, for this, i define a ground mark : O with coordinates 0,0,0
I define the hinge point of base : Ai
I define the hinge point of platform : Bi
I define the C point is the géometrical center of platform
Now the leg are AiBi vector
I define a user mark
The user mark M ( 3 positions + 3 orientations) is define to mark O ( the origin of mark M is the point of interest)
For moving the platform, i define a new mark Mc from M
This mark is mark M augmented with strokes
And finally i calculate the AiBi vector, and i find the leg lenght.
I calculate AiBi at nominal position : not mouved platform
I calculate AiBi at mouved position
I find the stroke of effector (leg displacement)
Now I have a problem for Trajectory calculation
For know the stroke of effector, is necessary to compute leg lenght for trajectory.
The start point is define with stroke (in Mc)
The end point is
I use a lambda parameter for hash trajectory with 20 points for example
Now I find 20 group of position parameter.
I want to run my calculus for all position group, and finally i make a graph with leg lenght for position parameter group.
My calculus is right for calculate leg lenght for one position of platforme in 3D space.
But i can’t calculate for trajectory ( group of parameter ) and i can’t make a graph
I’am a mechanical men, not a software programmer (lol)
Do you can to help me ?
in first step. Perhaps i make 2 program
Calculate all coordinates for trajectory points in 3D space
with stroke data entry
i make program wich calculate sucessive positions for all 6 parameters
example for only dX translation:
first position is dXmin
second position is dXmin+dXstep
... ( the step is (dXmax - dXmin) / lambda)
end with last position = dXmax
All position (dX,dY,dZ,dRX,dRY,dRZ) are must be concatenated in matrix Mc
wrong ! it's don't work
I am bad in programming
please help me
I don't understand to correctly use mathcad program
But i have problem with LucMeekes solution's
if the dY strokes = 0 (dYmin=0 , dYmax=0)
I don't have 0 in matrix ! because i divide by 0 in dY stroke calculus ! it,s wrong!
I want to give 0 in my matrix if stroke =0
maybe it's necessary to build programming solution for resolve this ?
i'm very sad, i'm alone in the dark with mathcad programming
i find the problem
is ORIGIN Mathcad parameter
But it's not work correctly
and i need same number of point for each matrix
if dx have 20 rows
i need dy,dz,dRx,dRy,dRz have equal rows , here 20 rows
if, for example dy=0
i need 20 rows equal 0 in dy matrix ...
I'm very very bad in programming
And i need concatenated all in one matrix
I try it
But i have another problem
it's OK for stroke = 0 at 0 positions
But it's wrong if the stroke =0 , nut the position = 5 for example
If dZmin= 5 and dZmax=5 the stroke =0 but the position of platform = 5
and finally i need my dZ matrix have :
for this last item, it's wrong, but i'm getting closer
You know the coordinates in 3D cartesean space of the base of your six effectors (the A's in your diagram.)
If you know the posture of the platform then you know the coordinates of the B's, the ends of the effectors.
The length of each effector then is the magnitude of the vector |B-A|.
The challenge is going to be to restrict the platform to the range of acceptable effector lengths.