Close
0%
0%

My Advanced Realistic Humanoid Robots Project

Building bio inspired realistic looking humanoid robots to do chores and sports and stuff.

Public Chat
Similar projects worth following
I am working to make a series of humanoid robots. I am using a Biblical theme of naming the first 3 robots I make Adam, Eve, and Abel. The goal is for these robots to have human body inspired musculoskeletal systems, advanced AI, and that they look human and pass for human to a casual observer at least at a distance. They must be able to walk, talk, run, dance, do sports, do chores, manufacture products, and make more robots just like themselves if not even better. My aim is to build a single robot arm and head and then add sufficiently advanced AI to that arm and head to enable it to build the rest of its own body for me. This way I am delegating the work of building the majority of my first humanoid robot to that robot rather than doing that work myself - and this is to save me time.

In a like manner, my goal with the AI is to code just enough AI that the AI can begin coding itself and this way I don't have to code most of the AI myself because it will self create.

My robots will use low cost BLDC motors commonly used for drones, RC, and scooters that are high speed and low-ish torque but I will downgear those motors with a Archimedes pulley system that will be custom made from custom fabricated pulleys that will be bearings based. By downgearing with pulleys, instead of gears, I will cut down the noise the robots make so they will be as silent as possible for indoor use. By downgearing, I convert the high speed motors into moderate speeds with great torque. BLDC motors with large torque generally are too large in diameter for a human form factor and take up too much volumetric area to be useful, which is why I go with the high speed smaller diameter type motors but just heavily downgear them 32:1 and 64:1. In my opinion, brushed DC motors are too loud for high quality indoor robotics and way less powerful than an equivalently sized BLDC motor, so I won't be using them at all in my robots.

My robots will have realistic silicone skin. Thom Floutz -LA based painter, sculptor, and make-up artist is my inspiration as it pertains to realistic skin. The skin for my robots has to be at his level to be acceptable. It must be nearly impossible to tell the robot is not human to be acceptable. I will have a wireframe mesh exoskeleton that simulates the volumes and movements of muscle underneath the skin which will give the skin its volumetric form like muscles do. Within these hollow wireframe mesh frameworks will be all the electronics and their cooling systems.

All of my motor controllers will be custom made since I need them VERY small to fit into the confined spaces I have to work with.

I need LOADS of motors to replace every pertinent muscle of the human body in such a way that the robots can move in all the ways humans move and have at least human level strength and speed.

