Sie sind auf Seite 1von 24

Sensor Controlled

Animatronic Hand
Graduation project presentation
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 Movement
 Results
 Conclusion
 Questions
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Optimization and filtering
 Movement
 Results
 Conclusion
 Questions
Introduction

 LEAP motion controller; what is it?


 Problem: Cheap and Accurate animatronic hands aren’t very common
 Possible Solution: using a sensor to control the hand.
 A LEAP motion sensor can be used to read hand movements.
Introduction

 The structure of the human hand:


Overview

 Introduction

 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 Movement
 Results
 Conclusion
 Questions
Constraints

 Mechanical constraints:
 Hard to acquire springs of specific size and elasticity.
 3D printing a hand model was unavailable to us.
 Sensor constraints:
 Hard to acquire
 Readings not always correct
 Software constraints:
 LEAP Android SDK is still in Alpha mode
Overview

 Introduction
 Constraints

 Methodology
 Sensor reading
 Calculations
 Communication
 Movement
 Results
 Conclusion
 Questions
Sensor Reading

 3 IR Transmitters sends out Infrared red light


 Two IR Cameras are used to read the picture.
 The raw data is sent to the PC.
 The API processes the raw data, and produces output.
 Output is in the form of 3-Dimensional vectors.
Overview

 Introduction
 Constraints

 Methodology
 Sensor reading
 Calculations
 Communication
 movement
 Results
 Conclusion
 Questions
Calculations

 The distance between the connections points is calculated


 The distance is then scaled, reduce the effect of different hand sizes
𝑑 𝑉𝑖 , 𝑉𝑗
𝐿𝑖 = 𝑆𝑖 ∗
𝑑 𝑉𝑖 , 𝑉𝑖.5 + 𝑑 𝑉𝑖.5 , 𝑉𝑗

 The distances are then summed to calculate the needed pull for the wire.
 This is done for each finger, producing a 2-dimensional integer array.
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 movement
 Results
 Conclusion
 Questions
Communication

 Calculated wire lengths are sent to the microcontroller from the PC.
 The data is sent in big endian, each reading as a 2-byte integer.
 The length of the array in bytes, as well as the dimensions of the 2-
dimensional array are appended to the beginning of the sent data.
 The Microcontroller reconstructs the 2-dimensional array from the input
bytes.
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 Movement
 Results
 Conclusion
 Questions
Movement Calculations

2
 𝐿= (𝐷 + 𝑅)2 +𝑅2 − 2(𝐷 + 𝑅)𝑅 cos 𝜃
2
 𝐿= 𝐷2 + 2𝑅2 1 − cos 𝜃 + 2𝐷𝑅(1 − cos 𝜃)
2
 𝐿= 𝐷2 + 2𝑅(𝑅 + 𝐷) 1 − cos 𝜃
𝜃 2 1−cos 𝜃
 Use the identity: sin 2 = 2

(𝐿2 −𝐷2 )
 = 1 − cos 𝜃
2𝑅(𝑅+𝐷)

2 (𝐿2 −𝐷2 ) 2 1− cos 𝜃


 4𝑅(𝑅+𝐷)
= 2

2 (𝑳2 − 𝑫2 ൯
𝜽 = 2 𝐬𝐢𝐧−1
4𝑹(𝑹 + 𝑫)
Movement

 Move servo motors to pull fingers


 Calculate angle from wire length
 This requires physical information about the models hand
 Use the following equation:
𝟐 (𝑳𝟐 −𝑫𝟐 )
𝜽= 𝟐 𝐬𝐢𝐧−𝟏
𝟒𝑹(𝑹 + 𝑫)
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 Movement

 Results
 Conclusion
 Questions
Results

 Sensing Process:
 Once the system is up and running, you place your right hand above the sensor
 The LEAP will read the right hand position and transmit the data
 Similar movements will be reflected onto the Animatronic Hand
Results

 Final Product:
Overview

 Introduction
 Constraints
 Methodology
 Sensor reading
 Calculations
 Communication
 Movement
 Results

 Conclusion
 Questions
Conclusion

 LEAP motion sensor provides ease of use to the operator.

 The current design only mimics the movement of fingers, the movements of
the wrist are not implemented.

 The physical design of the hand can be greatly improved to better mimic
the movements of human hand
Any Questions?
Appendix: Calculations

 Assuming that we have and scaling array S1, S2, S3, (an array that contains
values that we want to scale our readings to), and that d(p,q) is Euclidean
distance between vectors p and q, defined as:

2
 𝑑(𝑝, 𝑞) = 𝑋𝑝 − 𝑋𝑞 + 𝑌𝑝 − 𝑌𝑞 + 𝑍𝑝 − 𝑍𝑞

 The equation for the wire length would be:

 𝐿 = 𝐿1 + 𝐿2 + 𝐿3
Appendix: Calculations

 Where:
𝑑 𝑉1 ,𝑉2
 𝐿1 = 𝑆1 ∗
𝑑 𝑉1 ,𝑉1.5 +𝑑 𝑉1.5 ,𝑉2

𝑑 𝑉2 ,𝑉3
 𝐿2 = 𝑆2 ∗
𝑑 𝑉 2 ,𝑉2.5 +𝑑 𝑉2.5 ,𝑉3

𝑑 𝑉3 ,𝑉4
 𝐿3 = 𝑆3 ∗
𝑑 𝑉 3 ,𝑉3.5 +𝑑 𝑉3.5 ,𝑉4

Das könnte Ihnen auch gefallen