/robowaifu/ - DIY Robot Wives

Advancing robotics to a point where anime catgrill meidos in tiny miniskirts are a reality.

Server and LynxChan upgrade done. Canary update and a general address soon. -r

Max message length: 6144

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB

More

(used to delete files and postings)


/agdg/ 's Game Jam runs from 3/3 to 4/4 ! Join now and learn2code during this special month, Anon! :DD


SPUD (Specially Programmed UwU Droid) Mechnomancer 11/10/2023 (Fri) 23:18:11 No.26306
Henlo anons, Stumbled here via youtube rabbit hole & thought I'd share my little side project. Started out as just an elaborate way to do some mech R&D (making a system to generate animation files on windows blender and export/transfer them to a raspberry pi system) and found tinkering with the various python libraries a kinda neat way to pass the time when whether doesn't permit my outside mech work. Plus I'd end up with a booth babe that I don't have to pay or worry about running off with a convention attendee. Currently running voice commands via google speech and chatgpt integration but I'm looking into offline/local stuff like openchat. WEF and such are so desperate to make a totalitarian cyberpunk dystopia I might as well make the fun bits to go along with it. And yes. Chicks do dig giant robots.
Hey Mechnomancer, do you have a particular brand of servos that you'd recommend? I'm looking to pick up 5 or 10 of em for fixture prototyping over the next few months Non-continuous (up to 180deg on some of em), low torque (couple N*m at most), decent-ish speed (90deg/s?) btw, OpenGL ES is pretty well supported on the broadcom mystery-meat graphics chips, the free version of QT uses it and has a pretty straightforward canvas API too, if memory serves. Should be able to keep all the textures loaded and just swap out layers at runtime (50 bytes of VBO instead of an entire texture), so no delays and a sync'd framerate even during animation. >>29510 valgrind's cachegrind (and callgrind, to a lesser extent) would get you the benchmarks this anon mentioned, but I'd go for the hardware acceleration (GL ES) approach first
>>29522 I just get whatever Servos I can. I tend to use the MG995 or the ETMall MG996R for low-torque applications(6x for $20), while GoolRC has 70kg ones and Injora has 35K ones. All of these are the same size/form factor, but Injora comes with brand stickers you can put on your project. I get 'em off spamazon. I'm just aiming for the minimum viable waifu easy as possible. If y'all wanna do more fancy stuff like openGL be my guest but that ain't my jam, yknow? :) Got 2 of the modular systems done: adding more voice commands (and the scripts that run as the result) and emotions are easy as making the files and naming them properly. A few extra features like a dedicated simon says protocol, a placeholder for when it will connect to the LLM, seeing what the bot sees. The weather forecast API appears to be down at the moment. Speech recognition has to be a separate program from the face display as it doesn't like to play nice with it Threading. Possibly some alternatives exist but I kinda like have 2 programs as I can adjust one without having to restart the other. They communicate by putting data in a text file. Might be a little slow but there is lag from the TTS engine anyway so another fraction of a second doesn't matter much. Making this modular has required so many loops it has driven me loopy ᕕ( ͡ʘڡ ͡ʘ)ᕗ
>>29449 >when theres only a few colours used you could use a bmp with indexed colours Very good advice. >>29451 >>29466 >>29500 >>29504 >>29602 Wow! That's a whirlwind of updates and a rather nice outcome to it all. GG, Mechnomancer! It's gonna be fun watching Spud come together. Cheers. :^) >>29522 >btw, OpenGL ES is pretty well supported on the broadcom mystery-meat graphics chips, the free version of QT uses it and has a pretty straightforward canvas API too, if memory serves. Excellent. That's really good to know, Anon. Thanks! :^)
>>29504 When I tried something similar, I started contemplating using GIFs for each sequence I need. Hoping this would cut down on the memory costs and loading time. The idea was that somehow the file format would have an compression algorithm, so it would only update in each moment what's necessary.
Open file (523.49 KB 3120x4208 SPUD_screenface.jpg)
>>29623 Not sure if you're aware, but just in case (and for the other anons out there) from my experience, gif compression works by reducing colors/dithering, and optimization utilizes transparent pixels to to only display the difference between frames. Anywho, did a quick test fit of the screen face, and just as I feared: I need to redesign the head because the screen juts out too far.
>>29666 I might have briefly read about this, but didn't remember. Thanks. The face looks nice, and a slightly bigger head will look better anyways.
Open file (1.06 MB 582x1446 spudsuit.png)
Waiting for the new head pieces to print so I dressed SPUD in the morphsuit for the lulz. I definitely need to upgrade from the paper panels. Maybe even a 2 morphsuits with padding sammiched in the middle would not only improve aesthetics but also protect against damage in case of a fall.
>>29672 Wow, this is maybe the best looking irl gynoid I have seen so far.
>>29672 the karen screen face is more my thing
Open file (35.81 KB 731x564 filez.png)
>>29673 Technically not a gynoid, as it doesn't have -nor do I plan for- any gynecological bits. After all, this particular unit is initially meant to be an artificial booth babe. :P When I do release SPUD I don't care what mods people wish to add. What a man does with his robot is none of my concern. >>29676 Well, I am thinking about customization in future, you can do your own custom face whether owo, realistic, iconographic or karen easy as making/editing the files :)
>>29677 >Technically not a gynoid, as it doesn't have -nor do I plan for- any gynecological bits. Yeah, this could be a point, but to me it's just that she's meant to be female. Most androids also don't have the male parts for reproduction.
Open file (9.08 MB 3201x1389 ouchie.png)
>>29681 I just figure gynoid should refer to the type of female android that has the fun bits ;) New head is complete, but SPUD got an owie in the process :'(
>>29683 Wait, is the screen broken?
>>29685 its got a cluster of dead pixels :( Mental note: get screen protector
>>29686 Damn, and that was a new screen too.
>>29683 >>29686 Great progress actually, Mechnomancer. Please don't be too bummed about the boo-boo on Spud's face. You can kind of think of it like EtR Lulu -- it gives her a charming dignity of having overcome obstacles! Just like you do, my friend! Keep. Moving. Forward. Cheers, Anon. :^) >=== -minor edit
Edited last time by Chobitsu on 02/20/2024 (Tue) 09:01:29.
>>29683 Can't you still return it on spamazon? I would totally just send it back, tell em it was broken as you started it.
Open file (1.26 MB 740x1062 beveragebottom.png)
Open file (922.27 KB 320x570 Tippity Tappity Test.mp4)
I found a beverage dispenser with a bottom almost the exact same size circumference as the current screen holder. So I carved a piece out of it and slapped the screen behind it. It even has a lip on one side to help hold the screen in! Talk about providence, eh? Now to 3d print a better chin.
>>29724 Neat! Very inventive appropriation Mechnomancer. Today I'm constantly on the lookout for such things, since a major goal here is to allow impoverished men to also build their own robowaifus. "One man's trash is another man's treasure", they tell me. Cheers. :^)
Open file (220.90 KB 307x467 chin.png)
>>29744 No sense reinventing the wheel :) I think the wig looks awful, so I've ordered a different on: a single wig instead of 2 combined together. Also installed the new chin, and will start work on re-printing some of the parts so they make a better shape under the morphsuit.
>>29752 The wig looks quite nice. But I might be a weirdo.
>>29752 And you'll be able to dress her up as a pirate for Halloween!
Open file (410.15 KB 559x465 headz.png)
>>29753 >>29753 It might be my a̶u̶t̶i̶s̶m̶ artistic eye for perfectionism kicking in, but the top wig (crown) is actually rather small (even the reviews said so but I didn't realize how smol it really was), so it has the appearance of the hair being plastered to the head rather than big and volumous (see the red scribbles I did in the pic). I think it has to do with the screen tbh. Even so, new wig will be arriving in a few weeks (its one of a relatively esoteric character so no amazon prime turbo shipping). In the meantime I'll be trying out one of the other face "skins" I made that has a lower face silhouette on it. Just got done putting together a jukebox script, too. Need to put files in a specific folder and have the artist name in the mp3 metadata, but the script can more or less find songs by saying the artist name, play all the songs by the specified artist in a random order without repeating, and the ability to skip tracks by saying "next". I could do other metadata too like song titles and albums but I'll stick with the basics for now. I also found a nifty script that allows for a confidence interval of similar words, so if the speech recognition AI model thinks you say "whether forecast" instead of "weather forecast" I can add in that bit of fudge factor to make things easier.
>>29760 Since you've already ordered another wig, it might be a good idea to try styling this one as an experiment. Basic stuff, like curling, cutting, the like. That way you'll be better equipped to fix any issues that might happen with the wig you ordered.
Open file (234.82 KB 487x240 faces.png)
>>29761 I moved the sides further up and tried out a different face skin and compared the two. Only problem is now the hair isn't secured at all lmao
Open file (81.41 KB 541x454 1692831980580923.jpg)
>>29786 The right side looks super-cool now, Mechnomancer. Kinda like she's wearing a space/mech helmet! :) >yfw punished Spud
Thinking about it, I might increace simplicity of SPUD's face assets further, like the attached, until I can perfect the physical face. Also, thanks to this screen face revision I should be able to swap between face types with relative ease. I think I can whip up a quick flat-screen-face module for anons who can't (or won't) shell out the $400 for a bendy screen.
Open file (7.04 MB 320x570 Jukeboxtest.mp4)
Jukebox is 95% complete, just need to add a pre-recorded voice prompt for when it misunderstands a command >_<
>>29907 <im sorry dave
>>29907 Nice progress, Mechnomancer. >>29909 Kek.
>>29907 >sorry, anon, you don't have the lincense to listen to that song.
>>29922 Actually, I do. Stringstorm is an independent music composer on youtube who music for "If The Emperor Had a Text-To-Speech Device" (plus other original songs) and occasionally has his entire discography up for free on Christmas Day :)
Printing off some aesthetic panels for SPUD, starting in the arms. Full range of motion is preserved.
>>29940 Those should fill out the morphsuit nicely.
Open file (263.48 KB 299x422 glasses.png)
Open file (2.17 MB 920x1442 armpanelz.png)
I got a brainwave for the physical face: lcds disguised as glasses! Also the arm panels just look so nice I can't stand them being covered up by the morphsuit. Going for some Alita vibes lol.
>>29959 Arms do look really good, Mechnomancer. I'll be interested to see your results for the glasses. BTW did one of Spud's 'Chii ears' break, or maybe you have it open for service? Looks like it's drooping open. Good luck, Anon! Cheers. :^)
>>29959 That's a solid idea. I saw a video of a girl building a Clank for her cosplay project, and I liked how she did the eyes. https://www.youtube.com/watch?v=xIcRPAMU7oc Custom animations behind resin printed, smoothed and polished lenses.
Open file (274.42 KB 515x515 backside.png)
Open file (886.51 KB 759x1073 front.png)
Open file (899.48 KB 615x1073 hipback.png)
Open file (1.36 MB 805x1070 frontdown.png)
Open file (867.86 KB 795x1075 front_3_4.png)
Been spending the past few days printing parts for SPUD's hip panels. Total of 10 separate panels to keep down the amount of filament for supports, each panel taking about 8 hours to print (thankfully I have 2 printers). They will definitely need some standing >_<; Also printed some new curved rib pieces. Need to adjust some of the pvc in the legs before I can get her standing again, but I did find my mech scale while cleaning the mechworks so I should be able to get an official weight soon. Next bit of coding I just need to deploy is a) having voice-command scripts being able to tell the main script to play audio without requiring the TTS server, eg playing a .wav file of the SPUD saying "oops" or "try again" and the mouth flaps syncing to it, b) copying over the weather forecast script with the cache (the weatherforecast service I use doesn't like more than like 10 API requests in a day lol) and c) mapping the servos (again) and integrating the old animation script.
>>30060 That is really excellent-looking progress, Mechnomancer. Looking forward to seeing Spud fired up and chatting away with her newest look! Cheers. :^)
>>30060 whoa boy, whoa mama
>>30061 Integrating the LLM is a little ways off: I still have to figure out how to get the oobabooga AI to act sane through the API. I think it has something to do with the history formatting not working properly so I might have to implement my own solution. That will probably be just some list manipulation, which compared to the modular stuff I implemented (scraping directories and formatting filenames into voice commands and then detecting them by comparing every word) this should be a piece of cake. Custom history would work by adding each response to a list with a label prefix (user:/AI:) and deleting the oldest response to ensure it doesn't exceed the AI's limit. Maybe have a second set of history that I can ask the AI to summarize into a sentence or two (if that takes a while I can have spud say "Hold on, I'm thinking" or something if the user tries to talk to her while this is going on). Then reintegrate the memory retrieval protocol and inject the user preferences into the AI prompt so it might one day just ask why the user likes "Samuel Adams" or whatever. Also the wig arrived today, but I have to install a new forehead plate cuz without it the bangs are shaped all funny.
Since you have dead pixels are you still set on using that same monitor for a full face? I was thinking color eink display would be better since it wont glow in your eyes which has a potentially more immersive effect and likely the lower frame rate of these mind of monitors aren't as big a deal when doing an anime styled face. Eink can be flexible too. Though that might be costly for a large screen and difficult to find so you could go back to closer to your original design where you have individual monitors for the eyes but instead leave room for eyebrows for more expression to also be in the monitors possibly and you can use a third monitor for the mouth. Though I am uncertain if that would be any cheaper than a single large monitor. In addition to that you can use some sort of air pump that pumps of small balloons under the cheeks so SPUD's cheeks can puff up when smiling or pouting, assuming you use an animegao kigurumi or a silicone moulded doll face instead of the pepakura or stiff looking plastic you were using before. That should be quieter than the noisy actuators you were using before and have a more humanoid feel. But I'm just a wanderer who stumbled on this board so don't mind me much.
>>30082 >But I'm just a wanderer who stumbled on this board so don't mind me much. Hello Anon, welcome! Please have a good look around the board while you're here. If you'd like to, please introduce yourself in our Embassy thread : (>>2823) . Great ideas about the face! BTW, we have a couple of related-threads here on these topics: Robo Face (>>9), and Robot Vision (>>97) . Please browse through those (and dozens of other good) threads to see if anything piques your interests. Thanks for stopping by and contributing, Anon! Cheers. :^)
>>30081 If you want some instructions on how to do this with GPT4ALl instead, I have that python code already..
>>30090 Thanks to you I looked up GPT4all and found some python code, I'll be sure to experiment with it once the model downloads. >>30082 Flexi-screen face is a temporary solution until I make a more articulated physical face (also an excuse for me to buy one to play with) :) Physical face will have servos in the cheeks to pull the mouth into a smile, so that should add a bit of life to it. Took a leaf from your book and checked out some e-ink screens: I could get a pair with color for relatively cheap (cheaper than the flex-screen, anyway). I'll have to see how long the screen displays a pic while unpowered, as that could eliminate the need for physical eyelids.
>>30090 If you are experienced, there is also https://sillytavernai.com/
Open file (24.78 KB 982x630 gptforall code.png)
>>30093 From what I can tell, Sillytavern is more of a front-end that can interface with various AIs including (but not limited to) chatgpt and oobabooga :) I did figure out some code for GPT4all for all so I've attached it (so easy!). Biggest problem was figuring out why the AI was pretending to be the user (it just does that lol) and how to stop it (stop the text gen if parts of "USER" are in the token). Also created a list for user responses and ai responses that can be more easily read out, and randomized temperature to get a bit more variation in responses Some of its responses remind me of chatgpt before it was nerfed.
Open file (635.61 KB 545x1065 bellybutton.png)
Open file (451.19 KB 799x855 newig_face.png)
Open file (1.39 MB 1525x519 capz.png)
Added an ab plate and some caps on the hip side motors, all of these press fit onto the chonky side motors. Going to build the thigh panels out of EVA foam so when SPUD sits they don't break. Screen face looks a bit odd with the wig, maybe if I added a bit of a fade on the top of it or something to make the transition to the edge of the screen less harsh... Still, looks kinda nice. Now need to deploy GPT4all into the server script. Unfortunately (or fortunately, as the case may be) the mistra-7b-instruct model emotes only through ASCII emojis which act a little funny in Python IDLE but fine in notepad. But at least the format it uses the emotes is consistent enough to develop a protocol... the fun part will be making the graphics for 38 different emotions. At least I got a good base to start with :)
>>30125 Very nice! I like the 'belly boop' plate & the new wig, Mechnomancer. :^) Some observations: * I think the cap is great, and it looks aesthetic. I'm concerned that it may trap too much heat in the actuator housing and overheat the motor? * The ears are a good initial design, and very cute. Now that you are homing-in on the face proportions however, they seem rather oversized to my eye. If you undertake a redesign for them at some point, I'd suggest you make them a bit more petite, more in keeping with Spud's cute feminine characteristics. * I think you have a good idea about the 'forehead fade' for her face illumination. You might also consider making that area more rounded as well, in keeping with your graphical design of the shape of her jaw/chin. * If you do go with color e-ink, you can probably place illuminating LEDs embedded within the bezel of her 'helmet' mask -- ala as commonly used in filmmaking for astronaut movies, etc. * I think you've very close to nailed the general proportions of the face to the rest of the upper body. This is easy to miss, but your pic #1 really shows this clearly as working well already. She's already come a long way in a short time, Anon. Great progress! Cheers. :^) >=== -minor edit
Edited last time by Chobitsu on 03/05/2024 (Tue) 05:34:50.
Open file (131.68 KB 660x1624 spud3dmodel.png)
>>30126 The caps only cover the tip of the 550 motors on the servo, about 1/4 its length: there is also enough resistance in the gearbox that SPUD nearly stands *unpowered* so those motors won't be subject to much overheating unless SPUD is dancing non-stop for like 20 minutes or something. Even then, I could probably slip some heatsinks in there. The ears have to be their current size in order to hold the USB hub/hdmi cable combo. Can't make them smaller unless I get a smaller usb hub in there (having 4 ports is nice tho). I could make a headband sort of thing for where the screen meets the forehead, but this face design has already proven its point, and with a few more tweaks it should suffice until I re-do the articulated cloth face with the e-ink eyes. I designed SPUD's body pretty much in 1 single file and made sure every part looks nice together (with an exception of the PVC linkages in the limbs, which I eyeballed)

Report/Delete/Moderation Forms
Delete
Report