ROS (Robot Operating System) là tập hợp các framework cung cấp những chức năng tương tự hệ điều hành để phát triển các phần mềm sử dụng cho robot. ROS hỗ trợ đầy đủ mọi dịch vụ tiêu chuẩn như trừu tượng hóa phần cứng, điều khiển thiết bị mức thấp, thư viện, thực hiện truyền thông điệp và quản lý đóng gói. Các tiến trình trong ROS được thử nghiệm theo cấu trúc đồ thị với mỗi tiến trình ứng với từng node có thể nhận, thông báo và kết hợp các cảm biến, bộ điều khiển, định mức hiện trạng, quy hoạch, bộ truyền động cùng nhiều thông điệp khác. Khả năng phản ứng nhanh và độ trễ thấp là những yêu cầu quan trọng với ứng dụng robot nhưng cho dù vẫn có thể tương tác với một số đoạn mã xử lý tức thời, bản thân ROS không phải là hệ điều hành thời gian thực.
Các phần mềm trong ROS được chia làm 3 nhóm:
- Các công cụ độc lập với ngôn ngữ lập trình và nền tảng phần cứng dùng để xây dựng và phân phối những phần mềm cơ bản cho ROS.
- Bộ thư viện áp dụng cho bên client để thử nghiệm.
- Các gói chứa mã hỗ trợ dùng cho một hoặc nhiều thư viện.
Các công cụ và thư viện chính viết bằng C++, Python hoặc LISP, được phát hành theo bản quyền của BSD và đều là mã nguồn mở, miễn phí cho sử dụng trong nghiên cứu hoặc ngay cả với mục đích thương mại. Đa phần những gói công cụ còn lại phát hành dưới nhiều bản quyền mã nguồn mở đa dạng, đóng vai trò thử nghiệm các chức năng và ứng dụng dùng chung như trình điều khiển phần cứng, mô hình hóa robot, phân loại dữ liệu, quy hoạch, nhận thức, lập bản đồ, định vị đồng thời hay mô phỏng cùng nhiều giải thuật khác.
Những thư viện chính của ROS thiết kế hướng tới hệ thống tương tự UNIX, chủ yếu vì phải phụ thuộc nhiều vào lượng lớn những phần mềm mã nguồn mở. Một trong số các hệ điều hành được hỗ trợ có thể kể đến như là Ubuntu Linux, còn
đang thử nghiệm. Trong khi đó thư viện rosjava viết bằng Java không bị giới hạn như vậy nên khiến cho các phần mềm của ROS cài đặt được trên hệ điều hành Android hay kết hợp sử dụng cùng các công cụ MATLAB, vốn có thể chạy trên Linux, Mac OS X và dĩ nhiên cả Microsoft Windows. Còn thư viện roslibjs viết bằng Javascript lại được phát triển để tương tác với hệ thống ROS thông qua bất kỳ trình duyệt web chuẩn nào.
Sử dụng phiên bản ROS Indigo được cài đặt trên Ubuntu 14.04.