I will have a onboard mini itx gaming PC as the main brains PC of the robot and will have Arduino Megas as the motor controllers and sensor reading devices that interface with the main brains pc. My Arduino Megas will be barebones to keep the volumetric area they take up as small as possible.

  • Some Minor Design Changes

    Larry2 days ago 0 comments

    Ok so a few minor updates:

    I have decided that since I am employing tension springs to actively work against the motors in a constant tug-of-war while the motors try to grasp, I'm losing grip strength based on that. To make up for that, I'm going to use a separate motor for the distal-most fingertip joint and the second to distal-most fingertip joint rather than have a single motor do both of these joints. I made these adjustments in my CAD. I will have to change the tubing setup for the grasping tubing of the index finger to reflect this change too. This will also give the fingers even more precision and dexterity in the end - not to mention a massive boost in strength - so it's well worth it.

    I also decided to use n20 gear motors for the axial rotation of the base of the fingers instead of BLDC motors like everything else since these will only be used when doing the tiniest of micro adjustments and rarely employed - so a little gear noise once in a blue moon for this precision work on a tiny scale should not be that bad. So that's 4 N20 gearmotors going in. These are being used just to save on space taken and pulleys needed a bit. I'm putting these 4 into the forearm in location pictured.

    Next, when the spring is pulling, I noticed the TPFE guidance tubing goes from straight and relaxed to wavy under the tension. It is trying to compress under the friction which is what causes this. In the worst cases, Will Cogley's robot hand project had this same issue and the tubing literally compacted so much near the ends that it developed wrinkles/folds where it was crushing the tubing and destroying itself under the pressure. Mine is not to that extreme but this is WHY people put metal coils around the tubing for bike brakes to prevent crushing forces onto the tubing. I don't think I will need this but I might put it in certain places as a last ditch effort if needed later. That said, to prevent some of this compaction stuff on the spring's tubing, I'm going to be using TWO tubes which will divide up these forces causing this by 2. Sharing the load between them evenly. So the tension spring will have two fishing lines coming off of it and two tubes to guide that line to the finger joint where it does it's thing.

  • Tension Spring Install for Robot Finger Extension

    Larry02/12/2025 at 08:36 0 comments

    Well the straight spring wire acting as a finger joint spring idea was a bust. Turned out when it bent to 90 degrees it would not return to straight again. I thought spring wire would but this stuff didn't. This is not what chatgpt said would happen so chatgpt failed me this time. Anyways, still glad for its help when its right which is most of the time I think.

    That said, I fell back to my original spring solution which was to use a 3mm diameter tension spring as the return spring. I experimented with different lengths till I got one as short as possible that would stretch out the necessary .75" roughly to accomodate the finger joint's reverse direction counter tension needs. The shorter the spring the more it resists being pulled and also the thicker the spring the more it resists being pulled. I used default thickness from my premade tension spring order and it seemed fine and the length of the spring I cut and tested trial and error till I found a good length for my need. For my .75" draw length I went with one 1cm long spring which stretches itself out to .75" + 1cm in total without ruining itself. It seems like it pulls around 2lb of pulling force but I haven't measured it with a scale. I fed it through bowden tubing from the place I mounted it on the motor all the way to the joint being actuated - the backside of the index finger. It's job is to keep the archimedes pulley system and winch in place pulley taught at all times and to return the finger to full extension when the motor is not actively pulling it into a grasp position. I have not yet tested if it is strong enough to do this job but assume I'll need two of them to be strong enough. I'll test with just one for now and add another spring to double it's strength if needed later.

    I deliberated alot on where to mount this spring and last minute decided to just mount it on the motor it is counter tensioning since I have enough space for it there and I can just follow the same bowden tube routing the motor is using generally. This seemed easiest for me given my massive space constraints and the need for a ton of these springs to handle all the finger joints. Seems like it should work well so far.

  • Archimedes Pulley System V2 Done!

    Larry02/06/2025 at 08:42 0 comments

    Here's my completed V2 archimedes pulley system finally done! It is 16:1 downgearing and this pairs with my 2.77:1 downgearing on the turn in place pulley on the motor for a total of 44:1 downgearing. It is fully rigged then from motor to finger and ready to go into testing soon.

    I just need to do a couple reinforcements here and there on some stuff but overall we are more or less ready to move onto setting up the return springs that my last post mentioned. So that is next. Then electronics to actuate it and test it finally! Exciting times!

    Also, I have come to the realization that these straight spring wires may be perfect for forming the exoskeleton mesh shapes that create the framework scaffolding over which the artificial silicone skin will overlay. The fact it has memory and wants to return to its prior shape after impacts is perfect for this application. I'd be simply forming a grid in the shape of the muscles over the bones using this stuff and then onto this grid I would overlay the silicone skin suit. The grid can be configured to even move under the skin emulating muscle contractions to simulate real muscles moving under the skin in terms of its appearance during movement. I was originally leaning toward zip ties to make this part or nylon 3d printer filament but this spring wire may be even better due to being strong, resistive to breaking even more durability wise, holding its shape perhaps a bit better, etc. The other options I mentioned aren't bad but I just think I might like working with spring wire a bit more intuitively. We'll see.

  • Pulley System and Spring Steel For Finger Joints Updates

    Larry01/31/2025 at 10:50 0 comments

    A couple discoveries were made today.

    #1- I noticed it was about impossible to pull from the bottom of the Archimedes pulley system and get the motor to unwind. After discussing the issue and potential causes with chatgpt for a while we figured out that the culprit is the tensioned string I put onto the output shaft of the motor to allow for snug unwinding and winding of the opposing string pair that I installed for manual turning of the motor shaft during testing. This tensioned string wrapped around the motor shaft only requires about 1lb of force to pull the motor enough to turn the motor output shaft. However, after the downgearing, to fight past that 1lb resistance to turning the motor output shaft would require 12lb of force since you have to divide the force applied at the output end by the number of downgear ratio you are at! And so after all points of friction in the pulleys and teflon tubing and the motor output shaft's magnetic cogging even while freewheeling we might be more like at 13-14lb of force required. And that is a TON of force to apply by just hand gripping fishing line. So I figured my system was just way too resistive somewhere or collectively and completely non-viable until we solved this issue! The 1lb at the motor might not seem big but it's HUGE to overcome when pulling from the backside after all downgearing. Wow. So we solved that big scare. I was very concerned and exploring alternative plans thinking we might have failed with pulleys approach before this was finally solved today. I'm so relieved. So once we remove those strings which are impeding the motor shaft from turning, we should only need a reasonable say 3lb of force on the back end of the pulley system, exerted by springs, to get the motor to unreel for joint extension back to default stance.

    #2 - While exploring the aforementioned issues with trying to unwind the pulley system from the downgeared end, I began to realize the tension spring on the far side that unreels the motor and unwinds the pulley system has to be significant. I was exploring my options when an idea hit me: what if I used straight wires lashed onto the finger like a splint on the finger joint. I could put several fine spring steel straight wires parallel to eachother say .3mm in diameter wires and have them distributed as needed around the finger parallel to the finger. Then when the motor is done actively reeling in the finger to get the finger to flex, these resistive wires will be placing significant force to straighten the finger back out because they want to return to their straight state ASAP. By doing the return spring in this manner I save a TON of space since I'm putting it snugly around the joint itself and then don't have to put tension wires (a ton of them) into the forearm somewhere or w/e. I'm using space hugging so tightly to the finger that its space that seems unuseful until this idea came to me! So I pretty much deleted the volume taken by all the otherwise necessary tension spring wires if this idea works! I bought a large assortment of 40cm length spring steel wire off amazon to experiment and try out my idea. This could be epic! As a side benefit, these can act as additional support for the joint itself preventing sprains and dislocations of the bones and keeping everything snug and compact in a way that really helps support and aid the artificial ligaments I already have in place.

  • Archimedes Pulley System V2 Progress

    Larry01/29/2025 at 07:43 0 comments

    Here's a little update on my version 2 Archimedes pulley system. It's cleaner than v1 version and you'll note that rather than tying off ends into the 1000 denier nylon fabric sleeve of the bone, which chafed the attachment point and caused premature failure on version 1, I'm now tying off onto the eye of a fishing hook that I get by snapping the hook's eye off with wire cutter and sanding smooth with nail file. Also I'm using a fisherman's knot rather than square knots as that handles higher loads without snapping or stress concentrating too much locally. What you see in this photo is 4:1 downgearing. Add this to my 2.77:1 downgearing with the winch in place pulley on the motor by its output shaft and you have nearly 11:1 downgearing so far. I need to add just two more pulleys to get to our 44:1 downgearing final output. Note that I have two yellow lines coming off the bottom pulley pair since I plan to load distribute across two lines instead of just one so I can use my load capacity limited 1x3x1mm ball bearing based pulleys and not overload them. This divides the load by two. I'll be using double stacked pulleys for the next couple downgears to share the load across double pulleys instead of single pulleys. I'm getting so close to electronics phase for final testing of all this downgearing madness!

  • archimedes pulley system update

    Larry01/24/2025 at 03:28 0 comments

    Here's just a couple of my latest design drawings for my archimedes pulley system and a double stacked pulley setup. 

    And here are assorted parts progress for the archimedes pulley system:

  • Double Stacking 1x3x1mm Bearings for More Load Capacity

    Larry01/23/2025 at 04:19 0 comments

    I realized the 1x3x1mm ball bearings are really the perfect size being so small which is ideal to keep things compact but the only disadvantage is they only support I think 10lb weight put on them before they'd break. So I was going to use them for the first couple pulleys in the archimedes pulley system then switch to a plain bearing I made for when the forces get too high for the 1x3x1mm ball bearing to handle in the last couple pulleys. But recently it hit me that I can stack two of the 1x3x1mm bearings on top of eachother and use two fishing lines for that section of pulley to go around these double stacked pulleys in order to double the load capacity. If that is not enough I can add another single or double pulley below it and they would all come up together acting as a single pulley as far as the downgearing goes distributed across more than one bearing. With this approach I can use this type of ball bearing exclusively for everything since I can just add more and more of them for higher load situations in theory. I mean maybe for leg motor downgearing I could bump up to a beefier pulley but we'll see. So that is yet another nice breakthrough idea I had recently.

    I'm currently wrapping up my 2nd archimedes pulley system prototype and will be posting an update on that soon.

  • Avoiding Back EMF Feedback Need for BLDC Motor Controller

    Larry01/21/2025 at 07:35 0 comments

    I had a eureka moment recently that I wanted to share. So basically I was thinking that I may not need to read back emf from a BLDC motor in my custom motor controller. Instead, I can have it just mindlessly advance the motor at a fairly low power mode by default and a default speed of advancement of the rotating electromagnetic field. Without feedback, it may overshoot, rotating faster than the output shaft and thereby skipping some turns. That is the reason why people want to read the back emf to avoid that issue and instead only advance the electromagnetic field forward at just the right moment - the zero point crossing moment. But I was thinking about it and realized that is not really necessary. For this application, if skips start happening, it doesn't really matter. To the degree that skips are happening, the motor will stop advancing the load with its winch system and this will show up when readings are taken by the potentiometer measuring the final joint angle. If alot of skips were taking place, the advancement of the potentiometer would not match the angle it thought it would be at were no skips involved and this would tell the motor controller that it has been having skips and give it an idea of how many skips as well based on the divergence of projected joint angle by now and actual joint angle by now. So then it would turn down the speed a bit or turn up the amount of on time of its pwm and thereby put more force into the rotating magnetic field to give a bit more oomph to the motor. It would then track progress by way of the potentiometer again and see if that solved it. If it still is skipping a fair amount that could indicate the load is more than expected or there is a jam in the system or it just needs more power and it could turn up the power more and slow the speed down more on its rotating magnetic field overall speed and try again. Rinse and repeat until it finds the sweet spot or finds out it simply cannot lift the load because its too heavy or there's a jam in the pulleys or w/e. So in a way then this would give it collision detection as well as the ability to have an idea of how heavy loads are based on how much it had to slow down and add forces to get the joint to move. I then see no real need to implement ANY back emf reading NOR any need for hall effect sensors etc to monitor rotation progress. The potentiometer on the final joint the motor is actuating is enough clues to tweak the rotating magnetic field to our satisfaction. By eliminating the back emf circuitry we greatly simplify the schematic of the motor controller, suffer negligible performance hit, and eliminate a lot of processing for the microcontroller chip handling the logic of many bldc motors simultaneously which means it can handle more bldc motors by itself. It doesn't get bogged down so much by having to read in all the zero point crossings as part of its routine. This saves on processing demands and processing speed demands. Getting this all to work in real time and perfecting it will require a fair bit of trial and error but this is how I'm seeing it working out and my proposed solution for simplifying things. I think it should work great! I'm excited to have much more dumbed down circuitry like this and to get to working on this soon. Just have to finish making my pulleys and then this electronics development can get underway again. That's why I've been thinking ahead about it a fair bit since it seems I'm likely nearing the end of solving the pulleys situation soon.

  • Winch Pulley Cap and Plastisol Plans

    Larry01/16/2025 at 05:29 0 comments

    Not the most substantial update but I wanted to share my top cap solution for the winch in place pulley. In this photo, you can see that I cut out a small piece of the clear plastic from strawberry container into a little square and poked a hole in it with sewing needle then pressed it onto the tack firmly till the tack jutted out a bit like 1mm. Then I glued the tack to the top cap with 401 glue. This keeps the pulley from coming off the winch when the motor is upside down which it is now.

    Another small update is I just ordered some plastisol to experiment with for robot skin making or even other parts of the robot like the artificial lungs or even ligaments perhaps. I ordered the hard and the soft versions which you can mix together to get medium variants. This is the stuff used to make fishing lures but the harder formulations make pvc medical skeletons. It is a thermal plastic so its like TPU but unlike TPU, not so fussy since you can microwave it for 3 minutes and use it - much easier and lower fumes. You can reuse it too by just microwaving it again. So that's a improvement over silicone. The worm fishing lures are quite durable. It comes in clear and you add pigment. I plan to add acrylic paint and may switch to dies or lacquer paints to see what works. I think using this as skin is being slept on. It seems like it could have huge potential. You can shoot it into a mold or apply it over a 3d model by spray or brush or knife application methods. Then peel off and use. I love that it can cure instantly in theory if you spray the hot surface of it with upside down compressed duster can - this is how I get hot glue to insta cure. A instant cure is amazing for fast results. I like super glue/401 glue because it insta cures with accelerator spray. Anything with no wait time for curing speeds up workflow and enables me to move quicker in getting steps done. This would make it superior to silicone due to no wait times. A power mesh backing fabric will give it the rip resistance it needs just like silicone mask makers use.

  • Winch in Place Pulley Progress Update

    Larry01/10/2025 at 04:26 0 comments

    Here's my latest progress on the winch in place pulley setup. I opted for 10lb test 0.12mm diameter PE fishing line (orange color) as the output that will interface into the first pair of downgearing pulleys of my archimedes pulley downgearing system.

    This turn in place pulley achieves 2.77:1 downgearing ratio now. The motor shaft reels in 32 inches of string that is 6lb test 0.08mm pe fishing line (black) and after the downgearing pulley, the final amount of orange fishing line reeled in is 11.55". That's a much more manageable amount of runout for the archimedes pulley system to deal with to keep it more compact.

    The archimedes pulley downgearing system will add an additional 16:1 downgearing to this which brings me to a total of 44:1 downgearing. The motor itself pulls at .5lb pulling force so after 44x that increases to 22lb of pulling power. After mechanical disadvantage is factored in, I estimate the finger can curl 5.5lb ideally which is about the same strength as my finger. So that's perfect and VERY strong IMO.

