9 ms·
> Like any experienced controls engineer, I spent a few days flipping the signs of various signals before I got them right. As somebody with a M.Sc. in control
by cmehdy 3y ago
> Like any experienced controls engineer, I spent a few days flipping the signs of various signals before I got them right.
As somebody with a M.Sc. in controls & signal processing (who ended up doing way more boring things), I always figured that I was doing that because I wasn't experienced enough. Turns out I also had the sign wrong on that one all along!
- pavelstoev 3y agoThis is precisely how I passed the lab portion of my Control Systems course in undergrad engineering.
- deleted 3y ago[deleted]
- AnarchismIsCool 3y agoThere are satellites in orbit right now that have their reaction wheels harnessed backwards and have a x *= -1.0; //DO NOT TOUCH in the codebase. Everyone does it, though usually you do the test before you duct tape it to the top of a few thousand kg of explosives and push the red button :)
- Matumio 3y agoWhen studying electrical engineering (during all the advanced control theory math and stuff) we were told that this is the official way to do it. If your PID controller doesn't work at first, second or third attempt, you don't run for your math books, you tweak it and try again until it works.
- kloch 3y agoQuaternions are hard to get right, and impossible to get right the first time. https://twitter.com/grapefrukt/status/1618517709767016450 https://twitter.com/grapefrukt/status/1618517709767016450
- bchasknga 3y agoYou are not alone. I've come to terms with the reality that every controller I've designed and implemented will always need a good amount of unit test coverage to ensure proper behavior (like signs and directions)...
- noiv 3y agoInteresting. Whenever I meet something with a boolean behaviour I already decide upfront it will be easier and less time consuming to test accordingly instead of building a mental model. However I have no problem to model tree searching or a-star stuff. It just seems I never developed neurons with just two outcomes.
- xtagon 3y agoSee also the phenomenon of it always taking 3 tries to plug in USB the correct way
- JoeCortopassi 3y agoFun fact: part of the licensing agreement to use USB, is to have the usb symbol on top of the connector. So unless you're using a cheap unlicensed cable, look for the symbol facing up and you'll always be correct
- j5155 3y ago…unless, of course, the port is upside down/sideways ;)
- quectophoton 3y agoAfter all this time I'm not going to trust a decoration. When I'm connecting an USB cable horizontally I always think "hol up". So I always remember to plug it with the hole up. When I'm connecting it vertically I think "hold right". So I know that if I want to hold it right, I have to put the hole right. Has worked for me so far. EDIT: Though "left" and "right" are more vague compared to "up" and "down", so connecting vertically assumes a specific "mental point of view". I'm just using one that's intuitive for me, but it might not work for everyone.
- lozf 3y agoOr 4 when it turns out you're trying the HDMI port instead.
- jamiek88 3y agoOr the fricken e-Sata port back in the day.
- signalToNose 3y agoThe holes in the contact on the cable should be up when plugging into the laptop
- MadnessASAP 3y agoAs somebody who has practically no post-secondary and just likes to tinker in the garage. I thought it might be nice to get an education of some sorts so I could stop wasting time doing stuff like flipping signs till it works.
- angra_mainyu 3y agoEE is very rewarding. I think it is only second to physics and nuclear eng in terms of how deep they go into physics. You also cover a wide array of topics, from hardware and how it works to a lot of systems programming (e.g: real-time operating systems, kernels, device drivers) some computer science theory (mainly automata theory and concurrency like petri nets) to signal processing which includes audio to heavy yet extremely beautiful math topics such as control theory.
- nativeit 3y agoI went through an EE associates program at my local community college after I’d graduated with a BA, purely because I wanted to know how to fix/modify/tinker with audio equipment. I went at night, part time, and it was easily one of the best experiences of my life. Like yourself, I had some amateur experience already, and as the gaps were filled I had at least 4-5 truly paradigm shifting moments where multiple concepts finally clicked together and whole swaths of the world suddenly made sense. I found elegant connections in the physics, familiar logic applications, and gained a lot of insight that I hadn’t expected, which helped reinforce my sense of just how little I will ever really know. Even though the purpose for taking those classes was largely personal, it’s materially contributed to my career in a lot of indirect ways (I’m an IT consultant and Linux sysadmin) by giving me a unique perspective for how things function on a much lower level than my colleagues who just have CS educations. I can troubleshoot Wi-Fi and signal transmission issues using spectrum and vector network analysis which makes everyone look at me as if I were a witch. I am comfortable disassembling and repairing equipment like scanners and commercial printers, with lots of moving parts and mains electricity that other techs won’t touch. All that said, I highly recommend attending an EE program, and even though you’ll feel like a big, wrinkled brain smart person—you will never stop turning it off and on again, bit-bashing, or sign flipping—all quite valid techniques for when the years of diligent study and experience loses out to fat fingers and poor eyesight.
- corethree 3y agoIs there a way to model this theoretically? Or is it always trial and error? I mean I realize you have to test the thing for "bugs" just wondering if a theory to perfectly model it is even possible.
- dgoldstein0 3y agoI think it's possible. But you'd have to be really careful with your equations, then have to be really careful to know which direction is positive in each signal and make sure to make the wiring and/or math match that. I can see why some trial and error would be easier than completely rechecking things when they don't work.
- dutchkiwifruit 3y agoSome things certainly can be modelled, but for others it is easier to simply try. For example, will applying a positive current to the motor make it spin in the clockwise or counterclockwise direction? It really depends on the behaviour and configuration of the motor controller, and in this case it was easier for me to just try. The trick is to do these tests at a sufficiently low level, because that’s usually where these issues are, in my experience.
- robocat 3y ago> sufficiently low level Final try at ground level: https://www.spacesafetymagazine.com/space-disasters/rocket-failure/roscosmos-official-proton-downed-due-upside-sensors/ https://www.spacesafetymagazine.com/space-disasters/rocket-f...
- ryandrake 3y agoA lot of engineering is ensuring you're making an even number of sign errors.
- malux85 3y agoSame in finance!
- hamandcheese 3y agoThis reminds me of how one time in an interview, I realized I had an off-by-one error. Instead of actually trying to understand the source of the error, I just sped-run tweaking different values +/- 1 until I got the expected result. In the moment I felt quite clever, but the interviewer apparently did not appreciate that technique.
- actionfromafar 3y agoWell, the three hardest things in computer science are after all naming things and off-by-one errors.
- biomcgary 3y agoI thought the two hardest things in CS was naming things, off-by-by one errors, and cache invalidation, but I must be remembering that incorrectly.
- klabb3 3y agosynchronization. Don’t forget
- sdenton4 3y agoThe whole reason for the off by one error in the standard joke is that we forgot to use a mutex.
- actionfromafar 3y ago
- LorenPechtel 3y agoI spent many days trying to troubleshoot some HP/GL2 plotter code in the distant past. I eventually concluded that the real problem was with the implementation--I was working with code that was written by others and went a little crazy with coordinate transforms. Oops--worked as expected on one non-HP plotter. Drew the image inverted on a HP plotter. The HP implementation appeared to break if you flipped the world too many times. That was a *long* time ago, my memory is fuzzy by now. (And in later days I saw a firmware update for a laser printer cause it to spew gibberish when fed embedded HP/GL2 code. This was in the era where there were still DOS programs running under Windows and somebody didn't check that it still worked right.)
- dfee 3y agoIs there a term for this systematic approach? I do it too, in software, and hone in on the right behavior using unit tests - especially to account for idiosyncratic off by one errors. Basically: get the structure right and then re-align the implementation to meet the expected behavior.
- oconnor663 3y agoGuess and check :)
- Tempest1981 3y agoHL? (human learning)
- dfee 3y agoI like this one.
- slingnow 3y agoYeah, it's called being a hacker
- ilayn 3y agoMultimeter and basic input output testing is your underappreciated friend.