TYRELL'S TOOL GRIP STABILIZER
OVERVIEW
This engineering lesson challenges experienced 11-12th grade students to design and build a tool grip stabilizer for Tyrell, a 45-year-old professional who experiences hand tremors following an accident. Through the 5E model (Engage, Explore, Explain, Elaborate, Evaluate), students will apply human-centered design principles to develop a solution that helps Tyrell perform precision work despite his tremors. The project integrates engineering standards, CAD skills, and programming while emphasizing empathy and iterative design.
Client Profile
Name | About Me | My Challenge |
---|---|---|
Tyrell, 45 | I'm a skilled machinist who has worked in manufacturing for over 20 years. After a car accident three years ago, I developed hand tremors that vary in intensity throughout the day. I love my work and want to continue my career, but the tremors make precision tasks challenging. | When I need to perform detailed work with small tools or components, my hand tremors make it difficult to maintain the steady grip and precision required. I need a solution that can help stabilize my hand or tool during fine detail work without completely taking away my control. |
Learning Objectives
- Apply human-centered design principles to develop an assistive technology solution for a specific user need
- Design and fabricate a mechanical system that integrates with the Smart Servo to dampen unwanted movements
- Program the Smart Servo to detect and respond to tremor patterns using appropriate sensors
- Evaluate design effectiveness through quantitative measurements and user feedback
- Document the engineering process comprehensively, including design rationale and decision-making
MATERIALS NEEDED
- Smart Servo units (3 per team)
- Programmer's Kit with USB C cables
- Designer's Kit with LocLine flexible connectors
- Various assistive input devices (AT Test Buttons, Jelly Bean Buttons)
- Structure components (10mm framing pieces, bearings (605ZZ), M5 screws)
- Tools (M5 bits, Allen wrenches, LocLine pliers)
- 3D printer and PLA filament
- OnShape CAD software (free classroom license)
- Accelerometer sensors (for tremor detection)
- Foam padding and ergonomic grip materials
- Weight testing equipment (precision scales, gram weights)
- Video recording equipment for motion analysis
1. ENGAGE
How can technology be designed to adapt to human variability rather than requiring humans to adapt to technology?
Activity: "Experiencing Tremors"
- Simulation Experience:
- Students wear weighted gloves designed to simulate hand tremors
- Working in pairs, students attempt precision tasks such as:
- Threading a needle
- Placing small components on a circuit board
- Using calipers to measure small objects
- Drawing a straight line or precise shape
- Students document challenges faced and strategies attempted
- Client Introduction:
- Introduce Tyrell's profile and specific challenges
- Discuss various causes of tremors and how they affect different professions
- Watch video interviews with people experiencing similar challenges (if available)
- Analyze existing solutions and their limitations
- Engineering Challenge Framing:
- Present the core challenge: designing a tool grip stabilizer that:
- Actively counteracts unpredictable tremor movements
- Allows intentional movements for precision work
- Is customizable for different tools and tasks
- Maintains user dignity and independence
- Discuss the technical capabilities of the Smart Servo platform that might apply
- Present the core challenge: designing a tool grip stabilizer that:
Example code showing basic servo control that students will build upon
import time import board import pwmio import servo pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Demonstrate smooth movement while True: for angle in range(0, 180, 5): # 0 to 180 degrees in steps of 5 my_servo.angle = angle time.sleep(0.05) for angle in range(180, 0, -5): # 180 to 0 degrees in steps of 5 my_servo.angle = angle time.sleep(0.05)
Checkpoints & Assessment
Technical Checkpoints:
- Students can identify Smart Servo capabilities relevant to tremor compensation
- Students can explain the relationship between servo position, speed, and power
Understanding Checkpoints:
- Students can articulate Tyrell's specific needs based on his profile
- Students can describe how hand tremors differ from intentional movements
- Students can identify at least three design considerations for assistive technology
Connections
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 1R: Develop plans incorporating multiple disciplines to design or improve systems | CAD 2.4: Geometric Analysis - Understanding spatial constraints and relationships | HCD Skill #1: Problem Framing - Analyzing situations from multiple perspectives |
STEL 4S: Develop solutions with minimal negative environmental and social impact | CAD 3.3: Assembly Modeling - Creating assemblies with constraints | HCD Skill #6: Stakeholder Dialogue - Gathering requirements and incorporating diverse feedback |
STEL 4T: Evaluate how technologies alter human health and capabilities | CAD 4.1: Manufacturing Awareness - Understanding processes and limitations | HCD Skill #4: Risk Assessment - Anticipating potential problems considering technical and human factors |
2. EXPLORE
How can we detect the difference between intentional movements and unintended tremors?
Activity: "Motion Analysis and Servo Response"
- Setup Motion Detection:
- Teams set up accelerometers connected to the Smart Servo's input
- Record and analyze motion patterns:
- Intentional movements (slow, deliberate, directional)
- Simulated tremors (rapid, multi-directional, varying amplitude)
- Use data logging to capture and visualize movement differences
- Servo Response Experimentation:
- Program the Smart Servo to respond differently to various inputs:
- Immediate response to rapid changes (potential tremors)
- Gradual response to sustained directional movement
- Test response thresholds and timing
- Document findings on servo behavior for different input patterns
- Program the Smart Servo to respond differently to various inputs:
Sample code for detecting rapid movements vs. intentional movements
import time import board import analogio import pwmio import servo import neopixel # Setup accelerometer on analog pin accelerometer = analogio.AnalogIn(board.A0) # Setup servo pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Setup neopixel for visual feedback pixel = neopixel.NeoPixel(board.NEOPIXEL, 1) # Variables for movement detection previous_reading = 0 movement_threshold = 1000 # Adjust based on testing rapid_change_count = 0 while True: current_reading = accelerometer.value # Calculate change from previous reading change = abs(current_reading - previous_reading) # Detect rapid changes (potential tremors) if change > movement_threshold: rapid_change_count += 1 pixel.fill((255, 0, 0)) # Red indicates detected tremor else: if rapid_change_count > 0: rapid_change_count -= 1 pixel.fill((0, 255, 0)) # Green indicates stable # Apply dampening if tremor detected if rapid_change_count > 5: # Hold servo in stable position my_servo.angle = 90 else: # Allow movement based on position (simplified) position = accelerometer.value // 182 # Scale to 0-180 my_servo.angle = position previous_reading = current_reading time.sleep(0.05)
- Mechanical Concepts Exploration:
- Experiment with different mechanical systems to counteract tremors:
- Inertial dampening (adding strategic weight)
- Flexible mounting (using LocLine with varying rigidity)
- Counterbalancing mechanisms
- Create quick prototypes to test each approach
- Document effectiveness of each approach
- Experiment with different mechanical systems to counteract tremors:
Checkpoints & Assessment
Technical Checkpoints:
- Students can collect and analyze motion data to differentiate patterns
- Students can program the Smart Servo to respond differently to different motion patterns
- Students can create at least two different mechanical systems for tremor reduction
Understanding Checkpoints:
- Students can explain the trade-offs between stability and controllability
- Students can identify which design approaches might best suit Tyrell's specific needs
- Students can articulate how servo timing and response affect user experience
3. EXPLAIN
What engineering principles allow us to selectively counteract undesired movements while preserving desired ones?
Key Concepts
Tremor Characteristics and Detection
- Tremors typically occur at frequencies between 4-12 Hz
- Intentional movements usually occur below 4 Hz
- Digital filtering can separate these signals
- Accelerometers detect acceleration in multiple axes, allowing for pattern recognition
Servo Control Principles
- Torque requirements for counteracting hand tremors
- PID control for appropriate response (Proportional-Integral-Derivative)
- Response time limitations and considerations
- Power consumption vs. performance trade-offs
Mechanical Design Considerations
- Ergonomics and user comfort
- Tool attachment mechanisms and quick-change capabilities
- Weight distribution and balance
- Material selection for durability and user acceptance
Activity: "Engineering Analysis Workshop"
- Case Study Analysis:
- Examine existing tremor-reduction technologies:
- Weighted utensils (passive mechanical approach)
- Gyroscopic stabilizers (active mechanical approach)
- Electronic tremor cancellation devices (sensor-based)
- Analyze strengths and limitations of each approach
- Connect these solutions to engineering principles
- Examine existing tremor-reduction technologies:
- System Design Mapping:
- Teams create system diagrams showing:
- Input methods (sensors, buttons, switches)
- Processing requirements (filtering, pattern detection)
- Output mechanisms (servo movement patterns)
- Mechanical design elements
- Annotate diagrams with engineering principles that support design decisions
- Teams create system diagrams showing:
Understanding Checkpoints:
- Students can explain the engineering principles behind effective tremor reduction
- Students can differentiate between passive and active stabilization approaches
- Students can create comprehensive system diagrams with appropriate annotations
- Students can justify design decisions using engineering terminology and principles
4. ELABORATE
How can we design a solution that addresses Tyrell's specific needs while being adaptable to different tools and varying tremor conditions?
Extension Activity: "Integrated System Development"
- CAD Design Integration:
- Design custom housing and mounting system in OnShape
- Incorporate attachment mechanisms for various tool types
- Design ergonomic considerations based on anthropometric data
- Create assembly models showing all components and movement paths
- Advanced Programming Development:
- Implement adaptive algorithms that learn and respond to user's specific tremor patterns
- Create user customization options (sensitivity, response time, stabilization level)
- Add visual feedback using Neopixel LED to indicate system status
- Develop power optimization for extended use
Advanced Code Example with User Customization and Mode Selection
import time import board import analogio import digitalio import pwmio import servo import neopixel import array import math # Setup hardware accelerometer = analogio.AnalogIn(board.A0) mode_button = digitalio.DigitalInOut(board.D2) mode_button.direction = digitalio.Direction.INPUT mode_button.pull = digitalio.Pull.UP pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) pixel = neopixel.NeoPixel(board.NEOPIXEL, 1) # Configuration variables sensitivity_levels = [500, 1000, 2000] # Low, Medium, High thresholds current_sensitivity = 1 # Default to medium stabilization_modes = ["off", "adaptive", "locked"] current_mode = 1 # Default to adaptive history_buffer_size = 20 reading_history = array.array('H', [32767] * history_buffer_size) last_button_state = True button_debounce_time = 0 # Colors for different modes mode_colors = [(0, 0, 0), (0, 64, 255), (255, 64, 0)] # Off, Adaptive, Locked def calculate_average(buffer): return sum(buffer) // len(buffer) def calculate_variance(buffer, average): sum_squares = sum([(x - average) ** 2 for x in buffer]) return sum_squares // len(buffer) while True: current_time = time.monotonic() # Button handling for mode changes button_state = mode_button.value if not button_state and last_button_state and current_time - button_debounce_time > 0.3: button_debounce_time = current_time current_mode = (current_mode + 1) % len(stabilization_modes) pixel.fill(mode_colors[current_mode]) last_button_state = button_state # Shift new reading into history buffer reading_history.pop(0) reading_history.append(accelerometer.value) # Calculate statistics avg = calculate_average(reading_history) variance = calculate_variance(reading_history, avg) # Determine if tremor is present tremor_detected = variance > sensitivity_levels[current_sensitivity] # Apply appropriate stabilization based on mode if stabilization_modes[current_mode] == "off": # Pass through movement directly position = (accelerometer.value // 182) # Scale to 0-180 my_servo.angle = position elif stabilization_modes[current_mode] == "adaptive": if tremor_detected: # Use moving average for smoothing during tremors position = avg // 182 my_servo.angle = position # Pulse the LED to indicate active stabilization intensity = int((math.sin(current_time * 10) + 1) * 127) pixel.fill((0, intensity, 255-intensity)) else: # Direct response when no tremor detected position = accelerometer.value // 182 my_servo.angle = position pixel.fill(mode_colors[current_mode]) elif stabilization_modes[current_mode] == "locked": if tremor_detected: # Hold position steady during tremors pass # Maintain last position else: # Only update position when steady position = accelerometer.value // 182 my_servo.angle = position time.sleep(0.05)
- Usability Enhancement:
- Develop customizable grip interfaces (3D printed with varying materials)
- Design quick-change tool attachments for different scenarios
- Create adjustable settings for different tremor severities
- Add battery management for extended use
Application Checkpoints:
- Students have created detailed CAD models for all system components
- Students have implemented advanced programming with multiple stabilization modes
- Students have designed a complete solution addressing all of Tyrell's requirements
- Students can explain trade-offs made during the design process
5. EVALUATE
How effectively does our solution improve Tyrell's ability to perform precision work, and how can we measure this improvement?
Assessment Criteria
Students will evaluate their solutions through:
1. Quantitative Performance Testing:
- Measure tremor reduction effectiveness using accelerometer data
- Time trials for completing precision tasks with and without the device
- Error rate comparison in precision placement tasks
- Battery life and system endurance testing
2. Qualitative Assessment:
- User comfort and ergonomics evaluation
- Ease of setup and configuration
- Tool compatibility and transition time
- Overall user experience and dignity preservation
3. Engineering Documentation:
- Complete system documentation including:
- CAD files and technical drawings
- Code with thorough comments
- Bill of materials with sourcing information
- Assembly and user instructions
- Maintenance and troubleshooting guides
Assessment Rubric
Criteria | Level 1 | Level 2 | Level 3 | Level 4 |
---|---|---|---|---|
Tremor Reduction Effectiveness | Device provides minimal stabilization with limited improvement in precision | Device provides moderate stabilization with noticeable improvement in precision | Device provides significant stabilization with substantial improvement in precision | Device provides exceptional stabilization with transformative improvement in precision |
User Control and Adaptation | System is rigid with limited adaptability to user needs | System offers basic adaptability with manual adjustments | System offers multiple modes and settings for different tasks | System intelligently adapts to user patterns and provides optimal support for each task |
Engineering Implementation | Basic implementation with limited integration of mechanical, electronic, and software elements | Functional implementation with adequate integration of system elements | Refined implementation with well-integrated system elements and attention to detail | Sophisticated implementation with seamless integration and innovative approaches to system challenges |
Human-Centered Design | Basic consideration of user needs with limited evidence of empathic design | Adequate consideration of user needs with some evidence of empathic design | Thorough consideration of user needs with strong evidence of empathic design | Exceptional consideration of user needs with compelling evidence of empathic design that preserves dignity and independence |
Documentation and Communication | Basic documentation with minimal explanation of design decisions | Adequate documentation with explanations of key design decisions | Comprehensive documentation with clear explanations of all design decisions | Exceptional documentation with insightful explanations of design decisions and future improvement opportunities |