3 ms·
As an electronics guy I have to say that even if you code perfectly, your system can still fuck up, because your assumption is wrong. E.g. I had a project physi
by atoav 2y ago
As an electronics guy I have to say that even if you code perfectly, your system can still fuck up, because your assumption is wrong. E.g. I had a project physically tear itself apart, because apparently when the USB-cable was disconnected in just the right moment the servo would interpret the cut off PWM pulse as a position clue, one that just by code alone should be unreachable.
What we learn from that is that even well written code cannot guarantee everything and you need physical fallbacks like end-switches that remove power from the servos if activated (and whoever thought pulse length is a reliable way to set servos is probably wrong).
- arijo 2y agoWouldn’t a digital servo mitigate the problem?
- atoav 2y agoNo, they were digital servos. As far as I know the only difference between analog and digital servos is in how they process the received signal, the signals themselves are very much the same. But if by digital you meant some hypothetical servo that needs to receive its data as bytes with a checksum — yeah that would work, as long as the thing can do a graceful shutdown on powerloss. But I am not aware of such servos (although I wouldn't be surprised if they existed, on that project I was just a programmer).
- arijo 2y agoI realize now my comment was dumb. Thanks for the correction.
- colechristensen 2y agoEspecially when writing software for hardware in space, managing "unreachable" code paths is tested and considered, because with cosmic rays and other sorts of radiation, no code path is actually unreachable.
- atoav 2y agoRadiation hardened computing is a whole other (fascinating) can of worms, I can only imagine how hard that can get.