Skip to main content

Basic of Robotics.| Defination | levels | programming languages |types of Robotics|Applications| etc.

 Basic....!

       For many people robotics is a hobby, while for many others robotics is a business  and has been for many years. Robots are in widespread use throughout industry making cars, semiconductors and food, populating circuit boards and managing warehouses. Robots increasingly do the tasks that are too dull, dirty and dangerous for us.

Most of these industrial robots are just machines following fixed operating sequences, with little ability to alter what they do. Human supervision is needed to deal with any slight variation from normal routines. If a human gets in the way of an operating robot they are likely to lose body parts or their life. In the same way, computer-controlled milling machines and 3D printers are also robots. A robots' inability to cope with novel situations is the reason that it's best to design the solution around the robot as an integrated system rather than expect the robot to handle tools, materials and environments designed for humans.

If you ask most robotics companies they would see themselves as primarily software companies. The robot is a delivery vehicle for their specialized software. A huge amount of effort is going into making robots that interact well with people or that can cope with variability. This research is leading to robots that can appear to be pretty clever, but in reality they are just following a program. When not performing their programmed tasks they are not thinking about anything else, like we would!

Robotics is also a big consumer of new physical technologies, including new battery and power systems, better motors, nanotechnology, biotechnology and additive manufacturing (3D printing).


Different Levels of learning....!

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.

 

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!

 

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 =)



Programming languages...!


Robotics is considerably huge field to cover as it involves various aspects of Electronics, Mechatronics, computer science, machine learning, instrumentations and controlling and Artificial Intelligence (AI).

Along with the knowledge of above fields, the knowledge of programing language is essential as this is how robots obey the commands. With so much to cover, a new roboticist will definitely ask “what is the best programming language for robotics?”

Sadly the question does not have single answer with arrival of new technological advancement in field of robotics. Instead of asking that you shall ask “which programming language you shall learn first?”

BASIC and PASCAL:

BASIC (Beginners All-Purpose Symbolic Instruction Code) and PASCAL are two of the principal programming dialects.

BASIC is intended for apprentices, which makes it a really simple programing language to begin with.

Pascal was intended to empower great programming rehearses and furthermore presents builds like pointers.

Nowadays, the two dialects are somewhat obsolete to be useful for “regular utilize”. In any case, it can be helpful to learn them in case you will do a ton of low level coding or you need to get comfortable with other mechanical robotics languages.

Lisp:

Lisp stands for “list processing”. Lisp is not only the world’s second oldest programing language after FORTRAN but also has considerable importance in fields of Artificial intelligence and machine learning as developer says Lisp is designed to evolve.

Lisp is quite popular for its symbolic expression and great prototyping capabilities. Even some parts of ROS (robotic operating system) are written in Lisp.


MATLAB

One of the most popular and most used programing language, MATLAB, is an open source. MATLAB has become quite popular among the amateurs in this field and professional roboticist for analyzing information and building control system.

As some forums have stated that there are people who have developed entire robotic system by using only MATLAB. If you are concerned with top-tier analysis, generating technical data & graphs and establishing controlling unit the MATLAB will be a great help and you may want to learn it.


Python

There has been an immense resurgence of Python lately particularly in apply autonomy.

Python abstains from a great deal of the typical things which take up time in programming, for example, characterizing and throwing variable sorts. What’s more, since it permits basic ties with C/C++ code, this implies execution overwhelming parts of the code can be actualized in these dialects to maintain a strategic distance from execution misfortune.

Moreover, Python is becoming even more popular with automation devices like Raspberry Pi and Arduino which makes it must learn programing language not only for Robotics but also for complete automation package.

Java

Most of the computer and controlling engineering degree programs and Robotics Certification Courses teaches JAVA as their first programing language as it is providing all the high level features needed to deal with various aspects of robotics.

This object-oriented programing language is also great choice for AI programs especially building algorithms such as language processing, search and neural network algorithms and those are the essential aspects of any humanoid which is great challenge to robotics.

In shot JAVA cannot be avoided in the list of best programing language for robotics.

C++

Many individuals concur that C and C++ are a decent beginning stage for new roboticists. C++ is the quickest programming dialect on the planet.

