Fail-Safe Module for Unmanned Autonomous Vehicle

Post on 17-Jan-2018

221 views 0 download

description

Overview Introduction Theory of Operation Hardware Software Complications Future Improvement Demonstration Reference

Transcript of Fail-Safe Module for Unmanned Autonomous Vehicle

Fail-Safe Module for Fail-Safe Module for Unmanned Autonomous Unmanned Autonomous

VehicleVehicleCMPE 450/490 CMPE 450/490

Project PresentationProject Presentation

Presenters: Lai Nguyen, Jesse Xi Presenters: Lai Nguyen, Jesse Xi ChenChen

OverviewOverview• IntroductionIntroduction• Theory of Theory of

OperationOperation• HardwareHardware• SoftwareSoftware

• ComplicationsComplications• Future Future

ImprovementImprovement• DemonstrationDemonstration• ReferenceReference

IntroductionIntroduction• University of Alberta Aerial University of Alberta Aerial

Robotics Group (UAARG)Robotics Group (UAARG)• Current Fail-Safe ModuleCurrent Fail-Safe Module

– SimpleSimple– Need specialized microcontrollerNeed specialized microcontroller

• ObjectiveObjective– Improve reliabilityImprove reliability– Adding featuresAdding features– Integrate different features onto one Integrate different features onto one

chipchip

Theory of OperationTheory of Operation

• Implemented in FPGAImplemented in FPGA • Pulse width Pulse width modulated modulated signalsignal

Servo Control from RC

Servo Control from autopilot

Generated Fail Safe

Mux To Servo Motors

Line from RC to monitorLine from Autopilot(for long-distance mode only)

ImplementationImplementation• Hardware Hardware

– VHDL onlyVHDL only– More reliableMore reliable

• SoftwareSoftware– Synthesizing a Micro-blaze soft coreSynthesizing a Micro-blaze soft core– Custom peripheral reading in pulse widthCustom peripheral reading in pulse width– Converts into data available in memory mapped registerConverts into data available in memory mapped register– Output signal to servo motorOutput signal to servo motor

• Similar architectureSimilar architecture• Option to use Hardware or SW solutionOption to use Hardware or SW solution

PLB

Bus

Microblaze (CPU)

pwm_input

pwm_output

XPS Timer

From RC/AP

To Servos

Finite State MachineFinite State Machine

• Short DistanceShort Distance • Long DistanceLong Distance

Manual RC

Auto-Pilot

Glide Forced Landing

!SW

SW

LOS

timeout

!LOS!LOS

LOS

Manual RC

Auto-Pilot

Glide Forced Landing

!SW

SW

LOS

timeout

!LOS! AP Health !LOS

Loss of SignalLoss of Signal• HW:HW:

– Rising edge of each Rising edge of each pulses is usually 22.2mspulses is usually 22.2ms

– Edge difference for Edge difference for invalid signal:invalid signal:• < 22ms < 22ms • > 23ms > 23ms

– Doesn’t work wellDoesn’t work well– Majority vote of last n Majority vote of last n

decisionsdecisions

• SW:SW:– Take variance of last n Take variance of last n

signalssignals– If too high -> flag LOS If too high -> flag LOS

ComplicationsComplications• Noisy inputNoisy input

– Random pulse widthRandom pulse width– Fix using average pulse widths in softwareFix using average pulse widths in software

• Complication in hardware solutionComplication in hardware solution– Need more effort to develop and no Need more effort to develop and no

debuggingdebugging• Complication in software solutionComplication in software solution

– Custom Peripheral synthesized initially too Custom Peripheral synthesized initially too slow to run at bus clock of 100mhzslow to run at bus clock of 100mhz

Future ImprovementsFuture Improvements• Create schematics design and move the module Create schematics design and move the module

onto PCBonto PCB– Put the module onto Spartan boardPut the module onto Spartan board

• Make module more configurableMake module more configurable– Change mode of operation using jumperChange mode of operation using jumper– Change software/hardware implementation using Change software/hardware implementation using

jumperjumper• Change to Hardware implementation when Change to Hardware implementation when

exception encountered from Software exception encountered from Software implementationimplementation

• Improved pulse width detectionImproved pulse width detection

ReferenceReference• UAARG:UAARG:

http://www.ece.ualberta.ca/~uaarg/http://www.ece.ualberta.ca/~uaarg/UAARGV3/index2.htmlUAARGV3/index2.html

• Xilinx:Xilinx:http://www.xilinx.com/http://www.xilinx.com/

• Application notes:Application notes:http://www.ece.ualberta.ca/~elliott/http://www.ece.ualberta.ca/~elliott/

cmpe490/appnotes/cmpe490/appnotes/

DemonstrationDemonstration

• RC Control modeRC Control mode• Auto-Pilot ModeAuto-Pilot Mode• GlidingGliding• CrashCrash