180 likes | 196 Views
Team 1617: Autonomous Firefighting Robot. Katherine Drogalis, Electrical Engineering Zachariah Sutton, Electrical Engineering Chutian Zhang, Engineering Physics. Advisor: Professor John Ayers. Overview. Project Goals & Contest Background Mechanical Design Navigation Localization
E N D
Team 1617: Autonomous Firefighting Robot Katherine Drogalis, Electrical Engineering Zachariah Sutton, Electrical Engineering Chutian Zhang, Engineering Physics Advisor: Professor John Ayers
Overview • Project Goals & Contest Background • Mechanical Design • Navigation • Localization • Kinematics • Software • Flame Search and Extinguish • Mechanical • Software • Sound Activated Start
Autonomous Firefighting Robot: Goals • User initiated, autonomous start & navigation • Search for and extinguish burning candle • Extendable to real life situations • Trinity International Robot Contest (April 2-3, 2016) • IEEE Award: Outstanding Robots from Connecticut
Trinity International Robot Contest • 8x8’ plywood maze • Timed trials • Unique robot • 31x31x27 cm robot Test Arena Arena Layout
Mechanical Parts / Structure • Navigation • 360o Laser Scanner • Extinguishing • 16*4 Thermal Array Sensor • Compressed CO2 • Computing • Raspberry Pi – navigation • Arduino Mega – actuation & flame extinguish • Motion • DC motors with encoders • Power • 16 V, 5500 mA/h rechargeable battery
Navigation • Considered: SLAM (Simultaneous Localization and Mapping) • Requires a lot of processing (slow) • Speed / simplicity is important • Now: Monte Carlo Localization with Grid Map • Start with uniformly distributed “samples” or guesses of robot’s pose • Apply motion to all samples • Compare laser scan observation to sample observations • Weight samples based on similarity to laser observation grid map • Resample from newly weighted sample distribution
Navigation Global Map MCL Simulation Source: www.hessmer.org/robotics
ROS (Robot Operating System) • Runs on Raspberry Pi • Series of open source Python/C++ scripts that work together seamlessly • Performs scheduling/parameter settings for various “nodes” or scripts • Downloaded packages for navigation (“Navigation Stack”) • Localization • Laser scan processing • Global path-planning (get to goals) • Local path-planning (obstacle avoidance) • Calculate velocity commands • Communicate with Arduino
Flame Searching (Mechanical) • Processing done on Arduino • RoBoard 16×4 Thermal Array Sensor • Produces a map of heat values • 1.5m range • Field of Vision: 60º horizontal, 16.4º vertical • Scan 360o • If candle is detected, pivot to center on flame • If centered, move forward to candle • If no flame, Raspberry Pi takes over Thermal Array Sensor Total Field of View
Flame Extinguishing (Mechanical) • Compressed gas (CO2) • Best option for large-scale fire – bonus points! • Portable bicycle tire inflator • Replaceable 16g CO2 cartridge • Extended nozzle at the front aligned with the sensor • Release • Servomotor initializes to push the tire inflator button • During this whole process: • Pi functionality and thermal camera are always running • Velocity commands from the Pi are ignored
Flame Extinguishing (Software) • “Candle Scan” • Creates array of all pixels over 60oC and their locations • Sets “Candle Detect” flag – initializes LED • “Flame Align” • Prompted by “Candle Detect” flag • Determines which pixel is the hottest • Calculates how far the robot needs to pivot in order to center on that pixel • “Extinguish” • Initializes the servomotor when CandleDetect == 1, MaxValue > 280o, and -1 < ColumnTurn < 1
Miscellaneous Features (“Start Board”) • Sound activated start (microphone) • Buzzer frequency: 3.8 kHz ±16% • Tried: Bandpass filter – bandwidth too large • Decided: Frequency to voltage converter circuit • Kill power plug • Flame detect LED