Robotika · pelajaran 9
TurtleBot3 dan LiDAR: melihat dengan sinar
Robot baru: TurtleBot3 Burger
TurtleBot3 adalah robot yang paling sering dipakai untuk belajar ROS. Isinya sedikit, dan semuanya bisa dilihat di playground ini:
| bagian | di robot asli | di sini |
|---|---|---|
| 2 roda | servo Dynamixel XL430 (ID 1 kiri, ID 2 kanan) | bus yang sama dengan OP3 |
| otak bawah | papan OpenCR + IMU | node turtlebot3_node |
| mata | LiDAR LDS-01 di atas | node hlds_laser_publisher → /scan |
Klik area 3D lalu tekan W A S D. Garis merah adalah sinar LiDAR.
Cara kerja LiDAR
Di dalam LDS-01 ada laser dan sensor yang berputar 5 kali per detik. Setiap putaran, ia mengukur jarak ke benda terdekat di 360 arah, satu per derajat. Hasilnya dikirim sebagai satu pesan sensor_msgs/msg/LaserScan:
ros2 interface show sensor_msgs/msg/LaserScan
ros2 topic echo /scan
ros2 topic hz /scan
ranges[i]adalah jarak (m) pada sudutiderajat. Sudut 0 berarti lurus ke depan dan bertambah berlawanan jarum jam: 90 = kiri, 180 = belakang, 270 = kanan.range_min0,12 m danrange_max3,5 m. Di luar rentang itu, atau kalau sinarnya tidak kembali, driver LDS menulis 0. Jadi 0 bukan berarti nempel, melainkan “tidak tahu”.- Setiap angka sedikit bergoyang (noise ±1 cm), dan sesekali satu sinar hilang. Begitulah sensor sungguhan.
Buka tab LiDAR. Itu pindaian yang sama, dilihat dari atas dengan robot menghadap ke atas. Arahkan kursor ke titik merah untuk melihat ranges[i]-nya.
Frame sensor
LiDAR tidak berada di tengah robot: ia 3,2 cm di belakang base_link dan 18,2 cm di atas lantai (frame base_scan). Jarak di /scan diukur dari sensor, bukan dari bagian depan robot. Bagian depan robot kira-kira 10 cm di depan sensor. Karena itu, ranges[0] = 0,12 m sudah berarti bumper hampir menyentuh dinding.
Coba
- Dekati pilar. Di tab LiDAR, pilar terlihat sebagai busur pendek, dinding sebagai garis.
- Di Python:
msg.ranges[0]= depan,msg.ranges[90]= kiri. Untuk “jarak terdekat di depan”, ambil minimum dari beberapa derajat di sekitar 0, setelah membuang angka 0.
Misi
Parkir di depan dinding atau pilar sehingga LiDAR depan menunjukkan 25–35 cm, lalu diam 1 detik, tanpa menabrak. Pakai HUD atau tab LiDAR sebagai panduan.
Selanjutnya: Dua roda: kinematika diferensial · Semua pelajaran