close-circle
Close
0%
0%

Affordable Exoskeleton Arm (ExoArm)

An affordable Exoskeleton Arm (ExoArm), that will help elderly, disabled people and workers complete everyday tasks with less exhaustion.

Similar projects worth following
close
I remember watching my grandmother struggling when moving heavy things around when I was younger. So when I was 15, I had big plans on making an exoskeleton arm that would help her. I had a notebook filled with sketches and designs (I turned whole house upside down to find it but I think it's lost) of the ExoArm using buttons and no microcontroller. Good times.

Now that I'm older, I have a new goal. The goal is that people who can't afford to buy those expensive exo-arms, have a chance of making one by themselves. From scratch, with little to no money. I've received many mails from people from third world countries that will try and make one by themselves! And this is so awesome!
So until the end of this competition, I will focus all my work into making this arm little more user-friendly and practical to use.

All the best!

Kristjan B.

Update that is also included in Project Logs, but I'll put it here non the less.  

First prototype is complete!

How to make it:

Measurements are not defined because until the arm is "universal size" the lengths vary from person to person. So the best act will be that you measure your own arm and use those measurements.

ExoArm_test1.ino

Please ignore all the trash in the code. It works, but not really. I mean, I know what it does, but don't expect that you will, because it's really all over the place. If you have any questions, feel free to ask and I'll try to help as much as I can!

ino - 3.17 kB - 08/03/2017 at 19:58

download-circle
Download

View all 15 components

  • Schematics

    Kristjan Berce10/21/2017 at 12:51 0 comments

    A schematics. I never got to make a PCB, but that doesn't mean you shouldn't. It's actually very easy, as you can see that there are no resistors, diodes etc.

    For components and links go to PARTS LIST.

  • SOFTware

    Kristjan Berce10/21/2017 at 10:38 0 comments

    Code? Well if I knew how to make a good program that runs it.. I spoke to a friend of mine that is extremely good in electronics and programming, and he said that the most optimal solution to intuitive control would be to insert strain gauge in your bones. But in this world that is not possible and probably never will be. So there's that. 

    See, the problem is that the ExoArm must read the weight of object you lift before it even tries to assist you in lifting. And that is so hard. So hard. Weight changes depending on the angle of fore arm, how your arm is angled in respect to earth, etc. I'm not saying it's impossible, but it would really take some time to make this happen. 

    SO if you are looking to make one yourself, and are not that good in programming you should just use 2 buttons. It's astronomically easier. 


    MUSCLE SENSOR:

    Short answer. No. Why? Because. 

    Just kidding. I tried using it and it did not work as I thought it will. Not even a bit. See the problem is that when you put the electrode on your biceps, you can trigger it just by stretching your skin. it causes so much electricity that it false triggers and device thinks that you send a muscle signal. So when the Exo-Arm is fastened to your arm, the belt will stretch your skin, especially at the biceps. What happens? Exo-Arm flexes, but does not let go, because it thinks you're still sending signals to the biceps when the only signal is your stretched skin, if that makes any sense.


    Where to put all electronics?  

    I spend so much time trying to come up with a decent place. Perhaps a good starting point would be a little "backpack thingy" that sits on your shoulder or maybe even a small backpack. See the problem are batteries. They are rather heavy and make things difficult. We must also keep in mind that this should be as low cost as possible, so no fancy ExoBacks or similar things. 

  • HARDware

    Kristjan Berce10/21/2017 at 10:18 0 comments

    This are all the wooden and aluminum parts you'll need, minus the mounts that hold wood plates (check out the videos). Please keep in mind that there are no holes. But why Kristjan? Because I'm 99.9999% sure that every motor you'll find has different geometry, every arm is different and it goes on. So in order to make this arm, you'll need to be creative. You can follow my instructions as far as you can, but I can promise you that you'll have to figure things on your own too. But hey! That's all part of experience and that is the most valuable thing in life next to health and knowledge.

  • PID control

    Kristjan Berce10/20/2017 at 15:33 0 comments

    Here is a little test with PID control. As you can see it can hold a position pretty well. The PID is not tuned. That's why you can hear that beeping sound coming from the motor. 

    Now all I have to do is to join PID control with intuitive movement, so that I can actually lift something. 

    This video is without any regulator/power:

    Here you can see PID regulator in action. It is designed so that it holds a setpoint (angle), and tries to do that no matter whether there is a force on it or not)

  • What YOU should do if you make one, or what I should have done

    Kristjan Berce10/19/2017 at 12:50 0 comments

    Let's start off with the MOTOR. I'm using windshield wiper motor, but it is a stupid idea. Well not stupid but a beginners mistake. It's heavy. So heavy in fact that it pulls the whole ExoArm from your arm. I used it because I had ideas of using this ExoArm to lift 10kg and more. What I did not account for was that this ExoArm needs back support if one would wish to lift this kind of loads. But then it wouldn't cost $100 but more like $200.  

    So if you are going to make this arm, I suggest you try the motor that lifts and lowers the car glass window. It's lighter, it has lower torque, but for our applications it's good enough. 

    Something like this: https://www.ebay.com/itm/Power-Window-Motor-Front-Left-ACI-MAXAIR-83098-fits-98-11-Lincoln-Town-Car-/253215691421?epid=75818760&hash=item3af4d4d29d:g:DrgAAOSwno1ZpYq8&vxp=mtr

    But I strongly suggest that you visit a local car junkyard and buy one there. Who would spend $50 on a new motor if you can get used one for $20. 

    Second, how to fix your arm to the ExoArm. If you look at my design, you will see that the only supports that I used are on the bottom and on the side (wood plates and foam). I encourage you that you place a support on the upper part as well. It will make your arm fit tighter to the ExoArm and therefore make it more intuitive. 

  • 19 October (I'm back)

    Kristjan Berce10/19/2017 at 12:02 0 comments

    I'm back and it's two days until the deadline. Which is funny. This summer was hectic and I honestly didn't have much time to sit behind computer and stare in the code while sipping 6th cup of coffee. What little time I had I've been experimenting with arm and I'm getting better and better responses from it. I also resorted to 3D printing because I'm at collage and don't have access to a workshop. All the parts will be designed in a way that they can also be made from wood or any other material.

    To keep this short, in the time of making this project I came to few conclusions and what should be done to make this ExoArm better. I will make another Project Log where I'll talk about that. 

  • july 9, 2017

    Kristjan Berce07/09/2017 at 13:17 0 comments

    Decided to make the stand little more functional.

    Not much going on at the moment regarding the ExoArm. I'm still throwing my time out of the windows trying to make it work with a weight attached to it and I can say with all of my heart that it's a lot harder than it might look.

    Stay tuned for updates, it is bound to happen anytime now! :)

  • july 3, 2017

    Kristjan Berce07/03/2017 at 14:18 0 comments

    The idea turned to reality! It actually works, and I'm super hyped!

    Next thing is to make it useful for lifting heavier things and to somehow detect when something is suspended on it.

  • june 30, 2017

    Kristjan Berce06/30/2017 at 14:44 1 comment

    The SG (strain gauge) is mounted on the forearm. I placed 2.5kg weight on the arm, the SG did the job and everyone is happy forever. Well not really. Not yet. When I applied pressure upwards, the sensor value decreased, which is a good sign so big props to the theory from june 20 log. The battle is on!

    Next step is to create a holder for the arm, so that I can further test it (putting it on and off from my arm is agonizing especially if I do it 40 times a day).

  • june 20, 2017

    Kristjan Berce06/20/2017 at 17:47 0 comments

    I'm still waiting to receive the strain gauge that will be placed in the middle of fore arm. It will be used to determine if there is any object suspended on the ExoArm.

    So far my idea is as following (it's just the idea and may have big flaws, but until I receive the part I can't be sure)

    - There is no weight on the ExoArm:

    This one is simple. Strain gauge will deflect when my arm is moved up or down, so controlling this movement shouldn't be so hard.

    - An object is suspended on the ExoArm:

    The strain gauge sensor will detect a mass of the object, therefore we know the force and also torque. Torque changes with the angle (theta) of the object but if we say that the upper arm is parallel to the body, then the Phi angle is the same as -Theta angle.

    So now we have a good estimate of the torque. Here is the part where I lose my "insight" into the mechanics. If an object is suspended on the ExoArm when I try to move my arm up, the torque on the ExoArm changes. And if torque changes, the output of strain gauge also changes, therefore the ExoArm will follow your arm depending whether the strain gauge output it bigger or smaller. So this could maybe be an effective way to control the ExoArm. I'm still thinking and trying to come up with a 100% effective way, but at the moment this is as furthest as I am.

    Would love to hear your ideas and suggestions!

