BASCORRO
LearningROS 2 Fundamentals

Apa itu ROS 2?

Pengenalan Robot Operating System 2 untuk pemula

Apa itu ROS 2?
0 dari 5 halaman selesai
In Progress
Scroll sampai 80% untuk menandai halaman selesai.

Apa itu ROS 2?

Learning Objectives

Setelah mempelajari materi ini, kamu akan dapat: (1) Menjelaskan apa itu ROS dan mengapa digunakan dalam robotika, (2) Memahami perbedaan ROS 1 dan ROS 2, (3) Mengenal ekosistem dan komunitas ROS.


Robot Operating System (ROS)

ROS (Robot Operating System) bukanlah sistem operasi seperti Windows atau Linux, melainkan middleware - kumpulan framework dan tools untuk membangun software robot.

┌─────────────────────────────────────────────────────────────┐
│                      Robot Application                       │
├─────────────────────────────────────────────────────────────┤
│                         ROS 2                                │
│  ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐           │
│  │ Vision  │ │ Motion  │ │ Sensors │ │Strategy │           │
│  │  Node   │ │  Node   │ │  Node   │ │  Node   │           │
│  └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘           │
│       └──────────┴──────────┴──────────┘                    │
│                    Communication Layer                       │
├─────────────────────────────────────────────────────────────┤
│              Linux (Ubuntu 22.04)                            │
├─────────────────────────────────────────────────────────────┤
│                   Robot Hardware                             │
└─────────────────────────────────────────────────────────────┘

Mengapa ROS?

1. Modularitas

ROS memungkinkan kamu memecah sistem robot yang kompleks menjadi bagian-bagian kecil yang independen (disebut Nodes).

2. Reusability

Package yang dibuat untuk satu robot bisa digunakan untuk robot lain. Banyak package open-source tersedia!

3. Komunitas Besar

  • Dokumentasi lengkap
  • Ribuan package tersedia
  • Forum aktif (ROS Discourse, Stack Overflow)
  • Standar industri robotika

4. Simulation Support

ROS terintegrasi dengan simulator seperti Gazebo dan Webots - kamu bisa test tanpa robot fisik!


ROS 1 vs ROS 2

BASCORRO menggunakan ROS 2 Humble karena:

AspekROS 1ROS 2
StatusLegacy (deprecated)Aktif dikembangkan
Real-timeTidakYa (dengan DDS)
Multi-robotSulitNative support
SecurityMinimalBuilt-in security
OS SupportLinux onlyLinux, Windows, macOS
PythonPython 2Python 3

ROS 1 (Noetic) akan end-of-life pada 2025. Semua project baru sebaiknya menggunakan ROS 2!


ROS 2 Distributions

ROS 2 dirilis dalam "distributions" seperti Ubuntu:

DistributionRelease DateEOLUbuntu
Humble HawksbillMay 2022May 202722.04
Iron IrwiniMay 2023Nov 202422.04
Jazzy JaliscoMay 2024May 202924.04

BASCORRO menggunakan ROS 2 Humble karena stabil dan LTS (Long Term Support).


Komponen Utama ROS 2

KomponenFungsi
NodesUnit eksekusi terkecil, melakukan satu tugas spesifik
TopicsChannel untuk publish/subscribe data continuous
ServicesKomunikasi request/response synchronous
ActionsTask dengan feedback dan cancel capability

Tools yang Akan Kamu Gunakan

ToolFungsi
ros2 CLICommand line interface utama
colconBuild system untuk packages
rviz2Visualisasi 3D
rqtGUI tools collection
rosbag2Record & playback data

Quick Demo

Jika sudah install ROS 2, coba jalankan demo ini:

# Terminal 1: Run turtlesim
ros2 run turtlesim turtlesim_node

# Terminal 2: Control the turtle
ros2 run turtlesim turtle_teleop_key

Gunakan arrow keys untuk menggerakkan kura-kura! Ini adalah contoh sederhana dari komunikasi ROS 2.

Sandbox Online: Belum install ROS 2? Coba di The Construct - platform online untuk belajar ROS!


Referensi


Next Steps

On this page