This repository serves as a showcase of the projects I completed for the Georgia Tech OMSCS class Robotics: AI Techniques. The class is taught by Sebastian Thrun, a pioneer of autonomous driving and the previous leader of Google's self-driving program. As part of the course material, Dr. Thrun dives into several core techniques used in robotics, namely localization, tracking, motion planning, PID control, and SLAM (simultaneous localization and mapping). Due to the university's academic integrity policy, I have omitted the code from this repository, and instead provided a high-level overview of each project and recordings of visualizations of my code in action.
You are piloting a spaceship somewhere in the Milky Way galaxy, and you are headed home to Earth after a long journey. However, your ship has endured damage, rendering the engine inoperable and only able to navigate via jumps. Luckily, a shower of asteroids dot the vast cosmic landscape, and can serve as launchpads for our spaceship. The task is to process sensor readings for asteroid locations, predict where each asteroid will be in the future, and finally, hop from asteroid to asteroid to return home.
HopScotch.Part.B.mov
After navigating through the Milky Way, you've reached the Solar System. Now you need to make your way back to Earth, but there aren't enough asteroids for your ship to hop back to Earth directly. Using measurements of the gravitational pulls of the planets in the solar system, the task is to implement a particle filter to localize your spaceship in relation to the other planets and the Sun. Once you have localized your spaceship, send SOS messages home to Earth, and a rescue ship will be sent out to bring you home.
Solar.System.PF.Part.A.mov
Solar.System.PF.Part.B.mov
Autonomous drones are used to maintain critical infrastructure, e.g., inspect gas pipelines for leaks. The goal of this project is to implement a PID controller for an autonomous drone to fly to a target elevation and horizontal position and hover at some target location for a specified time. A PID controller is a component of a feedback control system. The system (usually called “plant”) is supposed to be maintained in a “steady” state. For example, a car that needs to stay in the middle of a lane, or a thermostat that needs to maintain a particular temperature, etc.
Drone.PID.Test.6.mov
You operate a large warehouse for your business and want to automate operations concerning finding and moving merchandise around. The task is to implement search algorithms to guide a robot through your warehouse to pick up and drop off boxes in a designated drop zone area while minimizing energy costs and search time.
Warehouse.Part.A.Test.3.mov
Warehouse.Part.C.mov
Your team has uncovered the location of an invaluable piece of ancient treasure - the likes of which we have never seen before. Unfortunately, the treasure is located in a dense and dangerous jungle - making a typical safari impossible. The task is to, using a drone equipped with sensors, map out the locations of the trees in the jungle. Then, with these maps, plan a path for your drone to navigate to and retrieve the treasure without crashing into trees.