View all 11 project logs

Enjoy this project?

Share

Discussions

nikki.london2030 wrote 10/19/2017 at 22:42 point

Sorry I forgot to add a suggestion to use aluminum instead of steel as another option for light weight

  Are you sure? yes | no

Kristjan Berce wrote 10/21/2017 at 10:40 point

Check out your messages! :)

  Are you sure? yes | no

nikki.london2030 wrote 10/19/2017 at 22:31 point

Comments for exoarm:

1. Could you consider using acrylic sheet instead of steel to make it lighter

2. Would it be possible make/sew up a pouch to house all electronic cables at the back

3. You could consider making adjustable length of the arm by having it moving up and down along 2 strips of plastic with holes and a pin to lock in suitable or chosen position. Forgive me if I am not describing it well here.

Sorry I dont have the electronic knowledge to have input.

  Are you sure? yes | no

nikki.london2030 wrote 10/19/2017 at 22:19 point

Hi. I am very impressed. I am not an engineer. I am carer and I have one pledge to you and the community of exoskeleton to build a device to help my Mum to stand up. She had multiple strokes which caused her left arm paralysis. She has some sensation but could not lift arm or left leg. The NHS wrote her off. I know if I can get Mum to stand up I can start re-train her to walk again. Can you all please help me. I have a small fund for this project. If you can please contact me nikki.london2030@gmail.com

