/robowaifu/ - DIY Robot Wives

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

The canary has FINALLY been updated. -robi

Server software upgrades done, should hopefully keep the feds away. -robi

LynxChan 2.8 update this weekend. I will update all the extensions in the relevant repos as well.

The mail server for Alogs was down for the past few months. If you want to reach out, you can now use admin at this domain.

Max message length: 6144

Drag files to upload or
click here to select them

Maximum 5 files / Maximum size: 20.00 MB


(used to delete files and postings)

He was finally living the life he had always wanted, and he owed it all to the mysterious robowaifu.

C++ Learning Classroom Chobitsu Board owner 02/11/2023 (Sat) 02:56:07 No.19777
Keep your eyes on the prize edition ETA for class start ~May 2023 >note: This OP is just a temporary stub for now. This is our classroom's textbook thread: (>>18749). >note: The previous concept for this class was merged into the Atticke: (>>4895). --- >unless otherwise-noted, everything ITT is MIT (Expat) licensed >copyright 2023
Edited last time by Chobitsu on 02/26/2023 (Sun) 09:59:26.
-Recommended extra-curricular reading: 1. The Timeless Way of Building by Christopher Alexander Oxford University Press (1979) The literal single-best Architectural book in software! :^) >(TBD)
Edited last time by Chobitsu on 03/11/2023 (Sat) 07:20:56.
If you've turned in your assignments with your name on, then you'll receive your marks here. First come, first served. :^) --- Ch 2 drillsHello World Waifu - (>>21187 #1) (>>21196) Chobitsu, completed ---
Edited last time by Chobitsu on 03/08/2023 (Wed) 17:01:16.
>spare reserve
>spare reserve
>spare reserve
>Im a uni professor, electrical engineering as a background with a Msc and a PhD in robotics so this is my thread. >Depends on the rype of robot that you want to build. if you want an humanoid and want to avoid all dynamics you could use big square foots and mantain the center of mass as low as possible. The robotics in that case can be just an arduino and servos but youll only make something small, like a desk-robot. If you want to make a mobile robot with hands, something like a Packbot its even simpler as the tracks will give you the stability needed. >However, if you want to make the robot 'smart' and not something that is actually a RC-robot, you can use openCV or MsCOCO for vision, and pre-construct routines fot the system which youll need to use some more 'pro'software. I use MATLAB mostly for robot control, and for simulations i use coppeliaSim so ill start there. That's a post from 4chan
>>19830 >That's a post from 4chan It's a good one Anon. Academicians tend to live in so-called Ivory Towers, so take their perspectives with a big grain of salt, would be my advice. Now, if you can get the technical information (including full sauce-bases please) from Boston Dynamics' Atlas, then that would be most welcome here haha. Even the TeslaBot early work would be fine. :^)
>>19831 There's nothing wrong with the ivory towers I think. The streets and the hussle are overrated. Like a prostitute knows more about the economy than say an economist. Some people think that way lol.
>>19832 Lmao. Fair enough, just don't buy into their nuspeak until you've actually had to optimize a few dozen runtime algorithms, systemically, rigorously, yourself, personally. Then you can properly judge with some degree of practical accuracy whether their ideas have any real merit to them, or are simply ideologue-driven fabrications that can't handle real life out on 'the streets' as you put it (say, 100's of thousands of live, interconnected, 6-sigma phone switches for one example). They don't run MATLAB out on these boxes, BTW, but rather OG C++. Some of them are truly brilliant, say the father of the Internet, Al Gore Vint Cerf, or the (primary) inventor of modern chip fab design approaches (among several other accomplishments), Carver Mead. But for every one of these stellar academic men, there are 50'000+ pure seat-warmer tokens, I'd estimate. Cheers. >=== -prose edit
Edited last time by Chobitsu on 02/11/2023 (Sat) 18:39:33.
>>19832 > Like a prostitute knows more about the economy than say an economist I think you give economists too much credit. People close to the customers see a recession earlier than many institutions.
Well either way I don't see what C++ has to do with making robots No offense.. Python would be more appropriate ironically. Opencv is python, pytorch is python, a lot of this stuff is python... you could get a phone, put some opencv script on it and connect it to a robot hand and make the hand gives you a thumbs or a thumbs down depending on what you show it and stuff I think.
>>19838 Board owner is a C++ enthusiast and everyone here picks his own preferred tools anyways. Python is used more in AI nowadays, but also robotics is more than AI. Low level languages can be quite useful to make things fast. Python in AI might also get replaced by Swift in some time, we'll see. It might also not be used after the research phase, when it comes to build something more optimized. Of course we have a whole thread on this topic programming languages here >>128 discussing other languages, with the latest overview here >>13955 (there was some trolling or flame war, making that necessary, but seemingly got deleted). I think this here is for more long term benefits, help training the future engineers. If you just want to build something fast then yes, you would learn the basics of Python and go with some framework.
>>19777 Watching this thread with bated breath. Even though I've done a good bit of C, it's always good to learn how to truly engineer the kind of systems we'll need, instead of just stitching together Python libraries (though that'll be helpful too.) Learning together with like minded people will hopefully help get too-busy (read: lazy) people like me off our asses and contribute.
Open file (1.07 MB eop.pdf)
>>20720 Thanks Anon! Your experience with C should be somewhat helpful to you. Remember that time you were writing what was functionally your first string 'class'? Or when you decided to make dealing with vectors arrays easier? :^) C++ represents a fairly expansive attempt at doing just the kinds of things that C already does very well, but also offering an effective, mathematically-rigorous approach for layering abstractions on top of it all too (file-related [1]). And this enhancement is primarily cost-free as well if you don't count having to learn the language's syntax haha :^). It also offers many other interesting characteristics as a programming language. And 'wall-clock performance' is a critical aspect of the language's design & evolution from it's very inception (approaching 50 years ago now). It has remained thus to this day -- even more so in fact. That, in combination with it's several other benefits, sets C++ singularly apart for our robowaifu systems-development efforts here. C will remain the top dog for custom code inside of microcontrollers, sensors, and other smol devices onboard robowaifus (so don't lay those skills aside either!) I welcome you & every other anon here in pointing out each time/anytime, everything that's not clear within this 'classroom' Anon. I'll try to do my level best at patching it up, and that's how all of us together will improve our learning classes for the future Robowaifu Technicians to come! Cheers Anon, in the end it's gonna be epin! :^) 1. http://elementsofprogramming.com/ >=== -prose edit
Edited last time by Chobitsu on 02/26/2023 (Sun) 12:26:27.
>>19838 For one, robots are hard real time, and you can't do real time in Python. If you fail a deadline in an audio system, you get skips and pops. If you fail a deadline in your robowaifu, she pauses while gravity continues and soon she's squirming on the ground. I'm sure robotics has a million such situations and I have no experience with robotics. And Python will be very vulnerable to abrupt pauses at the very least due to garbage collection. Additionally, VM/interpreted languages often make it impossible to say for certain that you cleared some memory. This is important when you're handling cryptographic secrets, passwords, and the like. Letting this information linger in memory after you're done with it is a source of security vulnerabilities. Also, robotics is at the cutting edge of technology. There is no slack. Robot-portable batteries last too little, processors produce too much heat, consume too much power, and are too slow; memory and storage are at a premium, and so on. There are no spare resources to invest into using an inefficient language. t. C++ hater.
>>20852 Nice post Nagisa, thanks! Great, succint introduction to the most readily-apparent issue of hard realtime in bipedal robotics for the beginner. I intend to address all the needs for programming I can think of during the classes and that certainly includes hard realtime requirements. As you might imagine every little thing is going to have to be audited extensively, and wall-clock not the least of which. >t. C++ hater. Haha, trust me I understand. It's simply our single best bet for success today. Hopefully Anon will help us all get around it's limitations! Cheers. :^)
> (conversation related : >>20631, ...)
Open file (162.56 KB 720x540 Slide1.png)
Open file (169.73 KB 720x540 Slide2.png)
Open file (166.55 KB 720x540 Slide3.png)
Open file (170.11 KB 720x540 Slide4.png)
Open file (173.47 KB 720x540 Slide5.png)
Lecture 01 begins >(TBD) --- For now, this is just some testing trying to get a sense of what each class is going to look like in the threads. Things might be in flux for a while. >tl;dr This is just some prep work for the classes beginning in May; Pay no attention to the man behind the curtain! :^) 1
Edited last time by Chobitsu on 03/08/2023 (Wed) 14:48:41.
Open file (174.13 KB 720x540 Slide6.png)
Open file (167.40 KB 720x540 Slide7.png)
Open file (171.29 KB 720x540 Slide8.png)
Open file (175.92 KB 720x540 Slide9.png)
Open file (168.00 KB 720x540 Slide10.png)
Edited last time by Chobitsu on 03/08/2023 (Wed) 11:28:56.
Open file (169.73 KB 720x540 Slide11.png)
Open file (174.23 KB 720x540 Slide12.png)
Open file (168.63 KB 720x540 Slide13.png)
Open file (172.14 KB 720x540 Slide14.png)
Open file (170.88 KB 720x540 Slide15.png)
Edited last time by Chobitsu on 03/08/2023 (Wed) 11:29:11.
Open file (168.52 KB 720x540 Slide16.png)
Open file (168.55 KB 720x540 Slide17.png)
Open file (163.66 KB 720x540 Slide18.png)
Open file (146.81 KB 720x540 Slide19.png)
Open file (164.76 KB 720x540 Slide20.png)
NOTE: Whenever there is a photograph in any of these slides (during the entire book), every picture is in some way related to C++ (such as the eminent men that laid the software foundations for robowaifu systems before us, e.g., Dennis Ritchie) or is a direct example of C++ running within/related to the pictured items (such as the fuel-injection control systems of those yuge ship engines). And most all of these images are but representatives of entire classes of systems that rely on the language, not just those particular items. >question: Which cylinder is the man standing next to? protip: No. 1 is closest to the screw 4
Edited last time by Chobitsu on 03/08/2023 (Wed) 15:05:48.
Open file (145.69 KB 720x540 Slide21.png)
Open file (122.75 KB 720x540 Slide22.png)
Open file (166.98 KB 720x540 Slide23.png)
Open file (173.32 KB 720x540 Slide24.png)
Open file (177.57 KB 720x540 Slide25.png)
The Mars photo is a joke about "Martians". The rover itself has an onboard AI application written in C++, that does path-planning & navigation (to a target location sent ~25 hrs in advance by JPL Mission Control). Why 25, BTW? :^) 5
Edited last time by Chobitsu on 03/08/2023 (Wed) 12:54:22.
Open file (174.78 KB 720x540 Slide26.png)
Open file (171.92 KB 720x540 Slide27.png)
Open file (173.69 KB 720x540 Slide28.png)
Open file (162.06 KB 720x540 Slide29.png)
Open file (177.46 KB 720x540 Slide30.png)
Edited last time by Chobitsu on 03/08/2023 (Wed) 11:30:05.
Open file (179.33 KB 720x540 Slide31.png)
Open file (164.95 KB 720x540 Slide32.png)
Edited last time by Chobitsu on 03/08/2023 (Wed) 11:30:20.
1. Following closely the example from our textbook given here (>>18763), create a 'Hello World!' message from your waifu to everyone. -It should output: Hello World, from <your_waifus_name_here>! -Do your work on Coliru, and reply to this post with it (be sure to point out which drill # it is). >You turn your work in by hotlinking back to your code. >Also, please make comments about each assignment if you'd care to. <We turned one in already to show you the correct idea. >(TBD)
Edited last time by Chobitsu on 03/08/2023 (Wed) 16:58:39.
- Ch 1 >Review questions are intended to point you to the key ideas explained in a chapter. One way to look at them is as a complement to the exercises: the exercises focus on the practical aspects of programming, whereas the review questions try to help you articulate the ideas and concepts. In that, they resemble good interview questions. 1. What is software? 2. Why is software important? 3. Where is software important? 4. What could go wrong if some software fails? List some examples. 5. Where does software play an important role? List some examples. 6. What are some jobs related to software development? List some. 7. What’s the difference between computer science and programming? 8. Where in the design, construction, and use of a ship is software used? 9. What is a server farm? 10. What kinds of queries do you ask online? List some. 11. What are some uses of software in science? List some. 12. What are some uses of software in medicine? List some. 13. What are some uses of software in entertainment? List some. 14. What general properties do we expect from good software? 15. What does a software developer look like? 16. What are the stages of software development? 17. Why can software development be difficult? List some reasons. 18. What are some uses of software that make your life easier? 19. What are some uses of software that make your life more difficult? - Ch 2 >The basic idea of these review questions is to give you a chance to see if you have noticed and understood the key points of the chapter. You may have to refer back to the text to answer a question; that’s normal and expected. You may have to reread whole sections; that too is normal and expected. However, if you have to reread the whole chapter or have problems with every review question, you should consider whether your style of learning is effective. Are you reading too fast? Should you stop and do some of the Try this suggestions? Should you study with a friend so that you can discuss problems with the explanations in the text? 1. What is the purpose of the “Hello, World!” program? 2. Name the four parts of a function. 3. Name a function that must appear in every C++ program. 4. In the “Hello, World!” program, what is the purpose of the line return 0;? 5. What is the purpose of the compiler? 6. What is the purpose of the #include directive? 7. What does a .h suffix at the end of a file name signify in C++? 8. What does the linker do for your program? 9. What is the difference between a source file and an object file? 10. What is an IDE and what does it do for you? 11. If you understand everything in the textbook, why is it necessary to practice? >Most review questions have a clear answer in the chapter in which they appear. However, we do occasionally include questions to remind you of relevant information from other chapters and sometimes even relating to the world outside this book. We consider that fair; there is more to writing good software and thinking about the implications of doing so than fits into an individual chapter or book.
Edited last time by Chobitsu on 03/08/2023 (Wed) 13:53:49.
>These terms present the basic vocabulary of programming and of C++. If you want to understand what people say about programming topics and to articulate your own ideas, you should know what each means. - Ch 1 • affordability • customer • programmer • analysis • design • programming • blackboard • feedback • software • CAD/CAM • GUI • stereotype • communication • ideals • testing • correctness • implementation • user - Ch 2 • // • executable • main() • << • function • object code • C++ • header • output • comment • IDE • program • compiler • #include • source code • compile-time error • library • statement • cout • linker >You might like to gradually develop a glossary written in your own words. You can do that by repeating exercise Ch 2 - 5 below for each chapter.
Edited last time by Chobitsu on 03/08/2023 (Wed) 14:05:27.
>>spare reserve
Edited last time by Chobitsu on 03/08/2023 (Wed) 13:28:00.
1. C++ is a programming language designed for a wide selection of programming tasks; see https://stroustrup.com/applications.html for examples. 2. In C++, strings are delimited by double quotes ("). 3. The \n is a “special character” indicating a newline. 4. The name cout refers to a standard output stream. Whatever characters are “put into cout” will appear on the screen. 5. Anything written after the token // on a line is a comment. Comments are ignored by the compiler and written for the benefit of programmers who read the code. 6. The first line of the program is typically a comment that tells the human reader what the program is supposed to do. This kind of comment reminds us (the programmers) what we should tell the computer precisely, completely, and formally. 7. An “#include directive” instructs the computer to include (make available) facilities from a file. 8. The importance of std_lib_facilities.h (written specifically for this book) is that it makes the C++ standard library facilities available. 9. Every C++ program must have a function called main to tell it where to start executing. 10. A part of a C++ program that specifies an action and isn’t a pre-processing directive is called a statement. 11. A C++ compiler translates source code (code that you write) from the human readable form to “machine code” that can be understood and executed by the computer. 12. The compiler looks at your source code to see if your program is grammatically correct, if every word has a defined meaning, and if there is anything else obviously wrong that can be detected without trying to actually execute the program. The compiler will not compile your program until these “compile-time errors” have been corrected. 13. The compiler is possibly the best friend you have when you program. 14. The program that links compiled program parts, often developed by different people, together to form an executable program, is (unsurprisingly) called a linker. 15. Object code and executables are not portable among systems. For example, when you compile for a Windows machine you get object code for Windows that will not run on a Linux machine. 16. Errors found by the compiler are called compile-time errors, errors found by the linker are called link-time errors, and errors not found until the program is run are called run-time errors and logic errors. 17. Generally, compile-time errors are easier to understand and fix than link-time errors and link-time errors are often easier to find and fix than run-time errors or logic errors. 18. An “Integrated Development Environment” or IDE provides facilities to help you write, debug, compile, link, and run your code. 19. An IDE usually includes an editor with helpful features like color coding to help distinguish between comments, keywords and other parts of your program code. 20. You might think you understand everything you read and everything your instructor told you in class, but repetition and practice are necessary to develop programming skills.
Edited last time by Chobitsu on 03/08/2023 (Wed) 13:31:27.
>>21187 #1 - https://coliru.stacked-crooked.com/a/138a12882f6ec2f5 At first I thought it would be easy, but then I looked back at it and remembered I had forgotten to do the file header comments properly and had to do it again! :^)
Edited last time by Chobitsu on 03/09/2023 (Thu) 00:20:02.
I don't know if anyone else is following this but I am. Hopefully this C++ will not give me a brain hemorrhage. :)
>>21263 I've added a book for you (and every other anon ITT) to read while you're waiting for class to start, Grommet. (>>19778) When you master the Zen of building that this treasureful book contains, then you'll understand The Timeless Way. Which will in turn serve you very well while learning both C++, and all the truly deep aspects of robowaifu systems development & engineering. Cheers. :^) >=== -minor edit
Edited last time by Chobitsu on 03/11/2023 (Sat) 08:23:19.
>>19778 >The Timeless Way of Building by Christopher Alexander I think I've read that. I know I've at least browsed it. I've read so many books that it's hard to remember what I have and haven't read. Serious book worm. If you want to know the most radical, cheap, longest lasting way to build a house I've come up with it. I read a book many, many years ago called "Ceramic Housing and Earth Architecture". A house built of ceramics WOW! This idea totally obsessed me. https://en.wikipedia.org/wiki/Ceramic_houses http://www.dirtcheapbuilder.com/Home_Building/Ceramic_Houses.htm There's some problems with his approach, namely the difficulty of firing full thickness adobe, but I finally found a solution to this. Thought about writing a book but...haven't.
>>21332 The book is useful to help with the Zen of building (of all kinds); but I'm not recommending it to everyone b/c of houses heh, but rather robowaifus. What we're doing here will dwarf the tallest skyscraper in complexities in the end after all. >tl;dr Read it (with robowaifu systems in mind), you'll thank me. :^) >Thought about writing a book but...haven't. No time like today bro! :^)
Alright so for those of you that would like to venture into learning by making a text based game here is a little challenge. Make it so the player loses 10 HP http://tpcg.io/_XQFHH7 Bonus points if you add more stuff to it
Open file (18.02 KB 640x360 images (11).jpeg)
>>21459 Nice you got it bros. Now make the rest of the game.
>>21464 >*dons sensei cap* >*harumphs politely* Lol No U! :^) AMA I'll help you with everything Anon.

Report/Delete/Moderation Forms