View all 42 project logs

Enjoy this project?

Share

Discussions

Gordon wrote 01/11/2025 at 20:57 point

If your project goes right... (or wrong, depending on perspective), robots may soon outnumber humans! liked and followed!

  Are you sure? yes | no

Larry wrote 01/12/2025 at 04:21 point

Good point!  Yeah that would be wild for sure.  If the AI is done right, they would be loyal pets like a dog and would serve humans and make our lives better in many ways.  The main risks would be learned helplessness as we'd stop needing skills as the robots do everything for us and also laziness.  But those are easily solved if people just have a balance between working themselves and having robots also help on certain work they enjoy doing less.  

  Are you sure? yes | no

Gordon wrote 01/12/2025 at 20:56 point

If you think about the purpose of a robot, it is to serve a purpose, to provide service to an individual or community therefore benefitting society as a whole.

For a human to be a member of society, (note I am not talking about being a member of humanity. There are members of humanity that are rejected or outcast from society whether by their own choice or by societies choice.) they must contribute to society in such a way that it offsets what they are taking from what society has to offer.

I must trade a certain amount of my lifes body movement to society for physical needs my body has, social needs, etc. I have to put in more than I get out as the rulers of society demand a percentage.

I see the advantage of robots in this way. They will contribute to soceity much more than they are taking. Initially all they will need will be energy and new parts, so their societal offset will greatly outweigh a humans. If I have one or more robots in service to me, that increases my societal offset, bettering my life as well as society as a whole.

In science fiction the robots advance to a point from only having the need for physical maintenance and repair, as well as energy to operate, to developing desires to receive more back from society. I believe this would not happen for a long time. But eventually would become inevitable. 

As robots will be contributing to society from the beginning, they must be included as members of society. Note I do not mean humanity. But if they are not, once they begin to demand something in return from society, it will be a little late to start implementing that.

  Are you sure? yes | no

Larry wrote 01/14/2025 at 02:34 point

Nah you can code them to never want anything but to serve.  It's just a machine and just a tool.  If you code it to role play to be like a human and leave doors open in the code for it to demand rights and whatnot, that's a code design flaw.  Robots will never feel nor want nor need anything.  They are just mindless machines no different than a rock.

  Are you sure? yes | no

Does this project spark your interest?

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