I can see the arm of this project can be useful for me to pick Mum up (43Kg) from bed to wheelchair in situation that the hoist is out of order or when the hoist is not able to reach her at floor level (which happened yesterday when she slipped and I had to pick her up with my two arms- I am only small 5 ft 60kg). Thanks a million for reading and hope you can help. Regards.

  Are you sure? yes | no

saadahlufdy19 wrote 09/27/2017 at 04:23 point

what is the value of the strain gauge that youre using just now for this project

  Are you sure? yes | no

Conor wrote 08/25/2017 at 14:08 point

what's the green board next to the arduino duo?

  Are you sure? yes | no

Kristjan Berce wrote 08/26/2017 at 15:03 point

It's the motor driver :)

  Are you sure? yes | no

pafgomes wrote 08/15/2017 at 00:39 point

Hi,

Congrats on the project. Makes a lot of sense to me. Here to help where I can. Some open thoughts:

Have you considered using a linear motor based on screw-and-nut or ballscrew, to move the arm? The angle of the screw will autoblock the movement. The stepper motor will move it precisely in both directions. The angle on the screw an the friction coeficient will control the amount of weight you can load. You can use the muscle detectors (or two strain gauges) to trigger motion in both ways. 

From an ergonomic point of view, consider increasing the connection points to the torso. I know it makes the arm harder to put on, but consider that if you load 10kg at the end of the arm, you will apply a considerable torque to the back. You might cause a back injury. The user will not be used to lift those loads, hence weak back... 

hope this helps. What kind of help do you need?

Keep up the good job!

Paulo

  Are you sure? yes | no

Kristjan Berce wrote 08/26/2017 at 15:05 point

Hey! sorry for the late reply!

Linear motor was my first option, however they are slow and expensive.

Yes, my next goal is to make something useful for the back, because it's kinda frustrating to wear only exoarm, without any support.

  Are you sure? yes | no

mikey wrote 08/01/2017 at 22:12 point

Hi,

Are you able to give a diagram on how you set up the arm, current parts used, and current code (current arm with the strain gauge). Imma build one for a project :)

Many thanks, Mike

  Are you sure? yes | no

dnetford wrote 07/01/2017 at 03:31 point

Hello. This is a great project. Im mechanical enginner from venezuela, About the auto calibration of the weight you need. 
I think you need to set the arm with this logic:
If
you carry a weigh that displace the hand Y amound of length it is
directly proportional to the force that cause the displacement. So, the
sensor need to be at 0º and you have to keep in that position. With the
displacement value you can switch on the motor an it will apply the
correct charge of energy to keep the wight lifted in the desire
position.

  Are you sure? yes | no

Kristjan Berce wrote 07/03/2017 at 15:11 point

Thanks! Yes I had a similar idea in mind. Will try to implement this in the code soon :)

  Are you sure? yes | no

