top of page
  • Anish Diwan

Getting started with your first robot

How do I start with my first robotics project? Where to begin? What exactly do I need to do? Where can I find the right resources? Oooof aren’t these some tough questions. Apart from its tricky ascent, the robotics learning curve can, at times, be bafflingly hazy. Speaking from personal experience, the preliminary cluelessness when starting a new project is genuinely scary. This article tries to answer the initial questions one might have before getting started with their first robot. I’ll try to be super comprehensive and will link to as many learning resources as I can. Here we go!


1. Deciding on a robotics project

The first thing you might want to decide is what kind of a project you want to pursue. Now, if you’re someone who already knows what kind of a robot they want to build then awesome! But just to cover all bases, this first point is for those who aren’t really sure. Robotics is a HUGE multi-disciplinary field and your choice of project can depend on a myriad of factors. Because of the massive extent of sub-disciplines, this isn’t really something I can easily point out. I can only speak from my experiences. In the case of my undergraduate research, I chose stability and legged robotics mostly because of my mechanical engineering background and those crazy Boston Dynamics videos xD. Here’s a short list of the areas that you could pursue:

  • Robotic Manipulators (Serial/Parallel)

  • Wheeled Robots

  • Legged Robots (Bipeds, Quadrupeds, Hexapods etc.)

  • Aquatic Robots

  • Aerial Robots

  • Perception

  • Planning

  • Soft Robotics

For the purposes of this article, let’s just say you want to build a robotic arm (also called a serial manipulator).


2. What tools and skills would I need?

Being a multi-disciplinary field, robotics requires one to have knowledge of various tools. I would however like to stress on the fact that you absolutely do not need to know everything before you get started with your project. It is totally normal to learn things as you go. In fact, in my opinion, learning while doing is probably the best way to master any of these tools. These tools and skills are generally broadly categorized according to their parent disciplines; namely, mechanical engineering, electrical/electronics engineering and computer science. Here’s a short list of the stuff you might use while working on a robotics project. I’ll include learning resources for all of these topics in the following sections.



3. What's the general outline for such as project?

In this section, I’ll attempt to break down the whole development process into small easy-to-understand bits. I’ve tried my best to make this as generalized as possible.


3.1. Dynamic & Kinematic Modelling

Before you can decide what kind of actuators or control hardware is needed, you first want to get a rough idea of the dynamics and kinematics of your robot. Let’s consider our robotic manipulator for example. You first need to list out all the capabilities of your robot arm such as max speed, max payload, number of degrees of freedom etc. These factors will help decide the basic morphology of your robot arm. Next, you need to decide the maximum power of your actuators. Ideally, this is something that’s handled in the later stages of development but from my own experience, when working with restricted funds, deciding motor power at first can greatly simplify future development. Generally speaking, the cost of an actuator is proportional to its power delivery. Hence, in situations where funding is limited, costs can greatly determine the final morphology and capabilities of your robot.


Let’s say that with your budget, you decide that you can only work with actuators that have an average torque output in the range of 4 – 8Nm. This torque can now be used as an optimization variable when you decide the length of your robot’s links. To find the right morphology for your robot arm, you need to apply some form of an optimization algorithm considering the max torque, speed, payload etc. Alternatively, you may also choose to follow a simpler approach by simply testing various link length configurations and choosing one that provides a good level of manoeuvrability while requiring lower motor effort. You may refer to the answers on this forum for more information.


The choice of the actuator can also be a bit complex for beginners. Different projects require different kinds of actuation. For wheeled robots, you may use simple DC motors. For precision manipulators, stepper motors are a popular choice. In the case of drones, brushless DC motors are the preferred option. You may refer to the following resources for a description of the different kinds of motors and their applications.


3.2. Geometric Synthesis

Alright, we now have an idea of our robot’s basic shape, size, capabilities and actuation. The next step is to actually start with the mechanical design of the robot. This section is a whole career in itself and it's not something I can do justice to in an online blog post. Here are just a few tips to keep in mind when designing your robot:

  • Design for manufacturability

  • Try to reduce the part number as much as possible

  • Try to reduce assembly complexity

  • Keep costs in mind and try and reduce manufacturing and assembly costs

  • It's going to be an iterative process so be prepared to redesign multiple times

  • Here's a video resource on design guidelines

  • Free/low-cost CAD resources for Fusion 360, Solidworks, and OnShape


3.3. Electrical System & Electronics

The next step in the process is deciding the electrical and control hardware of your robot. Your actuators can not run by themselves. In order to work, they need a special piece of hardware called a motor driver. A motor driver is essentially an electronic component that provides actuation signals to your motors. The choice of the motor driver is naturally dependent on your choice of actuator. The following resources might be helpful to learn more about motor drivers and which one to choose.


Now is also a good time to design the power delivery system of your robot. Your motors and motor drivers have set input and output power characteristics. These will help you to get an idea of the type of power delivery system you need. Batteries are another elusive topic. There is a multitude of options to choose from (Li-Ion, Li-Poly, Li-Fe, and more ). Usually, Lithium Polymer batteries are the gold standard for most robots, however, your application may require another type of battery. Here are some resources for information on batteries and how to choose one.

Something else you might want to consider is a buck/boost converter. Often times, the power characteristics of your battery will not match with the power characteristics of your electronics hardware. A buck converter is used to step down voltage while a boost converter is used to step it up. Here's a resource for the basics of buck and boost converters.


d. Robotics Specific Concepts

The last leg of the journey is probably the most fun. While the previous few steps were more hands-on, this section discusses the more theoretical aspects of robotics -- which in my opinion is probably the most interesting part of the whole process. With the concepts mentioned in this section, you essentially get to determine the mathematical base of your robot. This is the stuff you program your robot around and naturally, an understanding of these concepts will help you extract accurate and reliable performance. For instance, the inverse kinematic model of the robot is used to find joint angles for specific cartesian positions of the end effector or the dynamic model is used to apply control algorithms to your robot. Here are some of the theoretical concepts you might want to look into.

  • Rotation, translation, and homogeneous transformation matrices

  • Forward and Inverse Kinematics

  • Jacobian Matrices

  • Robot Dynamics

  • Singularities

These are some excellent resources that I would strongly recommend.

I would also recommend these three books for an overall mathematical understanding of robotics.

  • Introduction to Robotics: Mechanics and Control - John J. Craig

  • Modern Robotics Mechanics, Planning, and Control - Kevin Lynch & Frank Park

  • Introduction to Autonomous Mobile Robots - Roland Siegwart, Illah Reza Nourbakhsh & Davide Scaramuzza

Apart from the above-mentioned pointers, there are literally a million other intricacies to the field of robotics. I’ll be writing about each of the above-mentioned topics and the mathematical concepts in grater detail in the future. You can find those articles on this website too. I hope you found this article and the listed resources useful :)

Comments


bottom of page