440 likes | 612 Views
Humanoid Robot Head: May 09-11. Team: Dan Potratz Cody Genkinger Tim Meer Jason Pollard Andrew Taylor Client/Advisor: Alex Stoytchev. Planning and System Design. Problem/Need Statement Concepts & Renderings Requirements User Interface Market Survey Risks Schedule Work Breakdown
E N D
Humanoid Robot Head: May 09-11 Team: Dan Potratz Cody Genkinger Tim Meer Jason Pollard Andrew Taylor Client/Advisor: Alex Stoytchev
Planning and System Design • Problem/Need Statement • Concepts & Renderings • Requirements • User Interface • Market Survey • Risks • Schedule • Work Breakdown • Deliverables
Problem/Need • Problem – At the beginning of the project there was 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 and pan the head, eyes.
Concept Renderings Provided by Isaak Moody
System Requirements • F Req#001 – The head shall move front to back within a 90° arc of motion with a velocity that will be equivalent to 90° per second • F Req#002 – The head shall move left to right within a 90° arc of motion with a velocity that will be equivalent to 90° per second. • F Req#003 – Mouth motions shall be handled by two servos, with a 180 degree arc of motion. • F Req#004 – Eyebrows shall be handled by a single servo, with a 180 degree arc of motion. • F Req#005 – A camera shall be implemented within the head or body to provide visual feedback for processing by the operator. • F Req#006 – The eyes shall be able to move on two axes, with a 30 degree arc in each direction.
System Requirements • NF Req#001 – The head shall look clean and nonthreatening, while retaining human-like attributes. • NF Req#002 – API shall be done within C#. Interfaces will be done in C#. • NF Req#003 – Movement of the head shall be smooth and well transitioned. • NF Req#004 – Motors shall be quiet and not distracting. • NF Req#005 – API shall follow format of existing arm API. • NF Req#006 – The microcontroller board shall be connected to our PC via serial or USB. • NF Req#007 – Servo wiring shall be twisted pair to maintain low noise emission.
User Interface Specification: Overview • User-directed scripting for robot animations. • Record and playback scripts • Manually adjust each facial and neck part. • Adjust hardware related options.
User Interface Specification: Goals • 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
Risks • Technical: • Servo controller/motor malfunction. • Difficulties integrating serial interface. • Financial: • Parts may exceed small budget. • Loss/denied funding for project/parts. • Schedule: • Shipping delays • Course work delays project tasks • Customer Acceptance • Not pleased with result/design and documentation • Solution might exceed budget
Market Survey • Specific to the design of our head, there are few similar projects. • MIT • Mobile/Dexterous/Social “MDS” Nexi • Leonardo • Kismet • Philips Research • iCat • University of Hertfordshire • KASPAR
System Design • Functional Decomposition • Specifications • Testing • Prototyping • Documents
Hardware Specification: Neck – Pitch & Pan • Two servos • 0-180º < 1 second • Two degrees of freedom • Fits inside space provided on the chassis • Supports up to 4kg • Price: $299.88
Hardware Specification: Neck – Rotating Servomotor • Operating Voltage: 4.8-6.0 Volts • Operating Speed (6.0V): 0.16sec/60° at no load • Stall Torque (6.0V): 56.93 oz/in. (4.1kg.cm) • Current Drain (6.0V): 8.8mA/idle and 180mA no load operating • Dead Band Width: 8usec • Motor Type: 3 Pole Ferrite • Bearing Type: Dual Ball Bearing • Gear Type: Nylon • Weight: 1.6oz (45.5g)) • Price: $15.00
Hardware Specification: Neck – Tilting Servomotor • Operating Voltage Range: 4.8-6.0 Volts • Operating Speed (6.0V): 0.15 sec/60° at no load • Stall Torque (6.0V): 333oz/in. (24kg.cm) • IdleCurrent Drain (6.0V): 3mA at stop • Current Drain (6.0V): 240mA/idle and 3.0 amps at lock/stall • Dead Band Width: 2usec • Motor Type: Coreless Carbon Brush • Bearing Type: Dual Ball Bearing MR106 • Gear Type: Titanium Gears • Dimensions: 40 x 20 x 37mm • Weight: 2.29oz (65g) • Price: $115.00
Hardware Specification: Eye – Tilting Servomotor • Operating Voltage Range: 4.8V to 6.0V • Operating Speed (6.0V): 0.11sec / 60 deg • Stall Torque (6.0V): 7.4kg / 112oz • Bearing Type: Dual Ball Bearing • Gear Type: Metal • Dimensions: 42.0 x 21.5 x 22 • Weight: 32.0g / 1.12oz • Price: $20.00
Hardware Specification: Face – Servomotors • Operating Voltage: 4.8-6.0 Volts • Operating Speed (6.0V): 0.09sec/60° at no load • Stall Torque (6.0V): 23.5 oz/in. (1.7kg.cm) • Motor Type: 3 Pole Ferrite • Bearing Type: Top Ball Bearing • Gear Type: All Nylon Gears • Dimensions: 21.8 x 11 x 19.8mm • Weight: .27oz. (7.8g) • Price: $14.00 each
Hardware Specification: Head – Microcontroller • 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. • Dimensions: 1.4 in X 1.7 in • Price: $80.00
Hardware Specification: Head – Cameras • Video capture: • Up to 640 x 480 pixels (VGA CCD) • Still image capture: • Up to 1280 x 960 pixels, 1.3 megapixels • Frame rate: • Up to 30 frames per second • Price: $50.00
Hardware Specification: Testing • 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 • Bench-Top Multimeter • Bench-Top DC Power Supply
Software Specification: Overview • Software tools to allow for interaction with robotic head • RS-232 Instructions • Broad library • Easy to develop scripts • Implementation • Written in C#
Software Specification: Goals • 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.
Software Specification: Library • Robot Head class • Provides functions for controlling each servo (face, eyes, neck) • Graphical User Interface • Allow script building • Listbox – easy to manage and build scripts • Building facial positions (eyebrows and mouth) • Interface with controller • Allow for direct control of head • Mapping buttons to face emotions
Software Specification: Testing • 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.
Simulation & Prototyping • Simulations run as head was constructed • Several prototype versions • Plastic pieces not built to spec • Client’s desire to change final details
Test Results • Head can operated for 4+ hours • No program crashing in 4+ hours of continuous use • No overheating during 4+ hours • Some jitter still present in the eye tray • When head reaches outer bounds, servos start to rubberband
Implementation • Final Builds • Complications & Conclusions • Future Work
Complications • Servos • Overheating • Stalling out • Jumping gears • Plastic • Not printed to spec • Software • Cross-communication between microcontrollers • Communication blocking during transmission to serial board
Future Work • Cameras • Microphones