Robotika · pelajaran 7
Melihat bola dan menendang
Robot hanya tahu yang dilihatnya
Kamu melihat seluruh lapangan dari atas. Robot tidak. Ia hanya punya kamera di kepala dengan bidang pandang sekitar 70° × 43° (garis kuning di lantai). Kotak kecil di pojok kanan bawah menampilkan gambar kamera itu, persis yang dilihat robot.
Di Graf ROS, alurnya: node /camera menerbitkan gambar di /camera/image_raw (10 kali per detik). Dua node berlangganan: /image_view (yang menggambar kotak tadi, seperti rqt_image_view) dan /ball_detector, yang mencari bola di setiap gambar. /ball_detector menerbitkan /ball hanya saat bola terlihat, dan isinya bukan posisi bola di lapangan, melainkan posisi relatif terhadap robot:
x= berapa meter di depan,y= berapa meter ke kiri.
Klik /ball di jalur perintah atau di tab Topik. Jalan dan belok: angkanya berubah walau bola diam, karena frame koordinatnya ikut robot. Cincin kuning di sekitar bola menandakan kamera sedang melihatnya.
Kepala
Buka 🎥 Kepala. Slider ini node /joint_gui yang mengirim /op3/head_cmd. Perhatikan kotak kamera sambil menggeser. Tundukkan kepala: bola dekat terlihat, tapi yang jauh hilang. Tengadahkan: kebalikannya. Robot sepak bola sungguhan terus menggerakkan kepala untuk mencari dan melacak bola.
Ubah posisi bola di robot ke koordinat lapangan dengan rotasi sebesar arah hadap robot θ:
Menendang
Tendangan adalah gerakan berskrip (motion): urutan pose yang sudah dirancang, bukan dihitung ulang setiap saat.
- pindahkan berat badan ke kaki penumpu (pinggul bergeser ±4 cm);
- angkat kaki penendang dan tarik ke belakang;
- ayunkan ke depan dengan cepat (±0,9 m/s);
- kembalikan kaki, lalu pindahkan berat ke tengah lagi.
Tendangan hanya diterima saat robot berdiri diam. Coba tekan L sambil berjalan dan lihat penolakannya di Log. Agar bola lurus, telapak kaki penendang (4,75 cm ke samping dari pinggul) harus tepat di belakang bola dan sejajar dengan gawang.
Coba
- Berjalan ke belakang bola dengan W/A/D, rapikan posisi dengan Q/E, lalu tekan L (kaki kanan) atau K (kaki kiri).
- Bola memantul dari tiang dan dinding, dan berhenti karena gesekan rumput.
- Gawang kanan ada di x = +4,5 m. Ketik
ros2 topic echo /odomuntuk melihat posisimu.
Misi
Cetak satu gol, boleh dengan keyboard. Pelajaran berikutnya: membuat robot melakukannya sendiri.
Selanjutnya: Skrip perilaku: robot yang memutuskan sendiri · Semua pelajaran