Autonomously Controlled Front Loader By: Steve Koopman and Jerred Peterson Advisor: Dr. Schertz
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Project Introduction Project Motivation Project Motivation Work towards a fully automated system, such as a gravel yard Work towards a fully automated system, such as a gravel yard Investigate small-scale operation of autonomous vehicle Investigate small-scale operation of autonomous vehicle Can model several interacting robots cheaply, without risk of damage Can model several interacting robots cheaply, without risk of damage Allows work to be done towards full-scale operation Allows work to be done towards full-scale operation Starting point for additional small autonomous vehicles Starting point for additional small autonomous vehicles
Project Introduction Specific Project Goals Specific Project Goals Modify toy vehicle to do simple tasks Modify toy vehicle to do simple tasks Load a bucket with material Load a bucket with material Dump material into truck Dump material into truck Repeat until the truck is full Repeat until the truck is full Vehicle operates autonomously Vehicle operates autonomously Low cost vehicle design Low cost vehicle design Flexible design for future expansion Flexible design for future expansion
Project Introduction Project Goals for Tasks Project Goals for Tasks Rotate vehicle until loading bin located Rotate vehicle until loading bin located Line up with bin, drive to it Line up with bin, drive to it Lower bucket and load material Lower bucket and load material Raise bucket and leave bin Raise bucket and leave bin Rotate until truck located, line up with the truck Rotate until truck located, line up with the truck Drive to truck, dump material into it Drive to truck, dump material into it Repeat process until truck full Repeat process until truck full
Project Introduction System Block Diagram System Block Diagram
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Hardware Design Design Steps Design Steps Vehicle Choice Vehicle Choice Sensor Choice Sensor Choice Circuitry Design Circuitry Design Circuit Board Construction Circuit Board Construction Microcontroller Interfacing Microcontroller Interfacing
Hardware Design Vehicle Choice Vehicle Choice Hobby Kit Vehicle (Tamiya hobby kit) Hobby Kit Vehicle (Tamiya hobby kit) 2 drive motors, arm raise motor 2 drive motors, arm raise motor Easier to expand Easier to expand Weak lifting capacity Weak lifting capacity Bobcat RC Vehicle (Bobcat T190) Bobcat RC Vehicle (Bobcat T190) 2 drive motors, arm raise motor, bucket dump motor 2 drive motors, arm raise motor, bucket dump motor Internal limit switches Internal limit switches Harder to modify Harder to modify Continued with Bobcat Vehicle Continued with Bobcat Vehicle
Hardware Design Sensor Choice Sensor Choice SRF05 Ultrasonic Sensor for Distance Measurement SRF05 Ultrasonic Sensor for Distance Measurement Can operate down to ~1 inch Can operate down to ~1 inch Used in previous projects Used in previous projects PNZ109L-ND Infrared (IR) Transistor for Object Detector PNZ109L-ND Infrared (IR) Transistor for Object Detector Detects IR LED at ~5 feet away Detects IR LED at ~5 feet away Little issue with stray IR interference Little issue with stray IR interference
Hardware Design Sensor Choice Sensor Choice Vector V2x Compass for Heading Information Vector V2x Compass for Heading Information ~1 degree resolution ~1 degree resolution Serial output Serial output 10 Hz update rate 10 Hz update rate Continuous sample mode Continuous sample mode
Hardware Design Sensor Choice Sensor Choice IR reflector/emitter for Rotary Encoder HOA IR reflector/emitter for Rotary Encoder Small size Small size Good signal result Good signal result Rotary Encoder Wheel Pattern Rotary Encoder Wheel Pattern 8 pulses per revolution 8 pulses per revolution Mounted directly to drive wheel Mounted directly to drive wheel
Hardware Design
Circuit Design Circuit Design Motor Circuitry Motor Circuitry Quadruple Half H-bridge L293 chips Quadruple Half H-bridge L293 chips High Current output for motors High Current output for motors About 3W power dissipation on chip About 3W power dissipation on chip Logic circuitry Logic circuitry Easier microcontroller interface Easier microcontroller interface Protects bucket and arm motor Protects bucket and arm motor
Hardware Design Circuit Design Circuit Design Infrared Sensors Infrared Sensors Infrared transistor Infrared transistor Op-amps increase transistor distance Op-amps increase transistor distance Schmitt-trigger to reduce noise Schmitt-trigger to reduce noise Infrared Encoder Infrared Encoder Bias circuitry for normal operation Bias circuitry for normal operation Schmitt-trigger to reduce noise Schmitt-trigger to reduce noise
Hardware Design Circuit Board Construction Circuit Board Construction Perforation board used for flexibility Perforation board used for flexibility 2 circuit boards 2 circuit boards Compass board to hold digital compass Compass board to hold digital compass Main circuit board for rest of circuitry Main circuit board for rest of circuitry Surface mount sockets hold Integrated Circuits (IC’s) Surface mount sockets hold Integrated Circuits (IC’s) Wire-wrap and Soldering used for circuit construction Wire-wrap and Soldering used for circuit construction
Hardware Design Circuit Board Construction Circuit Board Construction Terminal Strip used for power connection Terminal Strip used for power connection Single and Double Pin Headers for external connections Single and Double Pin Headers for external connections Single pin headers connect to motors and sensors Single pin headers connect to motors and sensors Double pin header connects to microcontroller and compass board to main circuit board Double pin header connects to microcontroller and compass board to main circuit board
Hardware Design Circuit Board Construction Circuit Board Construction Circuit Board Layouts Circuit Board Layouts
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Software Design Software Block Diagram Software Block Diagram Microcontroller Features Microcontroller Features Software Setup Software Setup Low Level Task Breakdown Low Level Task Breakdown
Software Design Software Block Diagram Software Block Diagram
Software Design Microcontroller: Microcontroller: 8051F340 Development Kit 8051F340 Development Kit Similar Operation as EMAC board Similar Operation as EMAC board Features: Features: 48 million instructions per second (MIPS) 48 million instructions per second (MIPS) Four independent timers (T0 through T3) Four independent timers (T0 through T3) Five Programmable Counter Arrays (PCA0 through PCA4) Five Programmable Counter Arrays (PCA0 through PCA4) One Serial Peripheral Interface (SPI0) One Serial Peripheral Interface (SPI0) Two external Interrupts (EX0 and EX1) Two external Interrupts (EX0 and EX1) Etc. Etc.
Software Design Software Setup: Software Setup: Handle sensor reading in interrupts Handle sensor reading in interrupts Write low level functions for basic operations Write low level functions for basic operations Make functions to do complicated tasks Make functions to do complicated tasks i.e. locate IR beacon, load bucket, dump bucket i.e. locate IR beacon, load bucket, dump bucket
Software Design Low Level Tasks: Low Level Tasks: Distance Measurement Distance Measurement Ultrasonic sensor Ultrasonic sensor Can operate up to 20 Hz Can operate up to 20 Hz Small counting loop in Timer 2 Small counting loop in Timer 2 Also used as 50 ms timing source Also used as 50 ms timing source Needs 10 us on pulse to start Needs 10 us on pulse to start Small delay loop in Timer 2 Small delay loop in Timer 2 Measure time return signal is high Measure time return signal is high PCA2 interrupt triggered on edge transition PCA2 interrupt triggered on edge transition Handles microsecond to cm conversion Handles microsecond to cm conversion Sets new distance measurement flag Sets new distance measurement flag
Software Design Low Level Tasks: Low Level Tasks: Rotary Encoders Rotary Encoders Uses EX0 and EX1 for interrupts Uses EX0 and EX1 for interrupts Encoder period calculated based off Timer 2 Encoder period calculated based off Timer 2 Velocity Controller Velocity Controller Variable period update rates Variable period update rates Simple proportional controller used Simple proportional controller used Proportional-Integral (PI) controller did not work Proportional-Integral (PI) controller did not work Low resolution encoder Low resolution encoder Possible initial condition problems Possible initial condition problems Oscillations noticed with small gain Oscillations noticed with small gain
Software Design Low Level Tasks: Low Level Tasks: Infrared Beacon Infrared Beacon Manually read in software Manually read in software External Reset Button: External Reset Button: Use PCA3 as interrupt Use PCA3 as interrupt Interrupt triggers software reset Interrupt triggers software reset Compass Compass Function to control enable/disable of compass Function to control enable/disable of compass SPI0 handles data reception SPI0 handles data reception Code reconstructs information, sets new compass reading flag Code reconstructs information, sets new compass reading flag
Software Design Low Level Tasks: Low Level Tasks: Variable Track Drive Speed: Variable Track Drive Speed: Function calls set motor directions and duty cycles Function calls set motor directions and duty cycles PCA’s generate Pulse Width Modulated (PWM) signals PCA’s generate Pulse Width Modulated (PWM) signals Set PCA timer for 1 kHz frequency Set PCA timer for 1 kHz frequency Best frequency found for drive motors Best frequency found for drive motors Used for 1 ms timing source Used for 1 ms timing source Use PCA0 and PCA1 for PWM generation Use PCA0 and PCA1 for PWM generation
Software Design Low Level Tasks: Low Level Tasks: Arm and Bucket control: Arm and Bucket control: Function sets motors to move correct direction Function sets motors to move correct direction Reads corresponding sensor until pressed Reads corresponding sensor until pressed Rotate vehicle to heading Rotate vehicle to heading Rotate fastest direction to reach the desired heading Rotate fastest direction to reach the desired heading Turn slightly when near desired heading until facing the right way Turn slightly when near desired heading until facing the right way Remaining tasks: Remaining tasks: Make routines using these basic functions plus sensor information Make routines using these basic functions plus sensor information
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Final Progress Sensors testing completed Sensors testing completed All sensors interface to microcontroller All sensors interface to microcontroller Sensors work as desired Sensors work as desired Exceptions: Exceptions: Ultrasonic and IR transistor when blocked by bucket Ultrasonic and IR transistor when blocked by bucket Compass when arm is near fully raised Compass when arm is near fully raised Motor drive electronics work Motor drive electronics work Microcontroller successfully controls speed and direction Microcontroller successfully controls speed and direction Heat sink added to drive circuitry to prevent overheating Heat sink added to drive circuitry to prevent overheating
Final Progress Vehicle operates mostly autonomously Vehicle operates mostly autonomously Can navigate between truck and load Can navigate between truck and load Loads bucket and dumps properly usually Loads bucket and dumps properly usually Small bug in location routine that causes long delay when IR beacon too far away Small bug in location routine that causes long delay when IR beacon too far away Lining up with truck is difficult due to IR beacon spread Lining up with truck is difficult due to IR beacon spread Vehicle repeats task until stopped Vehicle repeats task until stopped
Final Progress Small project difficulties Small project difficulties IR beacons not easy to differentiate at long ranges IR beacons not easy to differentiate at long ranges IR beacon gives wide detection angle, and not easy to track IR beacon gives wide detection angle, and not easy to track Compass/software sometimes gives wrong orientation Compass/software sometimes gives wrong orientation Causes alignment with bin and truck to be off Causes alignment with bin and truck to be off Unknown reason for this problem Unknown reason for this problem Vehicle operation becomes somewhat random with low batteries Vehicle operation becomes somewhat random with low batteries
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Future Work Add camera and computer interface Add camera and computer interface Image processing system next step in system Image processing system next step in system Necessary for full scale operation Necessary for full scale operation Create additional autonomous vehicles Create additional autonomous vehicles Allow cooperative interactions between vehicles Allow cooperative interactions between vehicles Could do tasks like operate truck, fill bin, etc. Could do tasks like operate truck, fill bin, etc.
Future Work Replace/Upgrade Infrared Transistors Replace/Upgrade Infrared Transistors Difficulty tracking infrared beacons Difficulty tracking infrared beacons Infrared beacon period varies with distance Infrared beacon period varies with distance Work on Compass/Microcontroller interface Work on Compass/Microcontroller interface Determine why compass gives wrong direction readings Determine why compass gives wrong direction readings Replace compass with newer model if necessary Replace compass with newer model if necessary Better Battery and Charger Better Battery and Charger Improve operation time of vehicle Improve operation time of vehicle Increase linear range of drive motors Increase linear range of drive motors Decrease chance of overcharging battery Decrease chance of overcharging battery
Future Work Improve Rotary Encoder Resolution Improve Rotary Encoder Resolution Better measurement of linear/rotational velocity Better measurement of linear/rotational velocity Model Track motor and Gear Train Model Track motor and Gear Train Allows better velocity controller routine Allows better velocity controller routine Minor hardware changes Minor hardware changes Active low drive signals, change ultrasonic and IR beacon, make secure board mount in vehicle, etc. Active low drive signals, change ultrasonic and IR beacon, make secure board mount in vehicle, etc. Create testing station with interface Create testing station with interface Battery-free operation, receive debug information from microcontroller Battery-free operation, receive debug information from microcontroller
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Conclusions Small scale autonomous robot works Small scale autonomous robot works Need changes to system if full scale implementation desired Need changes to system if full scale implementation desired Bucket can be loaded without special sensors Bucket can be loaded without special sensors Detect full bucket by period of rotary encoders increasing past threshold Detect full bucket by period of rotary encoders increasing past threshold Detect nearing wall by consecutive equal distance readings Detect nearing wall by consecutive equal distance readings More work to be done with project More work to be done with project Full scale implementation would need image processing Full scale implementation would need image processing More robots needed for automating an entire system More robots needed for automating an entire system
Conclusions Vehicle Testing Area Vehicle Testing Area
Conclusions Vehicle Operation Vehicle Operation
Conclusions Special Thanks To: Special Thanks To: Nick Schmidt for help with hardware construction and modification Nick Schmidt for help with hardware construction and modification Dr. Donald Schertz for project advising, and help with microcontroller problems Dr. Donald Schertz for project advising, and help with microcontroller problems Dr. Malinowski for help with using microcontroller Dr. Malinowski for help with using microcontroller Chris Mattus for ordering parts, and printing poster board Chris Mattus for ordering parts, and printing poster board The rest of the EE faculty for feedback about our project The rest of the EE faculty for feedback about our project
Presentation Outline Project Introduction Project Introduction Hardware Design Hardware Design Software Design Software Design Final Progress Final Progress Future Work Future Work Conclusion Conclusion Questions Questions
Questions Any Questions??? Any Questions???
Backup Material
50 Pin Header
3.3 to 5V buffer connections
“Motor” connector
“sensor” connector