Hey Brandon, want to build a robot?
Sure, sounds good. Looks like you've got some hardware here. What's left to do?
Yeah. All we need to do now is write device drivers for all our sensors and actuators,
develop a communications framework that can support four different protocols,
write algorithms to do perception,
navigation and motion planning.
Yeah. And then after that,
we can implement a mechanism to log our data,
write our control algorithms,
oh, and don't forget error handling.
Awesome. Let's get started.
So, how's it going guys?
Great.
Yeah, we got the lights to turn on.
Building a robot used to be a long and cumbersome process.
All the components had to essentially be built from scratch.
In this lesson, we'll be giving you an introduction to robot operating system or ROS,
which is a software framework that greatly simplifies robot development.
There are many advantages to developing robots with ROS.
But before we dive deep,
I think we should explain what ROS actually is.
Indeed, ROS is an open source software framework for robotics development.
To help you get a better understanding of what ROS is,
let's illustrate some of its components and features.
ROS is not an operating system in the typical sense,
but like an OS, it provides a means of talking
to hardware without writing your own device drivers.
It also provides a way for different processes
to communicate with one another via message passing.
Lastly, ROS features a sleek build and
package management system allowing you to develop and deploy software with ease.
ROS also has tools for visualization, simulation and analysis,
as well as extensive community support and
an interface to numerous powerful software libraries.
Before diving deeper into all this,
let's take a brief tour of the history of ROS.