Robots traditionally exist in the workplace strictly in the subordinate service of humans. The objective of this project is to create a small robot that fulfills a workplace role of coworker, capable of working alongside its human counterparts. Like real colleagues, this robotic coworker should be capable of accomplishing tasks (or at least appearing to), but may also be susceptible to distractions.
Create a arm-like robot that sits at a desk and types on a computer keyboard. The robot occasionally looks up and stares at interesting things. Arduino will control three servo motors to position the robot, relative to positions sent from processing. Processing will receive a signal directly from a web camera mounted to the end of the “arm” and process the image, as well as verify input on the keyboard. Interesting distractions will be determined as points of high contrast and/or intensely-moving things.
Sketch + Diagram:
– Double-Taker (Snout) by Golan Levin. A rooftop robot arm “looks at” visitors entering the Pittsburgh center of the arts.
– ASIMO Robot by Honda. Robot intended to be a humanoid aid in the workplace.
– Typing Robot by “pacoliketaco” (alias). Typing robot based on cartesian axis positioning.
– Control multiple servo motors from an arduino
– Use trigonometry to dynamically position the end of the arm in 3D space
– Control Arduino through serial signals from Processing
– Create a virtual internal representation of the physical robot
– Use image processing to determine points of interest
– Move three-dimensionally, based on a 2-D image coordinate and the known 3-D position and angle of the camera
– 3 servo motors capable of supporting moderate torque.
– Macally Portable Goose Neck USB Video Web Cam (currently on order)
– piano wire and tubing for frame
– Robot capable of typing gibberish on a keyboard.
– Robot looks up in an arbitrary direction to simulate distraction.
– Robot capable of composing legible text on a keyboard.
– Robot looks around for moving and shinny things.
– Spec and order motors
– create scale diagram of robot
– calculate positioning algorithms
– start working on image processing using built-in camera
– Get arduino to control 3 servos simultaneously
– Assemble robot based on diagrams
– Write and test positioning code
– Write higher level control functions to press keys and look in a particular direction
– Write an auto-composing text program in processing (have some experience with this already)
– Test image processing with external camera
– Link the auto-composing text program with the robot to type words
– Program in periodic “distraction time” for robot
– Get robot to look at areas of interest