Its capacity to talk at the equipment level empowers engineers to enhance their program execution time. Since a great deal of equipment libraries utilize these dialects.


Types  of  Robotics...

Here are the top 5 types of robots:

1. Pre-Programmed Robots – Such robots operate in a controlled environment to perform simple and repetitive tasks. A mechanical arm on an automotive assembly line can be an ideal example of this. It serves a single function like inserting a certain part into an engine or welding a door on, etc.

2. Autonomous Robots – These can operate without any requirement of human operators. Roomba vacuum cleaner is one such example that uses sensors to roam freely throughout the home and clean. Human supervision is not required here.

3. Humanoid Robots – These robots resemble human beings. These can also perform various activities like jumping, running, talking, etc. These are widely used in entertainment, research, and the medical domain. Hanson Robotics’ Sophia and Boston Dynamics’ Atlas are the two most prominent examples.

4. Teleoperated Robots - These mechanical bots are controlled by humans. Usually these work in extreme weather circumstances, geographical conditions, etc. The examples may include the human-controlled submarine that can fix underwater pipe leaks or drones used for detecting landmines on a battle-ground.

5. Augmenting Robots – Such robots can either enhance the existing human capabilities or replace lost capabilities. For example, robotic prosthetic limbs can lift heavy-weights.


I had given my  best view about robotics and basic, so please give me a feedback via comment..... 


Thank you 

Comments

  1. Really interesting post. I was looking for this kind of information and enjoyed reading this one. Keep posting. Thanks for sharing.
    Data Science Online Training
    Python Online Training
    Salesforce Online Training

    ReplyDelete

Post a Comment

Popular posts from this blog

What is Cyber Security? Definition, career , jobs, advantages of Cyber Security.

Cyber security ......!   We depend on technology heavily, which also translates to a rise in online hackers. The bigger the corporation is, the higher the risk of cyber attacks. This is when cybersecurity comes into the picture. What is cybersecurity:                  Cybersecurity is the condition of being guarded against criminal and illegal activities that comprise of activities related to computer, information technology, and virtual reality. It also means the measures taken to acquire this condition. One must know the risks, threats, and consequences of cyber attacks. Who are the attackers:                   The attacker could be an external source like a hacker who gets into the system and steals files. The imposter could even be someone from the company itself, like an employee who has an access to confidential information. How are the attacks carried out:                   The attackers through viruses or botnets invade systems. It is even done by using a USB drive or clicking

What is blockchain technology? -A new techno in 2020.

Block chain Technology.....! Intro-Meaning-Applications Hii friends......    The 21st century is all about technology. With the increasing need for modernization in our day-to-day lives, people are open to accepting new technologies. From using a remote for controlling devices to using voice notes for giving commands; modern technology has made space in our regular lives. Technologies like augmented reality and IoT that have gained pace in the past decade and now there’s a new addition to the pack i.e. Blockchain Technology. Blockchain – The revolutionary technology impacting different industries miraculously was introduced in the markets with its very first modern application Bitcoin. Bitcoin is nothing but a form of digital currency (cryptocurrency) which can be used in the place of fiat money for trading. And the underlying technology behind the success of cryptocurrencies is termed as Blockchain. There’s a common misconception among people that Bitcoin and Blockchain are one an

What is Metaphysics ?... Special about metaphysics...

Metaphysics is the study of Reality.   What is Metaphysics - Part 1: A study of Mind by Mind. It is an abstract and speculative study that includes Mankind and Life itself. It is as old as Mankind and many discoveries have been made by the Great Thinkers of the past. First of all, we all live forever because we are Immortal and Eternal Spiritual Beings! The death of our physical body is not the end of our existence since we context exist in a different mode. What we have learned in our physical existence becomes an aspect of our Mind and it becomes available to us in the future. In other words, nothing is ever lost and all our experiences become the source of Knowledge and Wisdom in our future endeavors. Secondly, each Lifetime or existence is a self-chosen affair and we select Lifetimes according to our needs. As Spiritual Beings we live more than one lifetime and, in each Lifetimes, we gather Knowledge. We are all Children of the Universe or God and the Wisdom gained in the past de