Pengesanan halangan adalah isu utama untuk pelayaran selamat dan ia boleh dicapai dengan menggunakan penglihatan stereo. Dalam penglihatan stereo, dua buah kamera diletakkan secara mendatar antara satu sama lain di atas platform robot mudah alih. Kamera-kamera ini digunakan untuk mendapatkan pandangan yang berbeza untuk kawasan yang sama, dalam satu keadaan yang menyerupai penglihatan binokular manusia. Langkah pertama ialah penentukuran kamera dengan menggunakan Matlab Camera Calibration Toolbox. Proses penentukuran kamera menganggarkan parameter intrinsik kamera dan mengira parameter ekstrinsik kamera. Hasil proses penentukuran digunakan untuk merektifikasikan imej supaya garis epipolar dalam semua imej diubah menjadi sepadan antara satu sama lain. Rektifikasi dapat menghapuskan ralat yang disebabkan oleh gangguan kanta dan sesaran kamera. Ini memudahkan pelaksanaan algoritma stereo padanan. Algoritma stereo padanan digunakan untuk mencari titik-titik sepadan dalam imej-imej yang diambil daripada perspektif yang berbeza, dan menghasilkan peta perbezaan, yang berkadar songsang dengan jarak antara objek. Dalam projek ini, dengan menggunakan saiz tetingkap yang ditentukan, dua algoritma stereo padanan yang berbeza, Sum of Absolute Differences (SAD) dan Sum of Squared Differences (SSD) dilaksanakan dan pretasi mereka dibandingkan. Sepasang titik dianggap sepadan jika nilai SAD atau SSD adalah cukup kecil dan minima antara semua nilai yang dikira dalam julat tertentu. Peta perbezaan yang dijana dianalisa dan diproses untuk mencari jarak antara objek. Prestasi SAD dan SSD adalah lebih kurang serupa. Akan tetapi, masa proses untuk SSD adalah lebih panjang daripada SAD kerana satu langkah tambahan diperlukan dalam pengiraan kuasa dua. Sebagai kesimpulannya, dengan menggunakan algoritma stereo padanan untuk mengekstrakkan maklumat tiga dimensi, robot mudah alih mampu membezakan halangan daripada ruang bebas. Ia juga berupaya bergerak ke hadapan dengan mengelakkan halangan.
_____________________________________________________________________________________
Obstacle detection is the main issue for safe navigation and it can be achieved by applying stereo vision. In stereo vision, two cameras placed horizontally from one another on the mobile robot platform. These cameras are used to obtain differing views on a scene, in a manner similar to human binocular vision. The first step is camera calibration by using Matlab Camera Calibration Toolbox. The camera calibration process estimates camera’s intrinsic parameters and calculates extrinsic parameters of the camera. The result of the calibration process is used for image rectification to transform the corresponding epipolar lines in all images so that they become collinear with each other. Rectification is able to eliminate errors caused by lens distortion and camera displacement. This greatly simplified the implementation of the stereo matching algorithms. Stereo matching algorithm is used to find the corresponding points in stereo image and produce disparity map, which is inversely proportional to object distance. In this project, using a predefined window size, two different stereo matching algorithms, Sum of Absolute Differences (SAD) and Sum of Squared Differences (SSD) are implemented and their performance is compared. A pair of points is considered to match if the SAD or SSD value is small enough and minimum among all values computed within the possible disparity range. The disparity map generated is analyzed and processed to find the distance between the objects. The performance of SAD and SSD are quite similar. However, the processing time of SSD is longer than that of SAD because it requires an extra step in the squared calculation. As a conclusion, by using stereo matching algorithms to extract 3D depth information, the mobile robot is able to distinguish obstacles from the free space ahead. It is able to move forward by avoiding obstacles.