Stewart Platform(HELP)

Hello guys. I have a very big problem. I am studying mechanical engineering and my professor gave me stewart platform to build for the projct. IF I CANT PASS THIS MY SCHOOL WILL EXTEND.

I have about 40 - 55 days to the deadline.
By the way school doesnt give us inverse kinematics and C++ lessons. I cannot calculate the plarform but i understand codes because of English(thank god).

I can fluently speak english. Can get help on skype if you are not so busy.

I am not sure my teacher knows how to do it. He is not even helping me. Everytime i ask him he tells me when the deadline is.

So I NEED YOUR HELP!!

First of all the platform will be controlled by 2 joysticks. One of them will keep the platform parallel to the floor but moves if left right back and forw. The other one will tilt the platform (forward signal - tilt head down for ex.). And all these moves should be analog signals. So if i push joystick half the platform should tilt half or go halfway.

http://forum.arduino.cc/index.php?topic=157273.0

In this topic i can see the calculation but i dont know how to calculate it in my project.

http://forum.arduino.cc/index.php?topic=227813.0

This one can be a little explaining. Because of many answers.

http://m.instructables.com/id/Arduino-controlled-Rotary-Stewart-Platform/

And this one is totally explaining. But he is not controlling the system with 2 joystick so o have to change the code.

- I am going to use same templates from 3rd link. I will get same acrylic cut.
- The project have to work if doesnt i fail.
- It doesnt have to be controlled with 2 joystick. He just wants to see it work. If you have another idea to control it thats fine.
If android cellphone can control it thats better.

You better send me mail. Android notifications are good

E-mail : orcun.ozgur@gmail.com

I WILL MAKE DONATIONS FOR HELPERS BY THE WAY :wink:

If i break forum rules i am sorry.

By the way school doesnt give us inverse kinematics and C++ lessons.

The school I went to 36 years ago offered programming classes. I can't believe that your school doesn't offer programming classes.

I am not sure my teacher knows how to do it. He is not even helping me.

So, quit asking. Start building. YOU are the one that needs to do the work.

What have you done so far?

In the 3rd link there are cnc files for cutting acrylic. I will use them because it has dimentions on it.

Have every equipment except arduino card.

Just 1 problem and its the code.

I don have an internet connection at the place where i stay.(pretty sad to say this) so i couldnt search meanings of codes. After today i will spend my whole day at school for connection.

So the only problem is code. I dont understand what are they saying. I know the algoritm logic but the meanings are killing me.

Thanks for help by the way

Zozing:
I know the algoritm logic but the meanings are killing me.

Post some examples of the things you don't understand and we may be able to help.

...R

Robin2:
Post some examples of the things you don't understand and we may be able to help.

Agreed.

What are the two joysticks you'll be using?

How do they connect to the microcontroller?

Robin2:
Post some examples of the things you don't understand and we may be able to help.

...R

At first i have to understand how am i going to control with joysticks. Then i will start typing my code.

DuaneDegn:
Agreed.

What are the two joysticks you'll be using?

How do they connect to the microcontroller?

This pic shows how i planned but if its hard i will change it.

https://www.google.com.tr/search?q=joystick+module&espv=2&biw=1536&bih=764&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMI3JOQlLWUyQIVBMAUCh1JFQxV#imgrc=O4loqxF7IdtigM%3A

And this is the joystick it has 3 different signals.

  1. potansiometer for x axis (analog)[0-1023]
  2. potansiometer for y axis (analog)[0-1023]
  3. pressing on to it (digital)

https://www.google.com.tr/search?q=joystick+module&espv=2&biw=1536&bih=729&source=lnms&tbm=isch&sa=X&ved=0CAYQ_AUoAWoVChMIttzCnLOUyQIVyVkUCh1BuQMz#tbm=isch&q=sg+90&imgrc=DFn5Zy-r_2wk-M%3A

This is the servo model i have.

in here you can see the pulse width

If you guys have any suggestions to control the platform just say it i will think about appyling them

I suspect you are over-thinking this problem.

Get a servo and joystick and write a short program to make the servo track the joystick position. Assuming your joystick is just a pair of potentiometers, there is code to do that (with one potentiometer) in Planning and Implementing a Program.

When you see how that process works I think it will then be easier to plan the rest of your project.

...R

Controling servos are easy. Controling servos in linear is hard... thats why we have kinematics and inverse kinematics the problem is the equations between servos

Zozing:
Controling servos are easy. Controling servos in linear is hard... thats why we have kinematics and inverse kinematics the problem is the equations between servos

You should still start with a simple program and extend its capabilities piece by piece.

...R

Servo servo[6]; //this means we have 6 servos right ?
Static int zero[6] he put signals for horizontal positions

Static float arr[6] i dont know what is this part.

static float theta_a[6]

static int servo_pos[6]

const float beta[]

after static float arr[6] i dont understand what is program doing

Post the piece of code properly. Use the code button </> so your code looks like this and is easy to copy to a text editor

Much better, post the whole program.

...R

The joysticks you linked to would work fine but it looks like the second joystick just controls the height, is this correct?

I you only need three of the four pots of the two joysticks you could use a single joystick like this one.

I'm a sucker for joysticks so I purchased one even though I didn't really need it. It seems like a great fit for a Stewart Platform.

The little 9g servos should work as long as they don't need to lift much. If you need 6 servos, I suggest purchasing 10. Those things wear out and start to jitter. Once the jittering starts if gets much worse quickly. I have a little hexapod with those type of servos. I have to replace the servos every so often.

I personally like HobbyKing's HXT900 servos more than the 9g Towerpro servos. The HXT900 are surprisingly strong and can rotate a full 180 degrees. The Towerpro servos should work okay.

It will simplify the program is you can use all the same brand of servo. Different servo brands will have different pulse to angle conversion factors.

People new to robotic projects are often tripped up by the power supply issue. Servos require a surprising about of power. I mentioned servos jittering from wearing out, a more common cause of servo jitter is from insufficient power. You'll want a good 5V or 6V supply for the servos.

Those 9g servos are not considered standard size servos. Make sure the platform you're making is designed for those servos.

Zozing:

Servo servo[6]; //this means we have 6 servos right ?
Static int zero[6] he put signals for horizontal positions

Static float arr[6] i dont know what is this part.

static float theta_a[6]

static int servo_pos[6]

const float beta[]

after static float arr[6] i dont understand what is program doing

Do you understand the difference between an int and a float? The Arduino is limited to integers for input and output. analogRead() is an integer. analogWrite() is an integer. Servo positions use integers. Anything that is declared as int is likely to be part of the mechanics that make it work.

Floats are more like real measurements. The distance between your fingertips might be 2.3456mm, which is a floating-point number. The angle required for one servo might be 92.345 degrees. So anything that's declared as float is likely to be a physical measurement.

static float arr[6] is described in the comment line immediately above it. It holds the requested position for the platform. If you want to move it 2.345mm in the x direction, then add 2.345mm to the x value in that array. Then the calculations will turn this into the integer values required to drive the servos to that position.