My Advanced Realistic Humanoid Robots Project
I am building 4 robots presently and using some different techniques for each of them to find out what works best. So far I have Adam, Eve, Abel, and Dinah robots underway. For the framework, Adam is using a fiberglass handmade skeleton which is half done, Abel is using a PVC medical skeleton, Eve is only a CAD model so far, and Dinah is using a hollow steel tubing skeleton.
Lately the Dinah robot has been commanding most of my attention. It is one I only recently started up and progress has been fast so far. I started it around the same time TheRobotStudio started his Hope-Lite open source robot and I'm trying to keep up with his pacing for this one. I'm also hoping to implement some of his design strategies into my own. He's a lot more experienced and trained in robotics than me. I'm just a beginner with big ambitions.
I want my robots to look realistic and move realistic. I want them to walk, talk, run, do chores, manufacture products, and make more robots.
Here's the CAD for the Dinah robot:
The highlighted skeleton is the steel tubing skeleton Dinah will be based on. The gray unhighlighted skeleton is a human style skeleton being used just to ensure all of the steel skeleton hinges are placed accurately. The 3d model in the background is the CAD basemesh of Dinah.
Comments
"I want my robots to look realistic and move realistic. I want them to walk, talk, run, do chores, manufacture products, and make more robots."
When God did this project first-time, he had one advantage: He knew that he would not die beforehand.
On the other hand, you have got the advantage, that he already proved feasibility.....
;-)
I'll drop by in 6 days to check on progress
I managed to get Dinah's hand bones printed out in ABS on my Anet A8 3d printer the past couple days. I also cleaned up the prints, removed the supports, and sanded down high points. They are ready for attaching them together with cloth tape which will act as artificial ligaments.
You'll note I fused the ulna and radius bones together to use as a rotational joint for the wrist to function like a human wrist. The actual pronation and supination of the forearm though will happen by way of the steel skeleton having a rotating pivot point unlike the human body where the radius rotates and twists over the ulna in a criss cross.
Note: in this photo the middle finger is missing the distal tip which I was reprinting as the time of this photo.
In my initial thoughts, the wrist I thought should rotate axially around where the wrist is located. This photo is my progress on that front:
However, I realized this will not look right since you can visibly see the forearms move and the muscles there moving when you pronate and supinate your arm. So I have to have the pronation and supination be where the skeleton was originally doing this near the elbow. This will allow for much more natural looking pronation and supination. So the wrist location will not rotate AT ALL after all. This made it all the easier to make the ulna and radius distal wrist joint where the little wrist bones and hand will attach to and rotate on. I sculpted it all in fiberglass and super glue with some nails and some ABS plastic pieces and epoxy to build up the shape. I used my ABS 3d print of this part as reference only. This thing needed to be very strong as it's likely going to the point of failure as the rest of the arm is steel. So I wanted to make sure it was maximally solid and didn't fully trust just going with a 3d print there.
I see a little bit of weld spatter. Clean that up and....Perfect
Am I the only one who can't see the images in post #4 and #5?
Switch-off your obscene-content filter
Oh my...
I'm currently working to sew all the finger and wrist bones together for the Dinah robot and mount them to the arm. I wanted to show how I'm doing this process.
Here I tape the bone with adhesive transfer tape 3M 300 LSE. Note that I leave space on either end of the bone to allow some free fabric which is necessary to allow for elasticity as the bones need to rotate after all. Have to have enough free fabric to stretch as the joint rotates, allowing the rotation. But not so much free fabric that the joint is loose either. Has to be just right and snug.
Next I wrap the compression workout shirt fabric onto the tape and cut it to size. Here is just a rough wrap that hasn't been cut down to size yet.
Then here is a bone finished on the sewing and ready to attach to a neighboring bone. The sewing is done with nylon upholstery thread and a curved suturing needle and a surgical pliers using a suturing technique.
I just realized that the site the images are hosted from is blocked by our company firewall. I right-clicked on an image (broken link) and selected, "open image in new window", only to be greeted with, "SITE BLOCKED!"
The category is listed as "sexually explicit material". Guess I'll have to check from home.
Hmmm, I wouldn't go that far. However...
With all the AI generated stuff today, one can easily be fooled but on close inspection, it becomes clear that this is not a real human wrist...It's a "realistic humanoid wrist"
Craig
Okay, so I finally got the Dinah robot hand sewn in and it is looking pretty good. The fingers could use some tweaking but overall I'm quite happy with how it came out. It's solid and fully articulated.
Here's a photo of it in place:
Now that out of the way, I want to announce I'm officially changing strategy on the Dinah project as far as its current goals and here's why: so basically I was thinking it would be nice to just crank out a working robot using some shortcuts and just do something quick and dirty as a learning experience side quest to get something going. It seemed reasonable at the time. Plus I could pace myself to match the build pace of a fellow roboticist and loosely follow his project's designs. But some things I missed in this decision: #1) I'd be lowering my commitment to excellent quality with no shortcuts - ignoring the adage "do it right the first time" #2) by cutting down on workmanship maxing, I'd be inviting harsh criticism on the new lowered bar of build quality which is the last thing I need when already inviting heavy criticism for a extremely ambitious set of goals to begin with #3) I'd be going against my outspoken commitment to campaign against loud metal gear noise based robots that are completely impractical for home use due to sounding like a construction site #4) it would take away from the focus on my "real" robot projects by creating a "ghetto" side quest robot that could have just been skipped altogether.
So is Dinah robot just trash now? No. I still plan to have this project be done, but like Adam, it will be shelved until such a day that the other robots, when ready, complete building these shelved robots for me. And when they are built, it will be using the best methods I have. So I'm returning to work on the Abel robot whose arm will build the rest of his own body and then he will build the Adam, Eve, and Dinah robots for me.
Hi @artbyrobot
Your project looks fantastic. Enjoying to watch all the steps.
With moderator hat on, could I please ask one thing...
Thanks, and I'm looking forward to the next stage!
Hi @artbyrobot
did not want to be rude. It is just, that things like "...whose arm will build the rest of his own body and then he will build the Adam, Eve, and Dinah robots for me." are clearly impossible if you do a comparison: Just think, how many engineers ( Edit >1000 https://edition.cnn.com/2022/06/29/cars/tesla-autopilot-data-label-layoffs/index.html ) are working for several years now to build a machine, that shall do one single special complex job: drive a car. And it's not even trying to look like a human. Add up all the man-years they have spent and multiply by the number of completely different tasks you want the robot to be able to do. Many jobs can be achieved much more easily, if the robot does not need to be humanoid.
Perhaps an idea about a step towards a robot with human appearance:
An aunt of mine used to play marionette. And while those puppets did only have very few freedoms of movement, and did not have an own brain, the imagination of the spectators gave them very vivid life. One trick seems to be to actively leave details unclear. For example a long coat instead of legs and feet. The imagination does not need the details and will fill in, what it needs.
As to hosting images locally, I'll try to bear that in mind if I can remember I'll do it.
I don't think self driving cars is a good comparison because they solved self driving cars many times over and had self driving cars even 10-15 years ago in a DARPA challenge that would drive massive courses over hundreds of miles autonomously. The thing taking Tesla a long time is not solving self driving cars, it is solving for every possible incredibly rare edge case that comes up and training their machine learning models to behave appropriately in each edge case. And the amount of edge cases is practically infinite because of the size of this world and amount of random and unexpected things that can come up in such a random world. Like one weird one was the car stopping because a guy had a tshirt with a stop sign on it. You can't make this stuff up. You can't predict it or even conceive of it until it happens. And the AI can't train for this exception without it showing up some times and these things just keep cropping up as total novelties. And until the novelties slow down (because so many edge cases are solved and incorporated into the machine learning models that instances of truly novel edge cases no longer crop up as often) until this occurs, they are still in development phase and cannot greenlight due to the safety concerns. That and perhaps just some bad coding practices in general which is a entirely different topic, but you have your main reason right there. And this sheer massive volume of odd edge cases is NOT something I will have to combat in a relatively MUCH less dynamic and unpredictable environment like my bedroom or basement of my house where everything stays relatively the same each day, there are very few random people wearing stop signs on their shirts, you don't have random construction crews or marching bands showing up, things are mainly much more calm and predictable and boring here. And so the robot does not have to have anywhere near the training and perfecting as self driving cars would. Nowhere near the amount of edge cases. Also, the stakes are lower. I don't have to worry about the robot failing a edge case test because unlike a fast driving car, if my robot trips and falls once in a blue moon, there aren't newspaper articles published all over the country that another person just died because of my AI.
Now as to the viability or possibility, I am wholly convinced that I'm not the only one who can do what I proposed to do with my AI. I am not presenting that boast. I think that most engineers would be able to do the AI I am proposing but they must be properly incentivized to do so. This has never been the case. There is no boss with deep pockets who tasked his team to code a humanoid robot arm to build the rest of that humanoids own body. Nobody paid a team of devs to take on this challenge. If someone did, the devs would do so gladly and would succeed. It's as simple as that. It's a money thing. I will do it because I have the proper incentive structure in place and have the time and skill to do it. It's that simple.
Also, the reason no boss has ever offered to pay to have this done has to do with their investors, their company goals, their priorities, the fast pace they need to move at due to runway issues relating to fund raising, etc. It has nothing to do with viability or possibility. It has more to do with cost benefit analysis. If they have the manpower to just make the robot and don't have the need to mass produce. Or if they have the funding for specialized machines to make each part instead which would be faster in an assembly line, then they would have gone that route - which is what they do. They don't have an incentive to have the arm make the rest of its own body because with unlimited space and funding, that is not the fastest way to do things. It also would require more AI than they really need to make to get the sales they want to teh end customer. So this isn't something they need to do to make the money they want to make. So they would not bother. it would be wasted time from their perspective. However, in my case, with limited space and limited funding, specialized machines or an assembly line of production is out. The arm building itself being slower is fine. I'm not in a race. And the AI complexity required to pull this off WOULD be wanted and NEEDED for the end client (myself) in order to do the many things I want to do with the robot anyways when its done. So for my case, it would not be wasted development time as these types of skills would be needed anyways in the end users needs list. So not a single bit of it would be a waste of time to make for me to achieve my goals. This is why it makes sense for me and not for the big guys and why the big guys did not do it (though they certainly COULD do it)
Well, the problem is, that in real life unpredictable things happen all the time. You want the robot to be able to cook. It is totally normal, that in a fridge which is used by humans, things get moved to different places, or the milk bottle has a different shape or it's lid is different, or.... Something is spilled and has to be cleaned up. So normally no life in danger in this case but still a mess, that the automat certainly has to be able to manage. In my opinion cooking is much more difficult than driving a car.
Or you want to have it do gardening as well. Situations in a garden are always only similar but never the same and there are so many different works in a garden.... But I will stop now.
The only thing I wanted to say is, that you might be more happy, if you set yourself (intermediate) goals, that you will achieve in say a year with a probability of > 50 percent.
Have fun and good luck!
As to a item moving in fridge, the robot would use computer vision to locate the item and adjust accordingly. It would not be hard coded like gcode as you seem to infer.
To be more inline with what this community is about; what about control systems? When you appeared here, a few years ago, the control was going to be Windows-7 system.
Do you have your closed-loop control and kinematics all figured out? This would be the first thing to tackle.
The DARPA vehicle was controlled by a Galil motion controller and presented lots of challenges.
As to control systems, my plans are the same now as before. I have not made any significant changes since then other than figuring out how to make BLDC motor control circuitry DIY and miniaturize it using SMD parts hand soldered and as tightly packed together as possible. I also figured out how to use a very tiny bare bones atmega2560 microcontroller chip to control 6 motors as the brains of those motors. And I began building that after my designs I made in CAD. I still plan to use windows 7 as the main brains for higher level motion planning, computer vision, chatbot stuff, task planning, ethics, trust, discernment, etc.
But closed loop control and kinematics I have a general idea although I have not gone extremely specific on the latter. The closed loop aspect of the control of the motors though I know exactly what to do and will be using wheel potentiometers for joint angle measuring as closed loop feedback.
Sounds like a plan
I saw how you lopped-off the pesky heat-sink tab of the motor-driver device...I for one would never have even thought of that
I think I would call it more of a "concept of a plan"
I'm just going with the flow. If I dare to state reality, I get my legs slapped
Mod: my image files aren't uploading to this site as they are too large. The site image size settings need to reflect modern technology of a standard photo size from a iphone 15 and up. I am unable to drag and drop my images here.
I came up with a design for a way to do all my downgearing 64:1 by way of pulleys that is so downscaled that it can fit onto the top of the 2430 motor and achieve the full 64:1 downgearing for BOTH directions of travel.
Here's a photo of the design drawing I made which roughly approximates what this will look like in theory:
Here's a closeup detail photo of one of the pulley downgearing stations pictured above:
Here is a photo of a thumb tack and #3 fishing crimp sleeve I bought on Amazon which will act as the basis for the downgearing pulley station:
Note: what an IMMACULATE FIT this was! I was looking through my junk bags for a sleeve for my thumb tack and nothing was a snug fit but when THIS came in the mail for the unrelated fix I mentioned earlier for the other pulley system, I knew it was perfect for the thumb tack when I saw it! It's the perfect plain bearing!
So the 64:1 downgearing system will start with two fishing lines (0.08mm in diameter 6lb test braided PE fishing line) wrapped onto the output shaft of the BLDC motor in reverse directions - one clockwise and the other counter clockwise. These strings will then travel to each of 6 downgearing stations that will each double the previous torque achieved. So downgearing station 1 will double both of the string's torque and downgearing station #2 will double that bringing the total torque to 4:1 torque. Station 3 - 8:1 torque, station 4 - 16:1 torque, station 5 32:1 torque, station 6 64:1 torque. Each station is made up of a stainless steel thumb tack with a #3 fishing crimp sleeve placed over the tack shaft forming a plain bearing pulley system. Little plastic discs will separate the various sections of this pulley system up. The discs plastic will be strawberry containers clear plastic from the grocery store (same as they use for lots of fruits, cakes, deserts, etc, the clear thin flexible plastic). The 2x torque is achieved by the string wrapping a 2x diameter pulley and a 1x diameter pulley. So every other section of the downgearing station will be 2x in diameter for this to work. Each downgearing station will be clockwise or counter clockwise rotating depending on which string it is downgearing. As the torque increases, the total wraps happening at each station decrease because the string travel is decreasing in distance by 1/2 the previous station's distance of string travel. At each station, as this phenomena occurs, a stronger fishing line can be used that is larger in diameter as needed. So only the first couple stations will use that 6lb fishing line but later stations will swap to stronger stuff since higher torques are getting involved at that point.
The thumb tacks I considered welding together or brazing together. I considered Oxy-Acetylene micro torch welding, large soldering iron brazing, micro tig welding, pulse welding with a jewelry welder, spot welding, etc. But all of these approaches I am not that experienced with. I think I'll try brazing first and if I struggle with that I'll move to fiberglass and superglue where I have the most experience.
My intention is to join each downgearing station thumb tack into its neighbor at the base and get them all to form a flat plane for stability and precise positioning. I intend to prepare the stations all together off the motor. Then when it is one solid structure with all of them glued to their neighbor and all pulley plastic discs added, at that point I can attach the whole assembly onto the 2430 BLDC motor top and suture it into place there. The teflon guidance hose attachment guide structure will also have to be part of this assembly for easy and secure attachment of the teflon hoses at the end.
Here is a progress update on the silent pulley downgearing system I came up with using thumb tacks and a #2 fishing crimp sleeve and little plastic discs. It is some tiny fine precision necessary work but I'm getting it done and things seem to be looking pretty good so far.
For now, I ended up just using 401 glue to glue the thumb tacks down onto post it note paper. I then put another coat of the glue over the tops of the thumb tack heads to secure it further. I am planning to use nylon upholstery thread lashings to lash all the tacks down onto the top of the 2430 bldc motor tightly and glue the lashings down as well in order to make the thumbtacks even more solidly set into place. Now I'll grant welding them down would be ideal, however, not having a micro tig welder made yet (future project), I just wanted to get going fast and I thought with enough care, it is possible these can be constructed solidly enough with composite material techniques to function reliably. I'm crossing my fingers. We'll see.
I got done cutting out the pulley discs and drilling them and mounting them to the thumb tacks and gluing them in place with 401 glue using a sewing needle tip as the applicator. They all are reasonably square and solidly in place I think. Everything is moving freely. Everything seems lined up okay. I then mounted them all to the 2430 bldc motor.
These thumb tack based pulleys still need to be lashed down well and the lashings (upholstery thread) need to be coated in 401 glue to make them stiff and solid. I also need to add pulley discs to the 2430 bldc motor that are to line up well with the pulley disc slots the string is to go to. I then need to wind up the string sections themselves, loading up the system in preparation for actual testing.
Updating the site technology is something the mod unfortunately doesn't have permission or access to do (I think we pre-date iPhone 3!); I can only work with the tools we have.
If you could re-size your images that would be appreciated so everyone can view them. I thought when you share from an iPhone you get the choice to re-size? (At least my iPhone does that...).
Anyway... Your call and fair enough. I just brought it to your attention as it was reported as an issue. I'll step out of this thread. You'll understand that a volunteer can't possibly spend so much time re-sizing so many images. That won't stop me enjoying your progress though!
Our company IT Dept white-listed the domain after I brought it to their attention so I can now see the images.
I wound up my 6lb test Hercules PE braided fishing line onto the previous pulley system setup only to find out that the pulley could only handle about 21 inches of fishing line wound onto it before it started to come dangerously close to overfilling the pulley. The aim is to have plenty of the plastic disc overlapping the fishing line even when it is wound up fully to one side because that plastic disc acts as the guide to keep the line in its proper channel. I want at least 32:1 mechanical advantage out of this downgearing so if I want my final output to be 1" then the first pulley has to be able to wind 32" of fishing line onto it comfortably. So I realized at least the first pulley has to be a few more millimeters increased in diameter. So I had to rebuild the thumb tacks arrangement to accommodate these changes and make that first pulley bigger.
With this increased size first pulley, I realized I'm getting what looks to be 7:1 mechanical advantage from just the first pulley alone! At least initially when it starts. As the fully wound up pulley gets winched in by the motor, the relative size differential gets smaller which means it will speed up and the torque will be less than the starting torque and increasingly so as the size differential decreases. This will create a natural sort of acceleration effect and high initial power and gradually less power. I think these side effects of this system seem to be quite good but I'll know for sure in testing. The next steps will be to wind up the reverse direction of the first pulley and start connecting the first pulley to the second pulley and so on. I may not even need all 5 pulleys but we'll see. With the first pulley being already 7:1, if the remaining 4 are 2:1 say, then we'd have 7:1, 14:1, 28:1, 56:1, 112:1 so 112:1 would be the final output. That seems quite overkill and perhaps will be too slow. Although very strong. The motor outputs about 0.42 lb on average so .42*112= 47lb! Now the lever of the joint itself makes you lose mechanical advantage due to the fulcrum location etc so it would drop down to say 15lb but my finger individual joint flexion power is only like 5-7lb so that's double mine. So a bit overkill. So I might skip using one of the 5 pulleys. Having it there is nice though just in case we wanted to trade speed for power for some of them we'd then use that one as an optional strength boost we can tap into in the future if we want to trade speed for strength so I might just leave it in the design even if I don't use it just yet. In testing I may find I prefer to use it afterall. Nice to have that option if needed.
Can't fault you for lack of ambition. Can you tell us which Parallax products you plan to use in your robots, and how? Apologies if you already mentioned this and I missed it.
Ross.