3 ms·
My first industrial programming job was at Unimation. Grab the edge of the table. Line up your wrist and your forearm. You'll discover that you can move your w
by daly 9y ago
My first industrial programming job was at Unimation.
Grab the edge of the table. Line up your wrist and your forearm. You'll discover that you can move your wrist/forearm combination without moving your hand. That is, there are multiple possible solutions that will place your hand in that position.
The Unimate 2-arm robot had that problem. When the wrist/forearm aligned, the wrist violently twisted one way while the forearm violently twisted the other way yet the hand never moved. Nobody knew why but it was clearly "the computer's fault".
I was given the paper tape that ran the robot (binary code for a Data-General Nova computer). I asked for the 'source code' but they had the program written by contractors who had gone out of business and they never asked for the source code. It turned out that the program was trying to compute tan(0/0) when both the wrist and forearm encoders read 0. All I had to do was rewrite the trig routines (in fixed point/real time code) to avoid the issue. In binary. Using a pin-punch to modify the paper tape (a block of metal with 8 holes and a round metal pin that fit through a hole to punch the tape, yaknow... like you used in your CS courses) by finding a JMP instruction I could mangle properly to jump to the new subroutine address, compute the result, and jump back.
See what you're missing?