PflegeRitter wrote 07/01/2017 at 03:07 point

Beautyful idea. I was searching around for some Input. Im a Nurse and i am about to build a similar device for a Patient. Great Inspiration.Ty<3

  Are you sure? yes | no

Kristjan Berce wrote 07/02/2017 at 10:40 point

Thanks! It's good to hear that this project gives ideas and inspirations to other people :)

  Are you sure? yes | no

Olaf Baeyens wrote 06/29/2017 at 20:27 point

Don't forget safety features, you don't want it to break someones arm when a sensor or bad wiring gives faulty data. 

  Are you sure? yes | no

Kristjan Berce wrote 06/29/2017 at 20:36 point

It's not said in the videos directly, but if you look at the junction of fore arm, upper arm and where they are fastened to the motor, you can see that the upper arm limits extention of the fore arm. (Video).

  Are you sure? yes | no

Colby wrote 06/29/2017 at 19:33 point

Have you tried using a force gauge for controlling the arm instead? Here's an example:

https://www.adafruit.com/product/1075?gclid=Cj0KCQjwytLKBRCXARIsAPchlXqmr1u17jbQKqnQ0pskK0W3lwofswO92I8CwuVYLZLhAU5uXeemI6AaAhlJEALw_wcB

You could put this in between your arm and the device, so when you push up with your arm, the arm follows. You could base the speed of the arm on how hard you push on the sensor. 

I do foresee potential problems with getting good contact between your arm and sensor, and with pushing the sensor hard enough to register a change. So you could use a long and wide "lever" that would multiply the force on the gauge, while also increasing the area you can push on. Similar to how a microswitch works. 

  Are you sure? yes | no

Kristjan Berce wrote 06/29/2017 at 21:05 point

I nearly used this kind of control method, but then I realized; what about when there is weight on the exoskeleton? The weight of the object would pull down, and trigger the sensor that is on the upper side. I guess I could try to compensate this in the code, but after some thinking I came to a conclusion that it would be better to use strain gauge and play with torque on the ExoArm. I will make a video/post soon because I just received this strain gauge sensor and will try to use it. So stay tuned! :)

  Are you sure? yes | no

Colby wrote 06/29/2017 at 21:19 point

You actually want the motor to get more current and therefore output more torque the heavier the load is, correct? If you think about it, the motors just amplify the force by your arm, so it would make sense to supply them more power when you are carrying something heavy. I think the body would intuitively adapt to this as well. 

As far as triggering the sensors too soon, all you would need to do is tune the cutoff level at which you don't want the motors to come on at all, and the ratio of force to output voltage or PWM duty cycle. In fact that looks strangely like y=mx+b... turns out math is useful :). 

  Are you sure? yes | no

Kristjan Berce wrote 06/30/2017 at 11:06 point

I can't respond to your latest comment, so I'll reply here (I hope you see this).

Yes, you just described PID control :) But this still doesn't solve the flex/extend arm problem. 

Also, I have a bad feeling that torque to current plot is more of exponential nature then linear as you said. But for my goal, I probably can assume that it's in fact linear. Will do some testing in these days so I'll keep you updated! 

  Are you sure? yes | no

Colby wrote 07/01/2017 at 21:15 point

I don't think it would be too hard to compensate, but it's up to you :). 

  Are you sure? yes | no

Samtw2005 wrote 05/04/2017 at 19:54 point

thanks 

  Are you sure? yes | no

Samtw2005 wrote 05/04/2017 at 01:01 point

job

  Are you sure? yes | no

Samtw2005 wrote 05/04/2017 at 01:01 point

and  great jo

  Are you sure? yes | no

Samtw2005 wrote 05/04/2017 at 01:01 point

the code 

  Are you sure? yes | no

Samtw2005 wrote 05/04/2017 at 01:00 point

where is the cod

  Are you sure? yes | no

Kristjan Berce wrote 05/04/2017 at 12:32 point

I just added it to "FILES" tab.

  Are you sure? yes | no

Ember Leona wrote 03/31/2017 at 22:48 point

Can you add a cherry picker... I learned 3 pulleys two on ceiling and 1 on floor divides the tensions so that makes lifting easier. Maybe keep that idea in mind I wish we made pulleys like this tiny.cc/faradayrim

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates