Ethan Hall Michael Kelton Greg Wegman Vashisht Lakhmani
Project Overview The goal of this project is to develop a replica of the mars rover able to navigate in its environment while being controlled from a base station interface. Base and rover will communicate through wireless network sending commands from base while receiving data from the rover Location data and video feed transmitted to base interface.
Software Design Considerations Using an ARM Cortex-M3 512 KB flash memory, 32 KB RAM Peripheral features (I2C, PWM ,UART, USB) mbed compiler In house support
Code Overview Coded micro in C using mbed compiler and libraries Base station was coded in C# utilizing .NET framework Interrupt driven subroutines for movement and camera Polling driven coordinate, wireless and battery level I2C, UART, I/O, PWM
Sensors 4 Sonar Sensors – range detectors, place on each side ATD Accelerometer – tilt angle detection I2C Compass – direction
Base Station Code Flow
Rover Control Flow
Summary Interrupt driven software design Interrupts in the form of commands from base station as well as low battery flag Sequential polling following movement as well as periodic polling for battery level and wireless connection Sensor detection to determine positioning as well as avoiding collisions
Questions?