470 likes | 793 Views
Oculus Crane. C rane Control System O perated by an Oculus R ift and a controller Barth, Thomas Dayani, Ahmad Yama Sauter, Christoph. Outline. Introduction Project Description Motivation, Task, Goal Architecture Usage Hardware GUI Software Challenges Summary/Conclusion.
E N D
Oculus Crane Crane Control System Operated by an Oculus Rift and a controller Barth, Thomas Dayani, Ahmad Yama Sauter, Christoph
Outline • Introduction • Project Description • Motivation, Task, Goal • Architecture • Usage • Hardware • GUI • Software Challenges • Summary/Conclusion Oculus Crane
Introduction Oculus Crane
Introduction Oculus Crane
Project Description • Motivation • Inovativesystemtorevolutionizethe human machineinteractions • Makecomplextaskeasiertounderstandand handle • be a pioneer and give thought-provoking impulses for new inventions and development • Task • Develop and construct a model system which simulates the real world environment and in where a user is able to control a crane with a controller and the Oculus Rift • Goal • establish a rudimentary but working version of the required crane system • control the crane conveniently • Universal, not proprietarysolution Oculus Crane
Project Description Architecture • system depends on running application • All information exchanged with computer • Oculus Rift controls the respective camera system indirectly • Crane gets operated by the controller indirectly Oculus Crane
Project Description Usage • ConfiguresystemwithJuho • Inputs, parameters, profiles • Oculus Rift • Sight, movements, widgets • Crane andcontroller • movements Oculus Crane
Hardware requirements • Evaluation of methods to implement control • Rotation of boom • Position of crane trolley • Position of crane hook • Preconditions • None • „Control crane and communicate to PC“ Oculus Crane
Architecture • Nostrictpreconditions / reqirements µC peripheral peripheral PC Juho peripheral peripheral Scopeofhardwarepart Oculus Crane
Process • Theory • Reality Evaluate Test Develop Evaluate Test Develop Oculus Crane
Evaluation Power Supply Others ? Additional functionalities Analog IO Estimate resources Choose µC PWM IO Standard IO IO functionalities Others ? Plan PCB Plan Software DC Motor driver Measure rotation Evaluate sensors and actors Measure trolley Measure hook Oculus Crane
Chose µC • STM32F4 based processor • Free tool chain available • Tool chain already setup • Available • (Some) experience • LCD/Touch nice to have • PCB needed Oculus Crane
Evaluatesensorsandactors • Sensor: Rotation of boom • Install potentiometer mounted to axis of rotation • Sensor: Position of crane trolley • Install light barrier counting holes in gear wheel • Sensor: Position of crane hook • Install light barrier counting holes in gear wheel Oculus Crane
Evaluatesensorsandactors • Actor: DC motor drivers • Change Rotation direction by reversing polarity H-bridge like relay circuit Oculus Crane
Estimate Resources Oculus Crane
Plan PCB • Failure in PCB planning would lead to major time delay • IO shortage due to favored stepper solution possible • Reduce PCB planning risk by • Creating more universal solution • Introducing additional µC as peripheral board Plan and produce prototype PCB while evaluation still in progress Sensible decision. Stepper motors discarded later on Oculus Crane
Plan Software • Peripheralsdrivers • Analog • PWM • USB • Serial • IO • ASCII based Protocol @value,…,vaue<EOL> • FreeRTOSals OS • (Some) Experience • OS handles implementation overhead to execute (pseudo) parallel processes • OS offers nice features (ITC) • Implementation as different tasks • Communication • Control rotation • Control trolley • Control hook Oculus Crane
Test Development & Test Install sensor rotation Implement Code Install trolley Produce Baseboard Install hook Gather Parts Build DC Motor Driver Oculus Crane
GUI • Output Window • HUD • Input devices • Cameras • OOR • Servos • Interface • Screen • Oculus Rift • Shader • Profiles Oculus Crane
Juho • Output Window Oculus Crane
Juho • Output Window Oculus Crane
Juho • Output Window Oculus Crane
Juho • HUD Oculus Crane
Juho • Input device Oculus Crane
Juho • Cameras Oculus Crane
Juho • OOR Oculus Crane
Juho • Servos Oculus Crane
Juho • Interface Oculus Crane
Juho • Screen Oculus Crane
Juho • Oculus Oculus Crane
Juho • Shader Oculus Crane
Juho • Profiles Oculus Crane
Software Challenges • Distortion • OOR Oculus Crane
Distortion • Lenses in Oculus Rift cause distortion Oculus Crane
Distortion Oculus Crane
Distortion • CPU baseddistortion • Veryslow • Need tobedoneforeveryimagecomponent • GPU baseddistortion • Almostnodelay (high fps) • Can beappliedto WPF element Oculus Crane
Distortion • Output Oculus Crane
OOR • Detect objects based on color • Step 1: filter out unwanted color • Step 2: search for “blobs” • Step 3: give back position of “blob” Oculus Crane
OOR • Filter colors Oculus Crane
OOR • Search for blob Oculus Crane
Summary/Conclusion • Task fulfilled • Working rudimentary solution to manipulate a toy with Oculus Rift • enhanced the controllability and perception • Further enhancements • Adaptableto a lotofconfiguration • Tons of thinkable applications • Teaching inexperienced personnel • Using a moving base/vehicle to reach hazardous areas • Usage of more hardware • LCD, LED, lights etc. • Wireless connections • Mobile applications Oculus Crane
Backup Oculus Crane
PCB Oculus Crane
Steppers Oculus Crane
Motor Driver Oculus Crane
Control loops • Control Rotation • Read currentposition (analog value, meanover 128 samples) • Median overpast 21 cycles • Calculatedifference • Set velocityanddirection • Median andmeanneeded, reasonmaybevoltageswings in supplyvoltage Nofurtherinvestigation Oculus Crane
Control loops • Control trolley • Two-Point control • Control hook • Control goup, go down • Position is not measured due tomechanicaldifficulties • Estimationover time not possible Oculus Crane