[go: up one dir, main page]

0% found this document useful (0 votes)
186 views3 pages

ROBOTICS-Roadmap: Warm-Up Level

This document provides a 4-level roadmap for learning robotics, with each level building on the previous one. The first or "warm-up" level focuses on learning coding, electronics, basic assembly, and integrating microcontrollers. The second or "beginner" level expands on programming concepts and introduces physics, probability, linear algebra, and Linux. The third or "intermediate" level delves into theoretical foundations, advanced libraries like TensorFlow and OpenCV, and getting familiar with ROS. The final or "expert" level emphasizes continual learning and specialization in areas like software, algorithms, or hardware.

Uploaded by

saurabh puthal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
186 views3 pages

ROBOTICS-Roadmap: Warm-Up Level

This document provides a 4-level roadmap for learning robotics, with each level building on the previous one. The first or "warm-up" level focuses on learning coding, electronics, basic assembly, and integrating microcontrollers. The second or "beginner" level expands on programming concepts and introduces physics, probability, linear algebra, and Linux. The third or "intermediate" level delves into theoretical foundations, advanced libraries like TensorFlow and OpenCV, and getting familiar with ROS. The final or "expert" level emphasizes continual learning and specialization in areas like software, algorithms, or hardware.

Uploaded by

saurabh puthal
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

ROBOTICS-Roadmap

I see this question being asked a lot so I will go ahead and try my best to provide a road
map that can guide someone to either start or develop themselves further in robotics.
The road map has 4 levels and each level focuses on 4 core concepts. Each concept
intertwines with itself and holistically develops your inner robotic genes ;) !

Warm-up level:

1. Learn coding: Start picking up at least one handy programming language.


Arduino IDE is good. Python is great. C/C++ will be fantastic. My suggestion
would be: Python. There are several reasons for this and later in the road map
you will see why.
2. Learn electronics: Start building basic electronic circuits. It can be as simple
as lighting up an LED. Next light up more LEDs. Make a simple traffic signal.
Implement switches. Learn the theoretical ideas behind how voltage, current,
resistors, transistors, series & parallel circuits work. Explore sensors and servo
motors too!
3. Learn basic assembling: As kids we loved making toys and building stuff.
Do the same here. Learn to make some basic structures using wood, acrylic,
fiber, or plastic.
4. Integrate with micro-controller: With knowledge of the above concepts, you
should try and test them on a basic micro-controller. After all, you want your
circuit to “react”. The most popular choice among hobbyists and beginners is to
go with Arduino. Arduino has truly simplified the process of coding and
implementing basic reactionary circuits.
(Resources: YouTube, Khan Academy, Code, Coursera, Udemy)

Beginner level:

1. Learn Object-Oriented Programming: It is not only important to code in


robotics but also how to code well. Object-oriented programming (OOP) is a
tremendous muscle to grow and earlier you can do this, the more you will
thank yourself in the future. OOP isn’t exclusive to Python. However, in Python
you can implement these easily and practice. Through OOP, you will learn
about classes, methods, inheritance, etc and this is an excellent technique for
writing functional, modular, and efficient codes.
2. Learn physics, probability, and linear algebra: As you are growing from an
infant roboticist to an adolescent, it is important that you also
know how robotics is written, read, and spoken by others in the community.
This robotics language heavily uses physics, probability, and linear
algebra. Yes, you may not enjoy these subjects in school or university but trust
me you need them if you are serious about robotics. You cannot do computer
vision without knowing about matrices. You cannot do path planning without
knowing about physics. You cannot do artificial intelligence or machine
learning without knowing about probability.
3. More involved computer skills: Now what do I mean by that? A lot of
newcomers to robotics get stumped (I was too!) that they need to learn this new
alien looking operating system that has a penguin somewhere next to it. I am
talking about Linux operating system. It is imperative that for someone
looking to get deeper into robotics should familiarize themselves with Linux. A
lot of libraries, packages, and software developed for robotics are distributed
very easily and efficiently on Linux environments. Popular linux OS
choice: Ubuntu
4. Embedded systems: Now that you have developed better knowledge of
coding, circuitry, theoretical concepts, and familiarity with Linux, we need to
implement these on a smaller computer than our laptop. So go ahead and
try warmup level concepts along with the above concepts on a mini-
computer such as Raspberry Pi or the BeagleBone. Hook on some sensors,
servos, and a camera to one of these min-computers, and write some code to
sense, move, and detect stuff!
(Resources: YouTube, Khan Academy, Code, Coursera, MIT OCW)

Intermediate level:

1. Develop theoretical foundations: Here depending on what area of robotics


you are interested in, you need to learn more into the theory behind it. Learn
about robotic arm manipulation (kinematics &
control), perception (computer vision, linear algebra, matrices), machine
learning/artificial intelligence (probability, statistics, maths). Do you
see how some of the previous concepts are fundamental to these core robotics
areas?
2. Use advanced libraries: Now you need to implement machine learning
and/or computer vision algorithms on your robot. After all, the robot should be
able to see and think and learn, right? On Python, there are amazing libraries
written for implementing machine learning and computer vision algorithms
e.g. tensor flow and OpenCV. Similarly, a lot of AI can be practiced on Python
as well. Of course you can do the same in C/C++. However, I am trying to keep
it consistent here.
3. Get familiar with ROS: With the knowledge of all of the above, an excellent
middle-ware that one should learn is the Robot Operating System (ROS). It can
be a little tricky to pick up at first. However, ROS opens up your doors to test
advanced algorithms and simulations on robots that you don’t even have! Want
to fly a quadcopter? Or navigate a robot autonomously in a map? How about
getting an industrial arm to pick up an object? You can do that in ROS via its
simulation environment named Gazebo.
4. More CAD: You may be interested to develop and design complex robots.
Start learning 3D design software such as Blender or SolidWorks so that you
can design your own robots.
Expert level:

1. Keep learning and growing: Each concept mentioned above is endless by its


own virtue, and to become an expert in robotics, you will need to invest the
time and keep learning. You will realize that you need to learn more classifiers
or models to detect objects/images better. Or you might need to learn more
about control algorithms to optimize your solutions.
2. More software/hardware: Depending on your area of interest and
specialization, you will be doing more and more of coding, algorithmic
development, ROS, and/or robotic designing.
Lastly, I am definitely not an expert and hence I cannot add much to that. What I can say
for sure is even I do not know what I do not know. One important thing to remember
is: get started and be consistent =)

You might also like