How to Get Started with robotics
Robotics is getting popular these days and it is estimated that the robotics industry will become a 225 Billion dollar industry by 2030 or might see some videos on robots and you want to build one for yourself. Here’s one way how you can get started with robotics.
Before getting started with robotics, let's understand what a robot is. and what are its constituents?
A robot is a mechanical device that is actuated through electrical signals(mostly, as some can be controlled through pneumatics as well, other methods of actuation are also possible, for the scope of beginners we will focus on electrical signals) and these electrical signals are controlled by microprocessors or microcontrollers which is done through programming.
So to get started with robotics, one must be familiar with
- Mechanics,
- Electronics,
- Coding
- Mathematics(basic maths such as algebra, and coordinate systems should suffice)
Let's get into more details
1. Mechanics
Before getting started with robotics, get comfortable with this particular topic in mechanics
- Tensile strength of materials
- Torques
- Center of mass of objects
as these are the parameters that you are most likely to encounter with every project you will be working on. Even though these topics are highly intuitive, solving basic theoretical questions will increase your confidence.
For getting started with robotics, mechanics are the most fun to work with.
2. Electronics
With electronics, you bridge the gap between the mechanism(body) with the processor(brain) and in contrast to mechanics, it could be more intuitive.
1. To get started with robotics, first, learn the basics of C language. There are lots of great playlists on youtube and this c for beginners helped me get started with it. It is recommended that you learn C at least up to an intermediate level along with C++ as they will be a great asset for you in the future.
2. Explore microcontrollers such as Arduino, stm32f series, esp32, and many more which might be suitable for you. It's recommended to start with any Arduino board as they are beginner friendly.
- First set up the IDE. It's where you will write scripts (Link to Arduino IDE Setup)
- understand different pin configurations, what they do, and how to use them. (links to Arduino pins, accessing Arduino pins via IDE)
- try out some examples which are given by default
![]() |
Arduino nano |
3. Once you get comfortable with Arduino, buy some sensors such as a mpu6050 gyroscope (configuring MPU6050 with Arduino) ultrasonic sensor (configuring ultrasonic sensor with Arduino), and HC05 Bluetooth module(configuring hc05) and explore them as well, as you might be using these modules all over your projects.
4. When setting up these modules you might have struck into serial communication protocols such as UART, I2C, or SPI. It is the way you can send data to and from a device whether it be sensors or other microcontrollers. A detailed explanation of these protocols is given here
5. Next learn about different types of motors such as brushed DC, brushless DC, and stepper motors, their motor controller such as L298 is highly used, and how they can be controlled using Arduino.
Getting hold of electronics is one of the challenging processes of robotics for beginners as it is a quite jump.
As you get comfortable with the basics of electronics, proceed by reading about control systems giving special emphasis on the PID controller, PID controller is a very useful control loop that will help your robot to do some tasks much more efficiently and automatically. Next, learn about digital filters such as low-pass and high-pass filters. (I will be shortly posting an article on PID controllers with dc motors)
This should be enough for you to clear your confusion on how to get started with robotics, as with this much knowledge you will get a strong grip on how you want to continue next.
Electronics is a very wide branch of engineering. Consisting of all sorts of signal processing, noise filters, power drives, and image signal processing.
3. Computers
Having an understanding of Arduino is enough to help you get started, but Arduino and other microcontroller boards have their limits such as limited RAM and storage and they are not capable to perform high-processing tasks such as deep learning and computer vision. To overcome this we move to microprocessors such as raspberry pi, jetson nano, etc.
![]() |
Raspberry pi 3 model b |
Raspberry pi and Jetson nano are fully developed computers capable of running general-purpose os(Linux) but before using them, get comfortable with Linux. Here are some articles on how to approach Linux which I found very intuitive for newbies. Linux command cheat sheet
The best way to approach Linux boards is to buy one and install their respective os. (Link for raspberry pi installation). Then to understand how you can use them to make some basic projects, here are some projects which should help you understand how you could implement raspberry pi for your builds. gpio control via raspberry pi
4. ROS
Once you are comfortable with rpi or any other Linux boards, try learning ROS(robot operating system). It’s a middleware(not an operating system) which helps in communications between programs which are referred to as nodes. for example, you created one application that takes pictures from a camera sensor and a second application that processes images to detect certain objects, Ros here will provide a way so that these two applications can communicate seamlessly.
Ros is a very powerful tool to control your robot and it even has libraries that are built by others such as visualizing LiDar scans, motor drivers, and so on. You just of to add them to your workspaces. To learn more about ROS refer to their official page.
The only way to get going with robotics is by building projects yourself, and with robotics, your motive should be to plan a system that just works, with time modify it to cater to your other needs. For the most part, robotics is a hybrid of engineering and your creative endeavor.
1 Comments
Thank you so much for Raspberry pi and Python References
ReplyDelete