Where to Study Robotics: a List of Free Courses
Robotics is an engineering discipline focused on designing and manufacturing of robots. This area of engineering is related to computer science, mechatronics, artificial intelligence, and bioengineering. Science-fiction writer Isaac Asimov is widely considered the first man to use the term “robotics.” He also was the author of its three main principles, or Three Laws of Robotics:
- Robots shouldn’t harm humans.
- Robots should follow the given instructions without violating the first rule.
- Robots should protect themselves without violating two other rules.
Robots have many applications, performing various tasks which are usually performed by humans. They build cars in assembly lines, disarm explosive devices, explore the bottom of the ocean and space. You can also buy a robot cleaner which will move around your home and clean the floor. The robotics industry evolves all the time, and engineers constantly discover new ways robots can help us solve various problems.
Today, many people realize how important it is to learn robotics. Knowledge of robotics not only can give you an interesting profession but also can help you develop and improve various skills. For example, when learning robotics, you can also learn creative thinking, concentration, programming, teamwork, and get more prepared for the future of technology in general.
Main Trends of the Robotics Industry
First, industrial robots, including mobile robotic platforms and articulated manipulators, become cheaper. The commercial sector is excited about new applications of robots, and the agricultural sector may become the most promising market for robots in the nearest future. Drones and UAVs have already proven to be effective for such tasks as fertilizing, carrying heavy items, and monitoring livestock.
The commercial sector expresses its excitement by increasing investments in this industry. Google and Amazon buy robotics companies. Moreover, Amazon has turned one of such companies, Kiva Systems, into Amazon Robotics. The new company is focused on automation, machine learning, computer vision, language perception, and other issues which are very important for the future of robotics. Toyota has invested $50 million in collaboration with Stanford and MIT to develop new solutions for self-driving cars, and other companies from this sector also don’t lag behind. Even venture capitalists, who used to be cautious about investing in this industry, are actively funding robot startups.
Another trend in robotics is cloud technologies. Clouds allow robots to exchange and process large amounts of data in real time. Cloud robotics may solve one of the biggest problems in the industry — the lack of computing power. Clouds can expand the computing capabilities of machines significantly, enabling them to perform tasks that had seemed to be impossible before. The latest developments in the field of big data may also be used by the robotics community to cope with the information collected by robots which have multiple sensors.
Many robots can collect data on social media. Artificial intelligence and machine learning can help robots use data from social media to improve their perception capabilities and to better understand the world we’re living in.
The Most Interesting Free Robotics Courses for Beginners
- ROS Educational Center On this site you’ll learn how to code robots with ROS, more about ROS you can read on their official site
- Introduction to Robotics (MIT)
This course will provide you with the basics of robotics. Here you can learn about dynamics, essential robot mechanisms, and intelligent controls. Although this course is intended mostly for beginners, it covers a vast variety of topics, including motion planning, spatial and planar kinematics, multi-rigid-body dynamics, and mechanism design for manipulators. You will learn to model tasks and get a basic understanding of how sensors and actuators work. This course also includes such topics as human-machine interfaces and wireless networking.
- Control of Mobile Robots by Georgia Institute of Technology (Coursera)
This course will teach you modern control theory and its applications in robotics. It focuses on the issues of safety and effectiveness. This course has a somewhat unusual structure, addressing both the basics of robotics and actual challenges of this industry in the modern world.
- Introduction to Robotics (Stanford University)
This course is also intended for beginners. It includes the most important information about the design, modeling, control, and planning of robot systems. It will also provide you with the necessary knowledge of kinematics, geometry, dynamics, statics, and control.
- Introduction to Robotics Specialization (University of Pennsylvania)
This course is focused on the behavior of robots in the real world and the challenges they experience while running or flying and meeting unexpected situations and objects. You will learn more about the environment robots work in. The course also includes many examples so that you can learn how self-driving cars, drones, and legged robots work. It also will teach you the basics of programming.
- Mobile Robotics (Open2Study)
Mobile Robotics focuses on the movement of robots and the ways they discover the world around. You will learn how robots interact with different objects and how they are built. The course also pays particular attention to decision making.
- Robot Mechanics and Control by Seoul National University (edX)
This is a course for junior-level engineers. It includes such crucial topics as differential equations, linear algebra, forces, and physics of 3D velocities. Here you can learn a lot of information from a typical undergraduate curriculum in engineering or science specializations.
- Robotics: Estimation and Learning (Coursera)
This course will give you an understanding of how robots analyze data from sensors and how they cope with the noize, choosing the necessary measurements and making decisions based on the obtained data. This course also addresses such important issues as uncertainty in estimating, mapping, probabilistic generative models, and Bayesian filtering.
- Introducing Robotics: Build a Robot Arm (FutureLearn)
This course from FutureLearn will allow you to build a simple robot and to program it. You’ll learn how to create a robot with two joints which can draw lines by connecting dots on a sheet of paper. If you’re interested in the practical aspects of robotics, you’ll certainly enjoy this course, as you’ll create the robot from scratch, constructing, programming, and testing it.
Where to Learn How to Code Robots?
There are several programming languages and tools which are commonly used in robotics, so let’s consider each one of them in detail.
- ROS The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications. From drivers to state-of-the-art algorithms, and with powerful developer tools, ROS has what you need for your next robotics project. And it’s all open source.
C# is one of the most popular programming languages which will be a good start for beginners. C++ is similar to its predecessor but it’s an upgraded version in terms of libraries.
Learn more about C#/C++:
It’s a high-level programming language with the increased readability of cumbersome code. A big piece of code in C++ takes a few lines in Python.
Learn more about Python:
LISP stands for List Processing Language. It was developed back in 1958, and it’s still an important part of the Robot Operating System.
Learn more about LISP:
This is an old, low-level programming language. It’s very difficult compared to high-level languages like Python but you’ll certainly benefit from knowing it because if you read code written in Assembly, you can understand the exact commands a processor performs.
Learn more about Assembly:
This is a platform that provides an object-oriented environment for applications. It isn’t used in robotics directly but you may need it to run devices with various Windows applications. The knowledge of .NET will be also helpful when working on the Internet of Things.
Learn more about .NET:
MATLAB is a tool that helps solve various engineering problems using mathematical calculations. It’s often used in robotics for stability tests, before moving on to a physical level.
Learn more about MATLAB:
Robotics is a fast-growing industry. Its importance and popularity constantly grow. Thus, if you want to better understand the future of technology or if you want to master an interesting and lucrative profession, you’ll certainly benefit from learning robotics. There are many online courses available for free, and many of them don’t require you to have any prior knowledge of robotics and programming. Check out the sources and classes listed above and learn robotics online, with no need to leave your house.