Electronics
Arduino Clock
Arduino is an open-source prototyping platform in electronics based on easy-to-use hardware and software. It is a microcontroller-based prototyping board capable of developing digital devices that can read inputs like a finger on a button, touch on a screen, light on a sensor etc. This project aims to create a clock using an Arduino in TinkerCAD, including timer and stopwatch features. During its course, you will learn how to use Arduino’s hardware timers, and peripherals like LCDs, buttons, and LEDs.
Mechanical
Robotic Arm Manipulator
If you think of a simple industrial robot as consisting of an arm, with an 'elbow' and a 'wrist' for motion and a 'hand' for picking things up, you're not being childish –in fact, you're thinking like a roboticist. Industrial robot 'arms', as they are called, do have elbows and wrists. At the end of the arm, robots are often fitted with what are called grippers – special devices designed to help robots handle objects in the real world. This project aims to design and create a conceptual Robot arm along with its gripper. Also, learn how to use most of the tools and features of Solidworks or Fusion360 since we will do the robot's mechanical design and assembly on Solidworks or Fusion360.
Automation & Control
Control of an Inverted Pendulum
Humans can balance on two legs, walk and handle objects effortlessly, for robots, this is a challenge and has sprouted a whole field called Control Theory. It aims to develop methods to provide just the right amount of control signals based on feedback the robot gets from its environment. A robust control system is at the heart of any functional robot's execution of tasks. In this project you will learn about basic control theory and apply it to solve the classic cartpole problem. The controller you develop will be extended to different OpenAI Gym environments.
To explore further, you can learn how to make models in Simulink using Simscape Multibody and use it to test various controller algorithms implemented in MATLAB.
Neural Networks
Neural networks have revolutionized what we can do with Machine Learning. When combined with Reinforcement Learning, we get a powerful method which allows robots to learn a complex range of behaviors. In this project you’ll learn the maths behind Neural Networks and build one yourself from scratch. The end goal of the project for now would be to build a classifier model and train it using data from MNIST.
If time permits, you can explore further and learn the basics of Reinforcement Learning and build a program that can learn to solve a simple task purely from experience. In the end, these two can be combined to train an agent to play video games.
Path Planning with Python
Path planning is something humans do effortlessly, but takes a little more effort for robots. It involves planning a path from a start to a goal in a given environment while avoiding obstacles. It is a fundamental aspect of navigation in any form, and is used extensively throughout robotics. In this project, you will learn about the maths behind different classes of algorithms used for path planning and implement them from scratch in python.
Gesture Detection using OpenCV
Detection of gestures is fundamental to robot-human interaction. With the advent of Deep Learning, Computer Vision is gaining popularity in robotics for perception. This project aims to create a robust gesture detection stack to detect, recognize and if possible track the hand gesture in real time video. Gesture detection can be used to control robotic arms or cars and even for giving gesture based input to other devices like your phone or laptops. You will learn to use OpenCV for perception and also about simple control algorithms.