Selamat siang, habratchiteli sayang!Pengamatan terbaru dan pengalaman pribadi telah menunjukkan bahwa menghubungkan kamera Microsoft Kinect Xbox 360 untuk digunakan dalam ROS Indigo dari bawah Ubuntu 14.04 sering menyebabkan masalah. Secara khusus, ketika memulai paket ROS openni_launch, perangkat tidak dapat dideteksi dan kesalahan "Tidak ada perangkat terhubung" dihasilkan. Pada artikel ini, saya akan menjelaskan metode langkah-demi-langkah saya mengatur lingkungan untuk menggunakan Microsoft Kinect dari ROS Indigo. Siapa yang tertarik, silakan, di bawah luka!Kamera Microsoft Kinect
Sensor ini sudah ditulis secara rinci dalam artikel . Singkatnya, Microsoft Kinect adalah kamera 3D (RGB-D, yaitu, merah, hijau, biru dan mendalam), berdasarkan teknologi cahaya terstruktur, yang memungkinkan Anda untuk mendapatkan peta kedalaman permukaan benda-benda yang jatuh ke bidang pandang kamera. Peta kedalaman dapat diubah menjadi "awan" tiga dimensi titik, di mana setiap titik memiliki koordinat yang tepat X, Y dan Z dalam ruang dan, dalam beberapa kasus, warna dalam format RGB. "Awan" poin digunakan dalam rekonstruksi objek, membangun peta medan dalam layanan robotika, pengenalan objek, dan banyak tugas lain di bidang penglihatan komputer dalam 3D.
ROS menyediakan dukungan untuk sensor Kinect. "Cloud" poin yang diterima oleh sensor dapat ditampilkan secara visual dalam program rviz.
ROS memiliki paket openni_launch dan openni_camera khusus untuk menggunakan sensor Kinect.Instalasi Driver untuk Microsoft Kinect Sensor
Pertama, Anda perlu menginstal perpustakaan OpenNI, yang ditujukan untuk sejumlah sensor RGB-D (Kinect, ASUS Xtion, PrimeSense).Instal beberapa paket tambahan yang diperlukan OpenNI untuk diinstal:sudo apt-get install git build-essential python libusb-1.0-0-dev freeglut3-dev openjdk-7-jdk
sudo apt-get install doxygen graphviz mono-complete
Sekarang langsung instal OpenNI 1.5.4 dari sumber:git clone https://github.com/OpenNI/OpenNI.git
cd OpenNI
git checkout Unstable-1.5.4.0
cd Platform/Linux/CreateRedist
chmod +x RedistMaker
./RedistMaker
Sekarang unduh perpustakaan avin-KinectSensor untuk sensor Kinect dari sini .unzip avin2-SensorKinect-v0.93-5.1.2.1-0-g15f1975.zip
cd avin2-SensorKinect-15f1975/Bin
Bergantung pada jenis sistem (32 atau 64 bit), pilih penginstal yang sesuai. Untuk sistem 32 bit, lakukan langkah-langkah berikut:tar -xjf SensorKinect093-Bin-Linux-x86-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x86-v5.1.2.1
Untuk sistem 64 bit, kami akan melakukan:tar -xjf SensorKinect093-Bin-Linux-x64-v5.1.2.1.tar.bz2
cd Sensor-Bin-Linux-x64-v5.1.2.1
Akhirnya, selesaikan instalasi:sudo ./install.sh
Instal paket openni_ *
Hal terakhir yang perlu kita lakukan adalah menginstal paket openni_launch dan openni_camera , yang memungkinkan Anda untuk menerima dan bekerja dengan data dari kamera kedalaman yang kompatibel dengan OpenNI di ROS. Menginstal paket-paket ini sangat sederhana:sudo apt-get install ros-indigo-openni-camera ros-indigo-openni-launch
Memverifikasi pemasangan driver
Sekarang semuanya sudah siap! Periksa keberhasilan instalasi. Jalankan di terminal yang berbeda:roscore
roslaunch openni_launch openni.launch depth_registration:=true
rosrun rviz rviz
Mengatur argumen depth_registration: = true menunjukkan bahwa kami ingin mengaktifkan pendaftaran OpenNI dan menerima data XYZRGB dari kamera (kedalaman dan warna).Pertama, di rviz, perluas bagian Global options di kolom Displays kiri dan tetapkan nilai / camera_link untuk bidang Frame tetap seperti pada gambar:
Jadi, kami mengatur sistem koordinat yang diperlukan untuk tampilan data yang benar dari kamera Kinect.Di rviz kami membuat tampilan baru. Untuk melakukan ini, klik tombol Tambah dan pilih jenis tampilan PointCloud2 seperti pada gambar:
Pilih topik / kamera / depth_registered / poin untuk tampilan
baru.Setelah itu, pilih nilai "RGB8" untuk bidang Transformator Warna.Sekarang kita akan melihat gambar serupa:
Nilai "RGB8" memungkinkan Anda untuk menampilkan "awan titik" berwarna, di mana setiap titik memiliki koordinat X, Y, Z dan warna RGB.Saya ingin menarik perhatian Anda pada fakta bahwa Microsoft Kinect Xbox 360 hanya bekerja dengan USB 2.0. Menghubungkan kamera melalui USB 3.0 dapat menyebabkan kesalahan deteksi perangkat, yang saya bicarakan di awal artikel.Portal ROS resmi memiliki tutorial tentang cara bekerja dengan data kamera RGB-D menggunakan Point Cloud Library . Tutorial ini memberikan semua informasi yang Anda butuhkan untuk memulai dengan point cloud.Semoga sukses menggunakan kamera RGBD di ROS untuk menyelesaikan masalah penglihatan komputer Anda!