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..