Documenting My Weekly Journey towards Becoming a Roboticist
Welcome to my blog, where I share my weekly misadventures in the world of robotics. With a strong project-oriented focus, I’m determined to learn and understand robotics through hands-on experiences. In this post, I’ll outline my short-term goals and the tasks I’ll be working on every day of the week. From building and simulating robots in Webots to exploring computer vision with the cv2 library and solving algorithmic challenges on LeetCode, I’m excited to document my progress and discoveries along the way.
Task 1: Building and Simulating Robots in Webots
To gain practical experience in robotics, I’ll focus on building and simulating four different robots in Webots. Each day, I’ll work on a specific robot and its associated task. Here’s the order in which I’ll tackle them:
- Differential Robots: I’ll start with building a basic differential drive robot model and simulating its movements and control. This will introduce me to the fundamentals of robotic locomotion.
- Line Follower: Next, I’ll construct a line-following robot capable of detecting and tracking lines in the simulation environment. I’ll learn about sensor integration, feedback control, and path following algorithms.
- Obstacle Avoidance: Moving forward, I’ll develop a robot that can navigate through a simulated environment while avoiding obstacles. I’ll explore obstacle detection techniques, decision-making algorithms, and reactive control mechanisms.
- Wall Follower: Lastly, I’ll create a robot that can autonomously follow walls in the simulation. I’ll delve into concepts such as sensor integration, wall detection, and path planning algorithms.
I’ll document each robot’s development process, challenges faced, and the outcomes achieved in the simulation environment. Weekly progress updates will be given through my blog.
Task 2: Exploring the cv2 Library with Project-based Learning
To understand the potential of computer vision in robotics, I’ll focus on three projects using the cv2 library. Each project will enhance my knowledge and skills in image processing and object detection. Here are the projects I’ll work on:
- Virtual Painting: I’ll create a program that allows me to draw and interact with virtual objects using a marker. This project will involve image segmentation, object tracking, and real-time visualization.
- Document Scanner: I’ll develop a document scanner that can automatically detect and extract documents from images, correct perspective distortions, and enhance text readability. This project will involve image transformations, feature detection, and perspective correction techniques.
- Number Plate Detector: I’ll build a system that can detect and recognize license plates in images or video streams. This project will involve object detection, character segmentation, and optical character recognition (OCR) techniques.
Throughout each project, I’ll follow video tutorials and adapt the code to suit my specific needs. I’ll share my progress, challenges faced, and the practical applications of computer vision in robotics.
Task 3: Algorithmic Problem-Solving on LeetCode
To strengthen my algorithmic skills, I’ll solve one problem on LeetCode every day. By tackling a variety of algorithmic challenges, I’ll try to sharpen my problem-solving abilities, optimize my code, and enhance my knowledge of data structures and algorithms.
By incorporating daily tasks into my robotics journey, I aim to foster consistent learning and growth. Building and simulating robots in Webots, exploring computer vision projects with the cv2 library, and solving algorithmic problems on LeetCode will provide me with valuable insights and hands-on experience. Join me as I document my weekly progress, share my learnings, and uncover the wonders of robotics one step at a time.
Stay tuned for my weekly updates, where I’ll discuss the triumphs, challenges, and discoveries made in each aspect of my robotics journey.