Problem/Need Statement System Requirements System Analysis Functional Decomposition Concept Renderings Market Survey Risks
Problem – Currently there is a robotic frame with two mobile robotic arms, but a static shell for the head. Need – The head needs to be capable of showing human-like facial emotions and movements. › Smile, frown, frustration, etc; › Tilt, roll, and pan the head.
The head shall look clean and nonthreatening, while retaining human-like attributes. The head shall pitch, roll and yaw within a 90º, 90º, 90º arc of motion within a user specified duration. Movement of the head shall be smooth and well transitioned. The mouth and each eyebrow shall be handled by a single servo, with a 180º arc of motion within a user specified duration. Motors shall be quiet and not distracting.
Microphones shall be used to listen for human speech and object interaction noise within three meters of the robot while distinguishing between ambient noise and human voice. A camera shall be implemented within the head or body to provide/process visual feedback. The microcontroller board shall be connected to a PC via serial or USB. Servo wiring shall be twisted pair (to maintain low noise emission). API shall be done within C/C++. Interface will be done in C#.
A single RS-232 Servo Controller will handle all pulse width control signals to all eight servos. A power supply will have enough power for all servos and controller Programming will provide user communication to controller.
Provided by Alex Stoytchev
There are a very limited amount of projects/products similar to ours. MIT does have a comparable project that is focusing on environmental interaction, and is replete with eyebrows, eyes, mouth and neck.
Technical: › Servo controller/motor malfunction. › Difficulties integrating serial interface. Financial: › Parts may exceed small budget. › Loss/denied funding for project/parts.
Schedule: › Shipping delays › Other course work delays project tasks Customer Acceptance › Not pleased with result/design and documentation › Solution might exceed budget
Hardware specification Software specification User interface specification
Three servos 0-180º < 1 second Three degrees of freedom Easily Fits inside space provide on the chassis Supports up to 4kg Price: $60.00
Control System: +Pulse Width Control 1500usec Neutral Required Pulse: 3-5 Volt Peak to Peak Square Wave Operating Voltage: Volts Operating Temperature Range: -20 to +60 Degree C Operating Speed (4.8V): 0.24sec/60° at no load Operating Speed (6.0V): 0.20sec/60° at no load Stall Torque (4.8V): oz/in. (7.7kg.cm) Stall Torque (6.0V): oz/in. (9.6kg.cm) Operating Angle: 45° one side pulse traveling 400usec 360 Modifiable: Yes Direction: CW/Pulse Traveling 1500 to 1900usec Current Drain (4.8V): 8.8mA/idle and 350mA no load Current Drain (6.0V): 9.1mA/idle and 450mA no load Motor Type: 3 Pole Ferrite Potentiometer Drive: Indirect Drive Bearing Type: Dual Ball Bearing Gear Type: 3 Metal Gears and 1 Resin Metal Gear Connector Wire Length: 11.81" (300mm) Dimensions: 40.6 x 19.8 x 37.8mm Weight: 1.94oz. (55.2g) Price: $40.00 each
Control System: +Pulse Width Control 1520usec Neutral Required Pulse: 3-5 Volt Peak to Peak Square Wave Operating Voltage: Volts Operating Temperature Range: -20 to +60 Degree C Operating Speed (4.8V): 0.10sec/60° at no load Operating Speed (6.0V): 0.09sec/60° at no load Stall Torque (4.8V): 20.8 oz/in. (1.5kg.cm) Stall Torque (6.0V): 23.5 oz/in. (1.7kg.cm) Operating Angle: 45° one side pulse traveling 400usec 360 Modifiable: No Direction: CCW/Pulse Traveling usec Motor Type: 3 Pole Ferrite Potentiometer Drive: Indirect Drive Bearing Type: Top Ball Bearing Gear Type: All Nylon Gears Connector Wire Length: 12” Dimensions: 21.8 x 11 x 19.8mm Weight:.27oz. (7.8g) Price: $14.00 each
Max packet size: 59 bytes Max control rate: 15 instructions / second 74% available bandwidth used worst case 1 to 8 servos per board with 8-bit resolution <1° of servo position precision resolution Servo port can be reconfigured for digital output to drive on/off devices. Interface to PC through RS232 Serial port (2400 to baud). User definable board ID number (allowing multiple boards to share same serial line). 5-Ch, 8-bit A/D input port for reading Volts. (Control servo positions via Joystick/Pot) Dimensions: 1.4 in X 1.7 in Servo Connectors: 3 pin J-type connectors. Power supply: 7V-15V Price: $80.00
MIC Type: Gooseneck Element: Back electret condenser Polar Pattern: Cardioid Impedance: 250Ω Frequency: 50 Hz to 18 kHz Sensitivity*: -65 dB +/- 3dB Max 1% THD: >130 dB S/N Ratio: >65 dB Phantom Voltage Req: 9V – 52V DC Connector: XLR Male Dimensions: 18-1/4" L x 3/4" Dia. Product Weight: 4 oz. Material: Cooper Finish: Non-glare black finish Price: $80.00 *(0dB=1V/BAR 1,000 Hz indicated by open circuit)
Sensor: CMOS VGA sensor technology Resolution: Motion Video: 640 x 480 pixels video Still Image: 1.3 megapixel (1280 x 960 pixels, interpolated) photos Field of View: 55° diagonal field of view Automatic face tracking Digital pan, tilt, and zoom Manual focus Price: Already provided
Servos › Function Generator › Oscilloscope › Bench-Top DC Power Supply Microcontroller Board › Oscilloscope › Computer with serial connection › HyperTerminal Communication Software › Bench-Top DC Power Supply Power Supply/Voltage Divider › Bench-Top Multimeter › Bench-Top DC Power Supply
Frame (Eye Tray) › Completed frame and servo assembly › Working serial computer communication › Final testing stage Frame (Aesthetic Plate Attachment) › Completed frame and servo assembly › Final testing stage Neck Joints › Completed head with plates attached › Working serial computer communication
Theoretical: › Expression-Movement Mechanics (SolidWorks) Physical: › Expression-Movement Mechanics › Aesthetic plate connections
Drawn with the assistance of Robert Peck
Software tools to allow for interaction with our robotic head › RS-232 Instructions Broad library › Easy to develop scripts › Implementation Written in C › Accommodate robotic arm code
Broad functions that allow for full movement control › Each servo is controlled and receives feedback from microcontroller. Descriptive functions › Anticipate future changes › Easy to read and use Command hierarchy › Reduce redundant code › Stable functions › Easy to create new functions.
Unit Testing: › Test each software component. › Ensure each component works to design. Software System Testing: › Manual test using HyperTerminal › Ensure system works to design. User Validation › Ensures design overall correctness.
User-directed scripting for robot animations. › Save and open scripts Manually adjust individual facial and neck parts. Easy-to-use tabs for different aspects Adjust hardware related options. Image provided to allow judgment of ending animation (with preview button).
To create animations for head To create a clean, easy to understand interface To create a stable interface with: › Proper error reporting › Feedback for the user › Crash acknowledgement