b belajar.myudak

Robotika

Dari tombol W sampai putaran motor

Kendalikan robot sungguhan (model CAD ROBOTIS OP3, lengan 6 sendi, TurtleBot3 dengan LiDAR, dan robot pengikut garis, quadcopter Crazyflie) di browser, lalu buka kapnya: lihat pesan ROS 2 yang lewat, node yang mengolahnya, paket byte yang dikirim ke tiap servo, dan pengendali PID di dalam servo itu. Kirim perintah dari keyboard, terminal ros2, dashboard MQTT, atau skrip Python buatanmu. Semua berjalan lokal; robot dan jaringannya disimulasikan dengan format pesan dan paket yang sama dengan aslinya.

Main bebas

OP3 di lapangan sepak bola

Humanoid 20 servo. WASD untuk berjalan, K/L untuk menendang, kamera di kepala mencari bola.

Main bebas

Lengan 6 sendi

Gerakkan capit dengan WASD (inverse kinematics) atau tiap sendi dengan slider. Pecahkan balon, melukis, memilah benda.

Main bebas

TurtleBot3 dan LiDAR

Robot beroda dengan LiDAR 360°. Lihat sinarnya, bandingkan odometri dengan kenyataan, dan petakan rumah dengan SLAM.

Main bebas

Robot pengikut garis

Sensor inframerah, PWM, dan PID dalam MicroPython. Kejar waktu putaran tercepat di lintasan lomba.

Main bebas

Quadcopter Crazyflie

Empat motor, enam derajat kebebasan. PID bertingkat, filter komplementer, angin, dan terbang lewat gerbang.

Main bebas · baru

Arena multi-robot (RoboCup)

Hingga 5 lawan 5 OP3, GameController, pesan tim lewat UDP, dan wasit otomatis. Atur lapangan, tim dan aturannya sendiri.

Lapisan-lapisan sebuah robot

Setiap perintah turun lewat lapisan ini, dan setiap sensor naik kembali. Playground menampilkan semuanya.

  1. 1 Perilaku skrip Python: cari bola → dekati → tendang
  2. 2 Komunikasi ROS 2: node, topik /cmd_vel, layanan · MQTT: broker, QoS
  3. 3 Persepsi & peta LiDAR → /scan, odometri dari roda, SLAM → /map
  4. 4 Kendali gerak modul jalan, inverse kinematics, PID bertingkat drone
  5. 5 Driver radian → angka 0–4095, SyncWrite / SyncRead
  6. 6 Bus paket byte Dynamixel 2.0 di RS-485, 2 Mbps
  7. 7 Servo PID posisi → motor → encoder
  8. 8 Mikrokontroler MicroPython: ADC sensor, PWM ke H-bridge, loop tetap

Pelajaran

