Resource icon

    Programmable Robotic Hand 2.0

    Programmable Robotic Hand 2.0

    The Programmable Robotic Hand 2.0 comes loaded with new features.

    1: New programming interface that makes programming less difficult.
    2: Memory was both expanded and compressed. Store up to 15 different gestures
    3: A system to chain together gestures to form composite gestures.
    4: Implemented a clock to help determine if the circuitry is properly loaded in.
    5: All the old features, especially demo mode, were adapted to the new architecture.

    Comes pre-loaded with gestures: 1111=Rock, 0111=Paper, 1011=Scissors, 0011=Lizard, 1101=Spock

    Time to tell you how it works:
    Basically, I made a primitive reinvention of a computer.


    Hopefully these are marked clearly enough...

    Let me explain what each part does first, starting with the controls.

    Memory Output: Displays the status of the memory cells. Green indicates an active memory cell, and red indicates a blacklisted memory cell.

    Select: Allows you to select a memory cell for your own nefarious purposes.

    Ready: Queues the hand to gesture while sending out a ready signal. There is an IO at the front marked Input/Demo/ Output. If the input gets an on signal, then the hand will gesture. This mechanism ensures that if two hands are linked together, they both gesture at the same time.

    Programming Panel: Where all the programming functions and tools can be found.

    Loading Bar: Actually just a timer. The mechanism is complex and takes time to load. When the loading bar is moving consistently, then most of the logic is fully loaded in.
    Cache Manipulation: Use this to alter the cache. The cache directly outputs to the display.

    Display: Outputs the cache. Allows players to easily see and edit memory files.

    Now onto the circuitry itself:
    Cache: Outputs to the display, is there to hold temporary information and make it available to the rest of the circuitry. such as a gesture file someone is working on.

    Imprinting Bus: This is the data bus used to imprint information to the memory cells, including the cache.

    Output processor: Can take the output bussed through the memory modules and either: Run the information raw(in order to enter a gesture), Run a rearranged version of the memory(in order to exit a gesture), Or output it all to the imprinting bus(to change memory cells.)

    Memory Circuits: 36bit T-Flip-Flop Memory cells, fifteen of them. Because they are T-Flip-Flops, you actually have to read and bounce the information back to the memory cell to delete it. They also include an additional 4bit memory cell that can reference the bitwise number of another cell.

    Blacklist Circuit and Blacklist Storage: The circuit activates each memory cell, one by one, while the Blacklist Storage catches any references to other cells.

    Demo Circuit: Tricks the processor into running a programmed loop containing all active memory cells and the last one.

    Processor: Surprisingly the smallest circuit in the entire hand, this circuit controls and coordinates all of the hand's automatic systems. When you want to gesture, this circuit runs all the commands to achieve that. This device also allows you to chain together memory cells as it will adapt to follow this chain to completion. Could run faster though...

    Programming:



    Hopefully these are marked clearly enough...

    The door is for getting inside the ship core, just follow the light to get into the core. You can find the door again in a similar way.

    The green light indicates when it is safe to input another command, blue light shows when the system is working, and red light either means the system won't accept new input, or a blacklisted memory cell is selected. You can usually tell which is which since the green light does not turn off when you select a blacklisted cell.

    The select bits are for selecting the target memory cell to run operations on.

    The reference bits are for referencing another memory cell from another memory cell. Used to chain together gestures into one composite gesture.

    Commands:

    Demo: Found on the IO. Runs every gesture stored in memory, and runs the last memory cell regardless of the status. This does mean the hand might break if you have part of a composite gesture in the last cell, AKA it's blacklisted.

    Run Selected Program: Actually is just the Ready button. Runs the selected program provided the IO has it's input set to true.

    Safety: Prevents the user from changing memory cells or running expensive commands while it's off. If you want to program, then you have to enable this.

    Imprint Selected Memory: Deletes the selected memory cell and copies the data from the cache to the memory cell.

    Clear Selected Memory: Deletes the selected memory cell.

    Clear Cache: Deletes the cache. The display should reflect this.

    Load Cache From Selected: Deletes the cache and copies data from the selected memory cell to the cache.

    Run From Cache: Runs what is inside the cache without filtering. Use this to enter a gesture from the cache.

    Run From Cache Inverted: Runs what is inside the cache, filtering it so that it exits a gesture. Use this to exit a gesture after you enter a gesture through the cache.

    Blacklist Secondary Memory: Use this to check through the memory cells and blacklist referenced memory cells. This is a safety feature to prevent people from accidently running a referenced memory cell, and allow demo mode to run properly. Otherwise, the hand can break. Expensive; takes a long time. Run only after you finish programming AND edit the references.

    Delete Blacklist: Deletes the blacklist memory storage. Dangerous. Only do if you have no referenced memory cells, otherwise you can break demo mode. This effectively removes the safety restraints.

    Guide: How to program a gesture:

    First select the memory cell you want to use. Make sure it isn't a blacklisted cell.
    Next you edit the cache memory until it matches the gesture you want to enter. Use Run From Cache to see the gesture your program would result in, and Use Run From Cache Inverted to return the hand to it's neutral position.
    IF you are making a normal gesture:
    Finally, when you are satisfied, select Imprint Selected Memory. You should test it out to make sure it works. If it works, you are done!
    IF you are making a composite gesture:
    Make sure to enter reference cell. This tells the processor where the next 'frame' is located in memory. If you are at the last 'frame', then you can skip this step.
    When you are satisfied, select Imprint Selected Memory.
    Repeat the instructions for every 'frame' in the animation.
    When you are finished, run Blacklist Selected Memory.
    Make sure to test the program out when it is finished.
    NOTES:

    If the hand breaks, remain calm, and redock any parts that are stuck. If necessary, use the cache and it's related commands to return the hand to it's neutral state.

    The Loading Bar has a button in the center. If it goes completely out or fills completely up, press this button. It will reboot the Loading Bar.

    The processor runs a little slowly. If anyone can develop a faster processor without compromising the hand's features, that would be extremely helpful.

    Any feedback/constructive criticism is appreciated.

    The old 1.0 version:
    A robotic hand with 5 programmable animations.

    The animations are stored in 10 32 bit timed memory cells. They can be accessed either manually or wirelessly through the command cabin(right, behind the hand).

    Other features include a manual control panel, Wireless in the command cabin, a wireless demo button, and a wireless peer-to-peer connection that outputs when you have selected a move, and waits for an input before moving. The peer the peer can be set up by wiring all the outputs to the inputs and the result should be that both hands gesture simultaneously.

    In order to program it you have to open up the hood and manually change the memory cells. They are grouped in 5 groups of 2, the one in the left of the group tells the hand how to enter the pose, and the one in the right of the group tells the hand how to exit the pose.

    The hand comes pre loaded with Rocks Paper Scissors Lizard Spock, and each memory cell pairing has displays marking the gesture, with the leftmost cell having displays documenting what buttons cause what movements.

    Example of it in demo mode:



    Notes:
    1. The hand will sometimes break in lag, but is easily fixed from the control panel. If the fingers are caught in the 'spock' or 'scissors'mode, you may have to temporarily rewire the control circuit in the back of the hand.
    2. Entering and exiting the game, and possibly loading it into the game may cause parts to become lodged in a stuck position. Simply undock and redock the affected joints, and the problem should be fixed.
    Author
    Trekkerjoe
    Downloads
    312
    Views
    428
    First release
    Last update
    Rating
    5.00 star(s) 4 ratings

    More resources from Trekkerjoe

    Latest updates

    1. Programmable Robotic Hand MKII: New programming Interface and more!

      The Programmable Robotic Hand 2.0 comes loaded with new features. 1: New programming interface...

    Latest reviews

    Yeah, I would probably just make it flip people off too lol.
    Nice build Trekkerjoe!
    It's genius! Absolutely genius! What would really be cool is if someone make a space serpent using this tech. It would slither along in space. Maybe it could coil up too.

    Can't wait to see what you come up with next!
    My god man.

    I never thought memory cells would actually be used for anything apart from logic computers and display panels. But this... THIS is amazing! +1313131231
    Fantastic. I'm going to make it flip people off.