Robotlar için Matlab ve C++ ile Koordinat Sistemleri
Robotlar için Matematik Temelleri Dersinde anlatılan Koordinat Sistemleri konusu için hazırlanmış dokümanlar ve kodlar paylaşılmıştır.
Robotlar için kullanılan Koordinat sistemlerini açıklayan doküman
Matlab ve C++ Eigen kütüphanesi
Önce Matlab ortamında sonrada C++ kullanarak aşağıdaki işlemi gerçekleştiriniz. Matlab ile elde ettiğiniz sonuçlarınızı C++ ile karşılaştırıp doğrulayınız.
1 tane mlx dosyasını ayrı, C++ için hazırladığınız klasörü sıkıştırıp ayrı olarak yükleyiniz.
Üç boyutlu uzayda robotun ve şekildeki 9 beyaz silindirin konumlarının verildiğini kabul edin. Her bir beyaz silindire bir isim veriniz. Robotun verilen bu 9 tane cisimden hangisine yakın olduğunu hesaplayıp ekrana robota en yakın silindirin ismini ve mesafesini mesaj olarak yazdırınız.
Beyaz silindirlerin konumlarının aşağıdaki şekilde verilmiş olsun. Robotun ise konumu rastgele olarak seçiniz.
x | y | z |
---|---|---|
-1.5 | -1.5 | 0 |
-0.5 | -1.5 | 0 |
1.5 | -1.5 | 0 |
-2.5 | 1.5 | 0 |
-0.5 | 1.5 | 0 |
1.5 | 1.5 | 0 |
-2.5 | 4.5 | 0 |
-0.5 | 4.5 | 0 |
1.5 | 4.5 | 0 |
Robota en yakin noktanın MATLAB Livescript çözüm dosyası
silindir = [ -1.5 -1.5 0 -0.5 -1.5 0 1.5 -1.5 0 -2.5 1.5 0 -0.5 1.5 0 1.5 1.5 0 -2.5 4.5 0 -0.5 4.5 0 1.5 4.5 0 ] ; silindirIsimler = [ "1. cisim" "2. cisim" "3. cisim" "4. cisim" "5. cisim" "6. cisim" "7. cisim" "8. cisim" "9. cisim" ]; robotPOS = [ randi([-3 5],1,2) 0 ]
robotPOS =
4 5 0
mesafe = sqrt(sum((robotPOS(1,:)-silindir(:,:)).^2,2))
mesafe = 8.5147 7.9057 6.9642 7.3824 5.7009 4.3012 6.5192 4.5277 2.5495
enKucuk = find( mesafe == min(mesafe)); fprintf("Robota en yakın cisim = %s ve uzakligi = %5.3f \n", silindirIsimler(enKucuk), mesafe(enKucuk))
Robota en yakın cisim = 9. cisim ve uzakligi = 2.550
C++ Çözümü Eklenecektir.
çok faydalı bir paylaşım..