0/32 misi selesai
  1. 1LenganRobot, sendi, dan kinematikaApa itu robot, apa itu sendi dan derajat kebebasan, dan bagaimana robot tahu sudut sendi mana yang membawa ujungnya ke suatu titik.sense-think-actDOFforward kinematicsinverse kinematics
  2. 2LenganServo: motor yang tahu posisinyaIsi sebuah smart servo: motor, gearbox, encoder, dan pengendali PID. Setel gain P, I, D sendiri dan lihat responsnya di osiloskop.servoencoderPIDcontrol table
  3. 3OP3Bicara dengan servo: protokol DynamixelDua puluh servo di satu kabel: alamat ID, paket byte, CRC, dan kenapa driver memakai SyncWrite. Kirim paket sendiri dari terminal.RS-485paket byteCRC-16SyncWritebandwidth
  4. 4OP3ROS 2: node, topik, dan pesanPerangkat lunak robot dipecah menjadi node kecil yang saling mengirim pesan lewat topik. Baca, dengarkan, dan kirim pesan sendiri dengan perintah ros2.ROS 2publish/subscribeTwistrqt_graphservicewatchdog
  5. 5OP3MQTT: robot di internetBroker, topik bertingkat, wildcard, QoS 0/1/2, pesan retained, dan last will. Kendalikan robot dari dashboard HP dan lihat apa yang terjadi saat Wi-Fi putus.brokerwildcard + #QoSretainedlast willjembatan
  6. 6OP3Berjalan dengan dua kakiTelapak tumpuan, titik berat, dan ZMP: kenapa robot harus menggoyang pinggulnya, dan kenapa langkah cepat butuh goyang yang lebih kecil.support polygontitik beratZMPsiklus langkahIK kaki
  7. 7OP3Melihat bola dan menendangKamera di kepala, bidang pandang, dan posisi bola relatif terhadap robot. Arahkan kepala, sejajarkan kaki, lalu tendang ke gawang.kamerabidang pandangframe koordinatgerakan berskrip
  8. 8OP3Skrip perilaku: robot yang memutuskan sendiriTulis node ROS 2 sendiri dalam Python: publisher, subscriber, timer, dan mesin keadaan cari → dekati → sejajar → tendang.rclpynode Pythonloop terbuka vs tertutupmesin keadaanrosbridge
  9. 9TurtleBot3TurtleBot3 dan LiDAR: melihat dengan sinarRobot beroda dengan LiDAR 360°. Apa isi pesan LaserScan, kenapa ada angka 0, dan bagaimana membaca jarak ke depan, kiri dan kanan.LiDARLaserScanframe sensornoise
  10. 10TurtleBot3Dua roda: kinematika diferensialBagaimana kecepatan maju dan putar diubah menjadi kecepatan dua roda, kenapa robot ini tidak bisa bergeser ke samping, dan cara menyetir langsung lewat bus servo.differential driveinverse kinematicsmode kecepatanGoal Velocity
  11. 11TurtleBot3Odometri: menebak posisi dari putaran rodaRobot tidak punya GPS. Ia menjumlahkan putaran roda, dan kesalahannya ikut terjumlah. Lihat odometri melenceng, dan bagaimana giroskop IMU membantu.encoderodometridriftIMUOdometry
  12. 12TurtleBot3Menghindari rintangan dengan PythonPerilaku reaktif: bagi pindaian LiDAR menjadi sektor, lalu putuskan maju atau putar setiap 0,1 detik. Tulis sendiri penghindar rintangan sebagai node ROS 2.perilaku reaktifsektor LiDARhisteresisnode Python
  13. 13TurtleBot3Membuat peta: SLAMPeta kisi dari pindaian LiDAR, kenapa peta dari odometri saja jadi kabur, dan bagaimana scan matching memperbaiki posisi robot sambil memetakan.occupancy gridlog-oddsscan matchingSLAMOccupancyGrid
  14. 14Pengikut garisSensor inframerah dan ADCRobot baru tanpa ROS: mikrokontroler yang membaca cahaya pantulan lantai lewat ADC. Hitam vs putih, kenapa tiap sensor berbeda, dan cara berhenti tepat di atas garis.sensor pantulan IRADCambangMicroPythonpin
  15. 15Pengikut garisMotor, PWM dan bang-bangDua motor DC di belakang H-bridge: pin arah, PWM untuk kecepatan, motor kanan yang terpasang terbalik, dan pengendali paling sederhana: belok kiri, belok kanan, atau lurus.PWMH-bridgemotor DCbang-bangposisi garis
  16. 16Pengikut garisPID untuk mengikuti garisKalibrasi sensor sambil berputar dengan encoder, posisi garis dari rata-rata berbobot, lalu PID yang menyetir halus dan cepat. Kejar putaran di bawah 7 detik.kalibrasirata-rata berbobotPIDencoderwaktu putaran
  17. 17Pengikut garisMesin keadaan: sudut, celah dan finisLintasan lomba punya sudut 90°, garis putus dan penanda di pinggir. PID saja tidak cukup: robot perlu tahu ia sedang dalam keadaan apa.mesin keadaanpenandagaris hilangencoderfinis
  18. 18CrazyflieQuadcopter: gaya angkat dari empat motorCrazyflie 2.1, drone 27 gram. Berapa putaran motor yang dibutuhkan untuk melayang, kenapa dorongan sebanding dengan kuadrat rpm, dan apa yang terjadi kalau keempat motor diatur tangan tanpa pengendali.gaya angkatthrust ∝ rpm²PWMmotorPowerSetCrazyflie
  19. 19CrazyflieRoll, pitch, yaw dan motor mixingEmpat motor untuk enam derajat kebebasan: bagaimana selisih dorongan memutar drone, kenapa yaw berasal dari torsi reaksi baling-baling, dan kenapa drone harus miring untuk bergerak maju.rollpitchyawmixertorsi reaksiunderactuated
  20. 20CrazyfliePID bertingkat: posisi, sikap, lajuPengendali Crazyflie adalah empat PID yang bertumpuk: posisi → kecepatan → sudut → laju putar. Setel penguat sudut roll sampai uji langkah lulus: cepat, tanpa terlalu kebablasan.cascaded PIDpid_attitudepid_rateuji langkahovershoot
  21. 21CrazyflieSensor dan estimasi: drone yang tahu posisinyaGiroskop, akselerometer, sensor jarak dan optical flow: bagaimana drone memperkirakan sudut dan posisinya, kenapa perkiraan itu melenceng, dan menahan posisi saat ditiup kipas angin.IMUfilter komplementerFlow deckoptical flowmotion capturegangguan
  22. 22CrazyflieTerbang otomatis: ROS 2, go_to dan gerbangcrazyswarm2: perintah tingkat tinggi takeoff, go_to dan land, setpoint stream Hover, dan skrip Python yang menerbangkan drone melewati tiga gerbang lalu mendarat di landasan.crazyswarm2takeoff / go_to / landHoverwatchdogPython
  23. 23OP3Bangun sendiri, dan kepala yang mencariRobot sepak bola pasti jatuh. Pengelola jatuh (HCM) membaca IMU, melindungi badan, lalu memutar gerakan bangun asli ROBOTIS. Kepala memindai pola sampai bola terlihat, lalu melacaknya.IMUHCMhalaman gerakanpola pindaipelacakan
  24. 24Arena multi-robotGameController dan aturan pertandinganWasit punya komputer: GameController. Ia menyiarkan keadaan pertandingan dua kali per detik sebagai paket UDP 158 byte. Robot mematuhinya: diam saat INITIAL, masuk lapangan saat READY, membeku saat SET.GameControllerUDP broadcaststruct Ckeadaan pertandinganhukuman
  25. 25Arena multi-robotKomunikasi tim lewat Wi-FiRobot satu tim saling mengirim pesan UDP: posisinya, bola yang ia lihat, dan seberapa cepat ia bisa mencapai bola. Pesannya kecil, jatahnya terbatas, dan Wi-Fi di arena tidak bisa diandalkan.UDP broadcastpesan timjatah pesanpaket hilangbola bersama
  26. 26Arena multi-robotPeran dan strategi: tim.pySatu program Python di setiap robot. Dari pesan tim, tiap robot sendiri menghitung siapa penyerang (waktu ke bola terkecil), siapa pendukung, siapa bek. Kiper tetap. Kalahkan tim bawaan.multi-agenperan dinamiswaktu ke bolaprogram yang sama, data berbeda
  27. 27Arena multi-robotWasit otomatis: apa yang diperiksaWasit melihat lapangan dan menekan tombol GameController: gol, bola keluar, lemparan, tendangan gawang, sepak pojok, dan hukuman. Tulis tim.py yang bermain bersih satu pertandingan penuh.aturanwasit otomatisset playhukumandebugging perilaku
  28. 28OP3Mata yang mengenali: deteksi objek ala YOLOKamera hanya memberi piksel. Detektor objek (YOLO) mengubahnya jadi kotak berlabel dengan skor keyakinan; geometri kamera mengubah kotak jadi posisi di lapangan.kameraYOLOkotak pembatasskor keyakinanproyeksi balikvisual servoing
  29. 29TurtleBot3Keluar dari labirinLabirin 6 × 6 sel dengan satu pintu keluar. Aturan tangan kanan atau kiri, bergerak sel demi sel, dan membetulkan arah robot dari dinding yang dilihat LiDAR karena odometri pelan-pelan melenceng.labirinaturan tanganmicromousemesin keadaanregresi garisodometri
  30. 30TurtleBot3Di mana aku? Lokalisasi Monte CarloPeta sudah ada, tapi robot tidak tahu di mana ia berada. Ribuan tebakan (partikel) digerakkan oleh odometri, dinilai oleh LiDAR, lalu diundi ulang sampai tinggal satu kerumunan: posisi robot.lokalisasifilter partikelAMCLmodel sensorresamplingkidnapped robot
  31. 31LenganLengan yang melukisCapit dua jari menggantikan bet: lengan mengambil kuas, mencelupnya ke cat, lalu mengikuti pola di kertas. Orientasi alat, titik tengah alat (TCP), dan menghitung dari ujung kuas, bukan dari capit.capitTCPorientasi alatIK 6 DOFlintasanumpan balik
  32. 32LenganAmbil dan taruh: memilah dari ban berjalanKamera di atas meja melihat benda di ban berjalan, lengan menjemputnya di ujung ban dan menaruhnya di wadah yang warnanya sama. Pola ambil-dan-taruh (pick and place) dan mesin keadaannya.pick and placecapitkamera mejakonveyormesin keadaantitik aman

Model ROBOTIS OP3 berasal dari CAD ROBOTIS; rantai sendi dan massanya dari ROBOTIS-OP3-Common (Apache-2.0). Lengan 6 sendi dari ProtoTwin RLExamples (MIT). Model TurtleBot3 Burger dari mesh STL dan URDF resmi ROBOTIS turtlebot3_description (Apache-2.0). Robot pengikut garis dibangun dari ukuran UKMARSBOT (MIT). Paket GameController (RGme v20 / RGrt v4) mengikuti GameController HSL (MIT) dan aturan HSL 2026; gerakan bangun OP3 dari ROBOTIS-OP3 (Apache-2.0); pengelola jatuh dan pola pindai kepala meniru Hamburg Bit-Bots dan ICHIRO ITS (MIT). Model dan parameter fisika Crazyflie 2.x dari gym-pybullet-drones (MIT); nama parameter dan struktur pengendalinya mengikuti firmware Bitcraze. Simulasi servo, ROS 2, MQTT, dan cara berjalannya ditulis ulang untuk browser dan disederhanakan untuk belajar.