Robots are fascinating machines that have captured the imagination of scientists and engineers for decades. They are complex systems that comprise a range of components, each with its own function. In this course, we will explore the exciting world of robotics and introduce you to the basics of building and programming robots using ROS.
House Cleaning Robots Explained
Let's start with a practical example of a house cleaning robot. These devices autonomously navigate through a house and clean it slowly. They can even find their docking station and return to it when their battery is low or when they have finished cleaning. But how do they do all this?
Components of a Mobile Robot
Every mobile robot you see has some components running it. These components include wheels and motors for movement, batteries for power, sensors to perceive the environment, and an onboard computer to make decisions and store information. Together, these components allow the robot to build a map of the house, perceive obstacles, plan its route, and clean the house.
ROS (Robot Operating System)
Now, bringing these components together to successfully make a robot can be a long and cumbersome process. But luckily, ROS (Robot Operating System) exists to make things simpler for us. ROS is an open-source, flexible framework for writing robot software. It simplifies the task of creating complex and robust robot behaviour across a wide variety of robotic platforms.
Advantages of Developing Robots with ROS
There are many advantages of developing robots with ROS. For example, ROS provides us with simulation, visualisation, and analysis tools that allow us to build and test robots in a virtual environment before deploying them in the real world. This can save a lot of time and development costs. ROS also provides us with a package building and management system for easy development and deployment of the software.
Components of ROS:
Before starting to work with ROS, we need to understand its components and features. ROS is not an operating system but provides a means of communication between various components of the robot - both software and hardware. We will be discussing the basic tools of ROS, such as nodes, topics, services, parameters, actions, and Rqt in detail in upcoming lessons.
Conclusion:
By the end of this course, you will have a solid understanding of the components of a robot and how they work together. You will also be able to use ROS to build and program robots and take advantage of its powerful simulation and visualisation capabilities. Let's get started!