The basics… (if you’re a freaking genius, please skip to the next section)
Traditional operating systems for computers providing a lot of low level functionality.
For example:
- file systems
- device drivers
- networking
- memory management
- etc
These are things you don’t want to update or tweak each and every time you want to bring a new application to market.
This is why we have Operating Systems (OS). The operating systems does that work for you and lets you build on top of it which saves you a ton of time.
In addition to the operating system, there are standards such as:
- Hardware: PCI bus, USB port, & FireWire
- Software: HTML, JPG, TCP/IP, & POSIX
The combination of these standards and operating systems are what help you write software and applications that will run on your systems easily.
Ok. Cool. What about Robots?
The idea of a robot, apart from immediately thinking SkyNet by Cyberdyne Systems, is pretty complex.
Are there standards and operating systems to do robot stuff?
Robots have:
- Sensors
- Actuators
- Computing Hardware
- might even communicate to other robots
So how does one provide low level functionality to write applications??
Robots also don’t all look the same and come in all shapes and sizes. The main categories of robots are:
- Drones
- Medical robots
- Self-driving cars
- Flying robots
- Manipulators
- Underwater robots
- Ground robots
PS: There’s even more… basically if it has sensors, actuators, and computing hardware, you’ve got yourself a robot stew.
How do you standardize across so many options?!
ROS.
In the same way that an OS provides processing, file management, and so on, ROS provides:
- Sensor drivers