/robowaifu/ - DIY Robot Wives

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

LynxChan updated to 2.5.7, let me know whether there are any issues (admin at j dot w).


Reports of my death have been greatly overestimiste.

Still trying to get done with some IRL work, but should be able to update some stuff soon.

#WEALWAYSWIN

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)


Welcome to /robowaifu/, the exotic AI tavern where intrepid adventurers gather to swap loot & old war stories...


ROBOWAIFU U Robowaifu Technician 09/15/2019 (Sun) 05:52:02 No.235
In this thread post links to books, videos, MOOCs, tutorials, forums, and general learning resources about creating robots (particularly humanoid robots), writing AI or other robotics related software, design or art software, electronics, makerspace training stuff or just about anything that's specifically an educational resource and also useful for anons learning how to build their own robowaifus. >tl;dr ITT we mek /robowaifu/ school.
Edited last time by Chobitsu on 05/11/2020 (Mon) 21:31:04.
>>3177 Thanks, brother for all the hard work. Just cloned it. Get some rest.
>>3177 This list is.amazing. I don't even how you did this Anon.
>>3177 Very fitting jpg. Amazing work anon, this will serve a great help.
Since we may have newfriends who don't know about it yet, there is a video-downloading tool called youtube-dl https://ytdl-org.github.io/youtube-dl/index.html You should always be keeping local copies of anything important to you. In can be removed w/o a single notice, as you should be well aware of by now. Youtube-dl is very important in this regard and is pretty easy to use from the terminal. youtube-dl https://www.youtube.com/watch?v=pHNAwiUbOrc with download the best-quality copy of this hobbyist robot arm homemade video locally to your drive.
>>3177 any thoughts how you plan to make a thread out of this yet Anon? i face a similar more complex challenge making the RDD thread.
>>3220 Not yet. Busy taking my bank account out of the red. I'm probably gonna split it up into different topics and annotate the most important papers with prerequisites so people can figure them out without reading a thousand papers.
>>3221 >I'm probably gonna split it up into different topics and annotate the most important papers with prerequisites so people can figure them out without reading a thousand papers. Sounds like a good idea. Look forward to it.
>>3219 Thanks Anon, looks interesting.
Here's some kind of glossary for AI, Machine Learning, ... https://deepai.org/definitions
>>4616 That looks really helpful Anon, thank you.
Open file (168.73 KB 830x971 ClipboardImage.png)
Very approachable book explaining the internal workings of computers. Awful title, good read.
Here is a learning plan for getting into Deep Learning, which got some appreciation on Reddit: https://github.com/Emmanuel1118/Learn-ML-Basics - It also includes infos about which math basics are needed first. However, I also want to point out that DL seems not to be the best option in every case. Other ML approaches like Boosting might be better for our use cases: https://youtu.be/MIPkK5ZAsms
Open file (229.05 KB 500x572 LeonardoDrawing.jpg)
'''Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs''' According to Alexander Stepanov (in the forward to The Boost Graph Library, 2001) This man John Backus and this Turing Award lecture paper were inspirational to the design of the STL for C++. The STL underpins the current state of the art in generic programming that must be both highly expressive+composable, but must also perform very fast as well. Therefore, indirectly so does John Backus’s FP system and for that we can be grateful.
Open file (24.66 KB 192x358 Backus.jpg)
>>5191 Backus also invented FORTRAN (back when that was a first of it's kind for programming portability), and is one of the smartest men ever in the entire history of computing. https://ethw.org/John_Backus
>>5173 Started watching this, its pretty good.
Open file (650.07 KB 1030x720 thetimehathcome.mp4)
Anyone know some good tutorials for getting started in Godot with 3D? I just wanna have materials and animations load correctly and load a map with some basic collision checking to run around inside.
Open file (70.70 KB 895x331 b2_its_time.png)
>>5379 I haven't looked into Godot yet myself, but I'd like to at some point. Please let us know if you locate something good Anon. >that vid leld.
Open file (1.98 MB 1280x720 how2b.mp4)
>>5380 It's painful but if I find anything good I'll post it here. Blender videos are 'how to do X in 2 minutes', but Godot videos are 30 minutes of mechanical keyboard ASMR and explaining you should watch the previous video to understand everything while they're high on helium. There seems to be errors with importing animations of FBX models in 3.2.2 but GLTF works mostly okay. I don't think it's too much of an issue because the mesh of this model has been absolutely destroyed by my naive tinkering and lazy weight painting. FBX corrupted my project somehow but when I start fresh with GLTF all the textures load and everything works great. I accidentally merged by distance all the vertices and destroyed her face but if anyone wants to play around with the 2B model I used, here you go: https://files.catbox.moe/1wamgg.glb Taken from a model I couldn't get to import into Blender correctly: https://sketchfab.com/3d-models/nierautomata-2b-cec89dce88cf4b3082c73c07ab5613e7 I'll fix it up another time or maybe find another model that's ready for animation.
Open file (24.65 KB 944x333 godot3_logo.png)
Found a great site for Godot tutorials and a channel that goes along with it. Text: https://kidscancode.org/godot_recipes/g101/ Videos: https://www.youtube.com/c/KidscancodeOrg/playlists
Understanding Variational Autoencoders (VAEs) >Introduction >In the last few years, deep learning based generative models have gained more and more interest due to (and implying) some amazing improvements in the field. Relying on huge amount of data, well-designed networks architectures and smart training techniques, deep generative models have shown an incredible ability to produce highly realistic pieces of content of various kind, such as images, texts and sounds. Among these deep generative models, two major families stand out and deserve a special attention: Generative Adversarial Networks (GANs) and Variational Autoencoders (VAEs). https://towardsdatascience.com/understanding-variational-autoencoders-vaes-f70510919f73?gi=8b456161e353
Tutorial on Variational Autoencoders >In just three years, Variational Autoencoders (VAEs) have emerged as one of the most popular approaches to unsupervised learning of complicated distributions. VAEs are appealing because they are built on top of standard function approximators (neural networks), and can be trained with stochastic gradient descent. VAEs have already shown promise in generating many kinds of complicated data, including handwritten digits, faces, house numbers, CIFAR images, physical models of scenes, segmentation, and predicting the future from static images. This tutorial introduces the intuitions behind VAEs, explains the mathematics behind them, and describes some empirical behavior. No prior knowledge of variational Bayesian methods is assumed.
Open file (387.54 KB 1999x1151 transformer.png)
Great video on programming transformers from scratch in PyTorch: https://www.youtube.com/watch?v=U0s0f995w14 You'll need to know a bit how they work first: https://www.youtube.com/watch?v=TQQlZhbC5ps And another video if you want to understand the details of the design: https://www.youtube.com/watch?v=rBCqOTEfxvg And if you want a full lecture explaining how information flows through the network: https://www.youtube.com/watch?v=OyFJWRnt_AY Original paper for reference: https://arxiv.org/abs/1706.03762 If you're new to machine learning it might seem impossible to learn because there's a lot of pieces to grasp but each one is relatively simple. If you study and figure out one new piece a day, eventually you'll understand how the whole thing works and have a good foundation for learning other architectures.
>related crosspost >>9065
Open file (239.89 KB 572x870 ROS for Beginners.png)
A very detailed book that explains - 1.) How to install Ubuntu Linux 2.) How to install the Robot Operating System on Ubuntu. 3.) How to begin programming your robot using C++ Ideal for us here since I know a lot of people use Raspbian or at least some Linux distro to operate their robots, and I think the two are very similar. (Although if you have Windows 10 you can also install ROS on that, too).
>>9081 Thanks! Sounds like a very useful book. I tried to install ROS before once, but I ran into numerous dependency challenges. But this was a few years ago (maybe 3?) and maybe it's easier now. Also, this book sounds like it makes the process straightforward as well. I look forward to digging into it.
Open file (341.64 KB 894x631 EM.png)
Expectation maximization is an iterative method to find maximum likelihood estimates of parameters in statistical models, where the model depends on unobserved latent variables. https://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm How EM is useful solving mixture models: https://www.youtube.com/watch?v=REypj2sy_5U How it works: https://www.youtube.com/watch?v=iQoXFmbXRJA Longer lecture on EM algorithms for machine learning: https://www.youtube.com/watch?v=rVfZHWTwXSA EM was applied to hindsight experience replay (which improves expectations of future states from past failures) to greatly improve the learning efficiency and performance, particularly in high-dimensional spaces: https://arxiv.org/abs/2006.07549 Hindsight Experience Replay: https://arxiv.org/abs/1707.01495
I haven't come across a good article or post on pre-training neural networks but I think it's a really important subject for anyone doing machine learning. Recently when trying to convert the T5 model into an autoencoder I made the mistake of forgetting to pre-train it on autoencoding before converting the hidden state into a variational autoencoder. Because of this both the decoder was unable to decode anything useful and it was getting random input from the untrained VAE, making it extraordinarily difficult to train. After fixing this I also locked the parameters of the T5 encoder and decoder to further improve training efficiency by training the VAE specifically on producing the same hidden state output as its hidden state input so the decoder doesn't become skewed learning how to undo the VAEs inaccuracy. Once the VAE reaches a reasonable accuracy then I will optimize the whole model in tandem while retaining the VAEs consistency loss. Pre-training is also really important for reinforcement learning. I can't remember the name of the paper right now but there was an experiment that had an agent navigate a maze and collect items, but finding a reward from a randomly initialized network is nearly impossible, so before throwing the agent into the main task they taught it with auxiliary tasks such as how to smoothly control looking around the screen and how to predict how the scene changes as it moves around. A similar paper to this was MERLIN (Memory, RL, and Inference Network) which was taught how to recognize objects, memorize them and control looking around before being thrown into the maze to search for different objects: https://arxiv.org/abs/1803.10760 For learning to happen efficiently a network has to learn tasks in a structured and comprehensive way, otherwise it's like trying to learn calculus before knowing how to multiply or add. The problem has to be broken down into smaller simpler problems that the network can learn to solve individually before tackling a more complicated problem. Not only do they have to broken down but they need to be structured in a hierarchy, so the final task can be solved with as few skills as possible. The issue of pre-training, transfer learning and how to do it properly will become more important as machine learning tackles more and more complicated tasks. The subject itself could deserve its own thread one day, but for now just being aware of this will make your experiments a lot easier.
Open file (96.49 KB 356x305 roboticist4.jpg)
Open file (104.97 KB 716x199 roboticist1.jpg)
Open file (359.55 KB 500x601 roboticist9_0.jpg)
>Mark Tilden on “What is the best way to get a robotics education today?” https://robohub.org/mark-tilden-on-what-is-the-best-way-to-get-a-robotics-education-today/
Synthesis of asynchronous circuits >Abstract >The majority of integrated circuits today are synchronous: every part of the chip times its operation with reference to a single global clock. As circuits become larger and faster, it becomes progressively more difficult to coordinate all actions of the chip to the clock. Asynchronous circuits do not suffer from this problem, because they do not require global synchronization; they also offer other benefits, such as modularity, lower power and automatic adaptation to physical conditions. >The main disadvantage of asynchronous circuits is that techniques for their design are less well understood than for synchronous circuits, and there are few tools to help with the design process. This dissertation proposes an approach to the design of asynchronous modules, and a new synthesis tool which combines a number of novel ideas with existing methods for finite state machine synthesis. Connections between modules are assumed to have unbounded finite delays on all wires, but fundamental mode is used inside modules, rather than the pessimistic speed-independent or quasi-delay-insensitive models. Accurate technology-specific verification is performed to check that circuits work correctly. >Circuits are described using a language based upon the Signal Transition Graph, which is a well-known method for specifying asynchronous circuits. Concurrency reduction techniques are used to produce a large number of circuits that conform to a given specification. Circuits are verified using a bi-bounded simulation algorithm, and then performance estimations are obtained by a gate-level simulator utilising a new estimation of waveform slopes. Circuits can be ranked in terms of high speed, low power dissipation or small size, and then the best circuit for a particular task chosen. >Results are presented that show significant improvements over most circuits produced by other synthesis tools. Some circuits are twice as fast and dissipate half the power of equivalent speed-independent circuits. Examples of the specification language are provided which show that it is easier to use than current specification approaches. The price that must be paid for the improved performance is decreased reliability, technology dependence of the circuits produced, and increased runtime compared to other tools.
Graph Algorithms: Practical Examples in Apache Spark and Neo4j Whether you are trying to build dynamic network models or forecast real-world behavior, this book demonstrates how graph algorithms deliver value – from finding vulnerabilities and bottlenecks to detecting communities and improving machine learning predictions. Register to Download O'Reilly's Graph Algorithms for Free! We walk you through hands-on examples of how to use graph algorithms in Apache Spark and Neo4j. We include sample code and tips for over 20 practical graph algorithms that cover importance through centrality, community detection and optimal pathfinding. Read this book to: Learn how graph analytics vary from conventional statistical analysis Understand how classic graph algorithms work and how they are applied Dive into popular algorithms like PageRank, Label Propagation and Louvain to find out how subtle parameters impact results Get guidance on which algorithms to use for different types of questions Explore algorithm examples with working code and sample datasets for both Apache Spark and Neo4j See how connected feature extraction increases machine learning accuracy and precision Walk through creating an ML workflow for link prediction combining Neo4j and Apache Spark https://neo4j.com/graph-algorithms-book (Upload is too large)
>>10398 >(Upload is too large) No, the AlogSpace site has a 20MB upload limit IIRC Anon. Fits comfortably within that.
>>10405 My download had 23MB, if it's the same book they maybe altered something.
>>10413 Just compare the two yourself would be my suggestion.
Finally, I have at least a search term to find data on the size of human limbs: Anthropomorphic reference data A lot to read though: https://www.sciencedirect.com/topics/engineering/anthropometric-data It still bothers me, that I can't just look up the weight of limbs or the length of bones and such, somewhere.
Open file (110.29 KB 318x493 powerdevelopment.png)
>>10542 There are some decent digital human body encyclopedias you can find on the usual pirating sites out there. I was more into the in-depth strength training materials when looking at building at a humanoid robot. This sort of valuable information can't be found in reference data.
>>10548 Good thinking Anon. Not him, but I've worked through Convict Conditioning, and while I was doing it I thought often about the fact that the very same issues of dynamics & strength were actually going to be important design & engineering concerns for us as we build robowaifus. That opinion hasn't changed in the slightest now that I'm actually looking harder at the skeletal designs for her, etc.
Latest Release Completes the Free Distribution of A Knowledge Representation Practionary: https://www.mkbergman.com/2461/entire-akrp-book-now-freely-available/ >A Knowledge Representation Practionary is a major work on knowledge representation based on the insights of Charles S. Peirce, shown at age 20 in 1859, who was the 19th century founder of American pragmatism, and also a logician, scientist, mathematician, and philosopher of the first rank. The book follows Peirce’s practical guidelines and universal categories in a structured approach to knowledge representation that captures differences in events, entities, relations, attributes, types, and concepts. Besides the ability to capture meaning and context, the Peircean approach is also well-suited to machine learning and knowledge-based artificial intelligence.
>>10634 Wow, sounds like a remarkable work Anon. Look forward to reading.
>'''"Mathematics for Machine Learning - Why to Learn & What are the Best Free Resources?"'''
Talented and very smart technical animator. Science & Technology topics. https://www.youtube.com/c/ThomasSchwenke-knowledge/playlists
>>4660 >related crosspost (>>11211)
DeepMind YT playlists https://www.youtube.com/c/DeepMind/playlists This anon recommended it (>>11555). I'm currently working through the 8-video Deep Learning Introduction list.
Computer Systems: A Programmer's Perspective, 3/E (CS:APP3e) Randal E. Bryant and David R. O'Hallaron, Carnegie Mellon University >Memory Systems >"Computer architecture courses spend considerable time describing the nuances of designing a high performance memory system. They discuss such choices as write through vs. write back, direct mapped vs. set associative, cache sizing, indexing, etc. The presentation assumes that the designer has no control over the programs that are run and so the only choice is to try to match the memory system to needs of a set of benchmark programs. >"For most people, the situation is just the opposite. Programmers have no control over their machine's memory organization, but they can rewrite their programs to greatly improve performance. Consider the following two functions to copy a 2048 X 2048 integer array: void copyij(long int src[2048][2048], long int dst[2048][2048]) { long int i,j; for (i = 0; i < 2048; i++) for (j = 0; j < 2048; j++) dst[i][j] = src[i][j]; } void copyji(long int src[2048][2048], long int dst[2048][2048]) { long int i,j; for (j = 0; j < 2048; j++) for (i = 0; i < 2048; i++) dst[i][j] = src[i][j]; } >"These programs have identical behavior. They differ only in the order in which the loops are nested. When run on a 2.0 GHz Intel Core i7 Haswell processor,, copyij runs in 4.3 milliseconds, whereas copyji requires 81.8—more than 19 times slower! Due to the ordering of memory accesses, copyij makes much better use of the cache memory system. http://csapp.cs.cmu.edu/3e/perspective.html >=== -minor fmt patch
Edited last time by Chobitsu on 08/26/2021 (Thu) 17:10:51.
The Elements of Computing Systems, second edition: Building a Modern Computer from First Principles Noam Nisan, Shimon Schocken >I Hardware >"The true voyage of discovery consists not of going to new places, but of having a new pair of eyes." >t.Marcel Proust (1871–1922) >This book is a voyage of discovery. You are about to learn three things: how computer systems work, how to break complex problems into manageable modules, and how to build large-scale hardware and software systems. This will be a hands-on journey, as you create a complete and working computer system from the ground up. The lessons you will learn, which are far more important than the computer itself, will be gained as side effects of these constructions. According to the psychologist Carl Rogers, “The only kind of learning which significantly influences behavior is self-discovered or self-appropriated—truth that has been assimilated in experience.” This introduction chapter sketches some of the discoveries, truths, and experiences that lie ahead. 33E8664A26F52769692C070A31A96CCE

Report/Delete/Moderation Forms
Delete
Report

no cookies?