I develop robots and I'm often asked - "how to make a robot", "where do you find information, what resources do you use"?
If you do not know where to start and want to make your own robot - this article is for you - in it I will try to explain the process, and also tell you what the first steps should be.
A little bit about me
For a long time I worked at various companies as a engineer-designer, engaged in the developing of the mechanical part of devices. There I mastered specialised 3D projecting programs. Also I worked as a teacher for children in training center (3D printing, CAD, CNC).
A few years ago, I moved to another professional field and became a front-end developer.
Also, since childhood, I have been passionate for robotics, this topic has always interested me. The starting point for the idea of creating my own robot was the purchase of a robot vacuum cleaner, I liked the idea of controlling the device through an application on the mobile phone.
What is a robot?
When analyzing the task of creating your own robot, I have identified the main components:
Mechanical part: This refers to the physical body of the robot, including its structure, motors, and other mechanical mechanisms.
Electrical part: This encompasses the components responsible for controlling the mechanical part, such as motor control boards, mini-PCs, ultrasonic sensors, gyroscopes, and other electronic devices used for controlling the movement and other mechanisms of the robot.
Software part: This component includes all the logic of the robot, such as its movements, command execution, and human-robot interaction interfaces. It can be implemented through applications, websites, or terminals.
By integrating these three components, a robot can perform various tasks and functions autonomously or under human control.
Where to start
I suggest answering the following questions:
What do you want? Do you want to create all three parts of the robot from scratch, or do you want to take a pre-made robot and only write the software part?
There are many ready-made solutions available for both the mechanical and electrical parts, and they are quite affordable and can be found on platforms like Amazon or AliExpress. There are also fully assembled robots that only require you to write your own software.
If you are interested in creating a robot completely from scratch, in this case, you can purchase the necessary components and solder all the electronics yourself. Some enthusiasts even create all the modules themselves, starting from gears and ending with electronics. Additionally, various parts can be manufactured using 3D printers or CNC machines.
What will your robot do? Here, you need to determine the main functionality. Will it be a walking robot, a wheeled robot, a robotic arm, etc.? During the process, you can always add new features, but having a base functionality is important. It is not necessary for the robot to have a specific useful payload; it can simply move or rotate its head, which is sufficient for the initial stage.
How to eat an elephant?
The answer is very simple - you need to break down the complex task into smaller subtasks that you can handle.
In other words, I suggest starting with something simple, such as controlling an LED or basic motor rotation. By gradually increasing the complexity of the tasks and progressing in a spiral fashion, you will add the necessary functionality at each iteration, ultimately transforming your device into a fully functional robot. There's nothing wrong with going back and reworking a previously created part if needed - it's a common approach in design and development.
My personal experience. A brief overview.
I had an idea to create an internet-controlled robot. I decided to design and 3D print the body myself. I purchased various electronic components from a Chinese marketplace, including motors, a mini-computer, motor drivers, gyroscopes, ultrasonic sensors, and batteries. In the very beginning, my goal was to make the motor rotate and the LED light up.
Next, I started designing the case. Before that, I mounted the electronics on aluminum profiles so that I could already test the control. Luckily, I knew someone who owned a 3D printer, and he printed the parts for me.
Simultaneously, I worked on developing an application to control the robot, including the web interface and the hardware part. For the web interface, I used React, while the hardware and server components were written in Node.js.
In the end, the robot was created and tested outdoors. The entire process took me about a year, from the moment of the first LED blink to a fully functional device.
Afterward, I started working on developing a walking robot, but that is a completely different story.
If you are interested in this topic, I can provide more detailed information on the implementation. Remember, the hardest part is getting started, as I have experienced myself.