Close

PID woes Solved and New designing phase

A project log for Inexpensive 3D Printed Full Size Humanoid Robot

I'm designing a super cheap humanoid robot platform. It is going to be the same size as an adult person.

dan-dwroboticsDan DWRobotics 07/22/2017 at 12:330 Comments

Small update 22/07/17:

I realised something that had been working against me massively. The legs seemed to be much less controlled than I expected, always shakey and the power wasn't as high as I had thought it should be.It all came down to the PID calculations I had programmed. I was racking my brains to trying to work out how to calculate the Derivative value and then I noticed something. I had been adding my P and I values together because the sum fitted nicely into a usuable value for PWM. But with PID you are supposed to multiply the P and the I and this gives you the proportional output required. However when multiplying my P and I , I was getting crazy values, far too high to use with PWM. The solution was really simple - divide the result by 10!

 The I have values I can use in PWM and I can also tune that number to vary my overall speed and strength. The legs seem to move a lot more smoothly now.

   I am currently trying to design the upper arms. It is surprisingly difficult to work out because I need to add a 'swivel' to the section between the shoulder and the elbow, which allows the arm to move in a similar manner to humans. I have some designs for turntable type swivel motion but they are not rigid and they are also enormous which is not going to translate very well to a human type form.

   I have also printed a 'bicep' joint which I am fairly happy with, but it impossible to know how it will look until I design the upper arm . This part is always really difficult because I know how I want to achieve something and have a rough idea of how to do it, but it takes a huge amount of time to work the 'best' way to do something. It means sketching on paper or even just staring at pieces that I have laying around and trying to reconfigure them in my mind to get a working piece. Very long and quite frustrating. 

As you can see. My designs are nothing more than massive cogs. No where near as advanced as the harmonic drives and brushless motors of ASIMO or those massive robotis servos. But to get a similarly sized robot servo I would be looking at a huge cost, whereas I can make each joint for around £5 so if it means I can make a whole robot I am going to go with the simple and cheaper option. The way I see it, human muscles are very much analog. The thing that makes ballet dancers so graceful is a combination of the sensors and processor. If you have a good processor and lots of sensor data, you can achieve a decent amount. I was always planning to put a powerful onboard PC solution on the machine, so that should be able to crunch the numbers. The arduino is essentially just a big servo controller.

Discussions