550 likes | 696 Views
Surveying Investigative Transportable Cartographical Helper? Sitchest Ish That Chu Heard? “…we’re going to retrofit it.”. SITCH CDR. Receiving. Sensory. Processing. Transmitting. Data Storage. Motors. Transmit. Receive. ROBOT. BOOSTER. Receive. Transmit.
E N D
Surveying Investigative Transportable Cartographical Helper? SitchestIsh That Chu Heard? “…we’re going to retrofit it.” SITCH CDR
Receiving Sensory Processing Transmitting Data Storage Motors Transmit Receive ROBOT BOOSTER Receive Transmit High-level Functional Diagram USER Transmit Receive
High Level Control: Commanding and Processing Movement and Environment
High-Level Software Design CPU software Distance/ angle Image processing Mapping Database
BRAIN Object Camera and Laser Ultrasonic Sensors Spy Camera ARM Cortex M-3 Magnetometer
SPINE Spy Camera Motor Controller ARM M-0 Analog Preprocessing Circuit Motors Receiver Remote Control Servo Motor Transmitter User Receiver TV
Ultrasonic Range Finder • Finds objects that may have been missed by the laser. • Allows basic object avoidance while the rover is in motion. • Model: LV-MaxSonar-EZ0 • Status: Basic testing with Arduino-uno completed – developing interface for M0
Cortex M-3 • Handles image processing and location awareness. • Sends position data to lower level motor control loops. • Status: Developing camera interface.
CMOS Camera CMOS Schematic EAGLE
Laser Range Finder Theory Remember me? This worked.
Took Pictures Quite Grainy, Similar to how the CMOS camera will see images CMOS won’t have as many random colors
Applied a Sharpening Function Quite grainy But the spot is brighter
After a Threshold Filter • 21 Inches measured • 56.97cm calculated • 22.4291339 inches • 6% error
A Few Examples • 91.44 cm
After • -1.15% error • 90.387 cm Calculated
Tried to Expand to Line Laser • Not very bright • Used water • Different laser on its way
Room For Improvement • A line is visible • Not mapped to angles • Lost data • 3 pts to 1 • Great progress • High level goal • we have other options
Path Finding • To be implemented after scanning and image processing. • Initially, perform rudimentary scan and move aimlessly between obstacles. • Ultimately, be able to negotiate past objects to reach a waypoint. • This waypoint may be provided with vector data from stored encoder/magnetometer data. Status: In development.
Low Level Control: Providing Fine Motor Control and Dead Reckoning
RC Receiver Waveforms Zero point: Duty Cycle is 8% Minimum point: Duty Cycle is 5% Maximum point: Duty Cycle is 11%
Wireless Decoding • Receiver’s output must be digitized and encoded using the correct modulation • ADC will be used to measure the output of signal averager and output the corresponding modulation to the motor controllers
ARM Cortex M-0 • Separate chip chosen to diversify processing abilities. • Simple motor control option. • Designed to handle control loops. • Hope to guarantee high responsiveness of all sensors, computer and control systems. • Specific Model: LPC1114FHN33/302 • Status: Initial development.
Distance Encoder • Basic device for measuring distance travelled. • Use paired IR LED/phototransistor and ADC to measure pinwheel rotation. • Status: Hardware complete.
Motor Controller • Current design based on 2 banks of 4 redundant L298N with opto-isolation. • Each chip handles 4 amps with 2 parallel H-bridges. • 32 amp total current handling. • If revised, it will be printed on PCB and based instead on H-bridge gate drivers and power MOSFETs. • Status: Fully functioning, but not ideal.
Magnetometer • Digital 3-axis magnetometer. • Measures strength of magnetic field in various directions with a highest field measurement resolution of 0.015 µT • Precise angular position determined through inverse tangent algorithm. • Communicates through I2C. • Accurately determines location and orientation. • Status: Developing interface.
Magnetometer – Finer Details • Model No: LSM303DLH • Breakout board from SparkFun
Devices to Power on the Robot • Motor Controllers • Radio Receivers and Video Transmitters • Servo Motor (at least one) • Processors • Laser • Cameras • Magnetometer • Ultrasonic Range Finder
Powering The Robot • Powered directly by a 7.4 V (2 cell) Lithium Polymer Battery • 1st Choice - 6000mAh, 70C • 2nd Choice - 12000mAh, 40C • 3rd Choice – 2x 6000mAh, 30C
Powering Bot Movement 7.4V, XXX mAh, xxC 2 cell LiPo Driver Motor Controllers Motors
5V Voltage Rail • Will be realized with a LM7805 voltage regulator chip. • Can supply up to 1.5 A of current • Status: Testing and laying out in Altium
3.3V Voltage Rail • Will be realized with a LM317 voltage regulator chip • Can supply up to 1.5 A of current • Status: Testing and laying out in Altium
Hi-Level Powering Diagram for Sensors Video Transmitter Step-up Voltage Converter (12V) Batteries Ultrasonic 5 V Voltage Rail RC Receiver ARM M-0 Cortex M-3 3.3V Voltage Rail Magnetometer Laser CMOS Camera
Servo Motor • Unable to find datasheet • Tested using Arduino Uno, collected experimental data • Ready for integration with M0 Servo PWM Signal Input Vpp=~3.3V, f = 50Hz
Switching Microprocessors • Cryptic sample code • Unhelpful documentation • Steep Learning Curve • More intuitive • Useful sample code • Existing knowledge C2000 Piccolo F28035 ARM Cortex-M0
Progress with ARM Cortex-M0 • Currently • Sweeping PWM • Working ADC test function • Goals • Write functions to increase user control • Communicate with other modules
Video Camera • Transmit video feed • From Amazon, lacks documentation • Status: Transmitter + Receiver work – now we need to interface power supply and camera
PCB • Plan to lay out a board containing voltage rails and the boost converter • In the future include an ARM Cortex M0. • Finalizing first draft of this PCB before the end of this week