Robot ana montajı: tam robot (iskelet, omuzlar, kabuk, dirsekler, kafa, taban)
ana_montaj.py · 907 parça, 22 grup, 22 eklem · yerleşim arayuz.MODULLER'den · sol omuz ve sol dirsek gerçek aynalı geometriGörünümler
Modüller
| Modül | Parça | Kütle | Ağırlık merkezi (mm) | Yerel orijin (global) | Dönüş | Ana montajda yok | Gruplar |
|---|---|---|---|---|---|---|---|
| İskelet | 59 | 5.793,1 g | (0,0; 314,5; 0,0) | (0; 0; 0) | – | – | iskelet |
| Sağ omuz | 68 (modülde 70) | 463,6 g | (150,9; 943,9; -0,8) | (0; 955; 0) | – | Omuz traversi (sigma 40x40 agir, 200 mm), Govde kabugu yan yuzu (referans) | sağ omuz gövde, sağ omuz göbeği, sağ üst kol |
| Sol omuz | 68 (modülde 70) | 463,6 g | (-150,9; 943,9; -0,8) | (0; 955; 0) | X aynası (gerçek aynalı geometri) | Omuz traversi (sigma 40x40 agir, 200 mm), Govde kabugu yan yuzu (referans) | sol omuz gövde, sol omuz göbeği, sol üst kol |
| Kabuk | 202 | 4.925,9 g | (-0,1; 467,2; 8,5) | (0; 0; 0) | – | – | kabuk |
| Sağ dirsek | 53 | 370,0 g | (189,3; 748,7; -1,6) | (0; 955; 0) | – | – | sağ dirsek çatalı, sağ ön kol, sağ el |
| Sol dirsek | 53 | 370,0 g | (-189,3; 748,7; -1,6) | (0; 955; 0) | X aynası (gerçek aynalı geometri) | – | sol dirsek çatalı, sol ön kol, sol el |
| Kafa | 98 (modülde 99) | 1.366,8 g | (0,6; 1.108,5; 21,1) | (0; 975; 0) | – | Kablo demeti (gosterim) | kafa gövdesi (boyun), kafa pan grubu, kafa |
| Taban | 306 (modülde 319) | 7.508,0 g | (-1,1; 119,5; -47,4) | (0; 0; 0) | – | Ana anahtar dugmesi (gosterim, kabuk deligi gerekir), Kablo yolu 1: 12 V ana hat: aku + -> XT60 -> ana sigorta 30 A -> ana anahtar -> sigorta kutusu, Kablo yolu 2: Toprak: aku - -> WAGO yildiz noktasi (guc paneli) -> tum donusturuculer, Kablo yolu 3: Motor 12 V: F1 20 A -> role -> WAGO -> BTS7960 sol/sag -> motor kablo delikleri -> 4 motor, Kablo yolu 4: Motor 12 V sag kol + arka motorlar (plaka altindan z 36 deliginden), Kablo yolu 5: Servo 6 V: F1 -> role -> WAGO -> XL4016 servo -> PCA9685 V+ -> direk arka yuzu -> omuz / kafa, Kablo yolu 6: Servo kablolari sola ve kafaya (direk ustu dagitim), Kablo yolu 7: Pi 5,1 V: F3 10 A -> XL4016 Pi -> Pi USB-C, Kablo yolu 8: Cevre 5 V: F4 5 A -> XL4016 cevre -> ESP32 / Nextion / 7in LCD / sensorler, Kablo yolu 9: Acil stop: F5 -> mantar (NC) -> role bobini, Kablo yolu 10: Sinyal: sonar x3 -> ESP32 (on ara ray ustunden), Kablo yolu 11: Sinyal: enkoder + BTS PWM/EN -> ESP32; Pi <-> ESP32 USB, Kablo yolu 12: Pi -> kafa: 2x HDMI (7in LCD), kamera FPC, USB mikrofon, hoparlor (direk on yuzu) | taban gövdesi, ön sağ teker, ön sol teker, arka sağ teker, arka sol teker |
| Toplam | 907 | 21.260,9 g | (-0,4; 374,6; -13,5) | 22 grup |
Kütle ve AM dosyadan geri okunarak hesaplandı (her parçanın Kutle_g özelliği ve katı kütle merkezi). Modül analizlerinin toplamı (iskelet + 2 × omuz, travers hariç + kabuk + 2 × dirsek + kafa + taban) = 21.260,9 g, carpisma.py = 21.260,9 g; fark -0,014 g (analiz JSON'ları 0,1 g'a yuvarlı). AM, carpisma.py sonucundan 0,007 mm farklı (yuvarlama). Parça sayısı 907 = iskelet 59 + 2 x (omuz 70 - travers - kabuk referansi) + kabuk 202 + dirsek_sag 53 + dirsek_sol 53 + kafa 98 + taban 306.
Eklemler
| Eklem | Tip | Bağladığı | Konum ve eksen (global, mm) | Sınır | Doğrulama sapması (kolun tüm pozlarında en büyük) | Sürükleme (GUI, yol boyunca) |
|---|---|---|---|---|---|---|
| Iskelet zemine sabit | Zemine sabit | iskelet | – | – | – | – |
| OmuzSag Govde -> iskelet (sabit) | Sabit (Fixed) | iskelet → sağ omuz gövde | (86,5; 955,0; 0,0) | – | – | omuz yuvasi travers ucunda, 4x M6 + cekic somun (arayuz.OMUZ_YUVA_X) |
| Sağ öne-arka (S1) | Döner (Revolute) | sağ omuz gövde → sağ omuz göbeği | (150,0; 955,0; 0,0) · yön (-1; 0; 0) | -45° … 135° | 2,3·10-10 mm · 4,9·10-11° (28 poz) | -43° … 98° arası sürüklendi |
| Sağ yana açma (S2) | Döner (Revolute) | sağ omuz göbeği → sağ üst kol | (185,0; 955,0; 20,2) · yön (0; 0; 1) | 0° … 120° | 2,3·10-10 mm · 4,9·10-11° (28 poz) | 0° … 120° arası sürüklendi |
| OmuzSol Govde -> iskelet (sabit) | Sabit (Fixed) | iskelet → sol omuz gövde | (-86,5; 955,0; 0,0) | – | – | omuz yuvasi travers ucunda, 4x M6 + cekic somun (arayuz.OMUZ_YUVA_X) |
| Sol öne-arka (S1) | Döner (Revolute) | sol omuz gövde → sol omuz göbeği | (-150,0; 955,0; 0,0) · yön (-1; 0; 0) | -45° … 135° | 2,3·10-10 mm · 4,9·10-11° (28 poz) | -43° … 0° arası sürüklendi |
| Sol yana açma (S2) | Döner (Revolute) | sol omuz göbeği → sol üst kol | (-185,0; 955,0; 20,2) · yön (0; 0; -1) | 0° … 120° | 2,3·10-10 mm · 4,9·10-11° (28 poz) | 0° … 34° arası sürüklendi |
| Kabuk Kabuk -> iskelet (sabit) | Sabit (Fixed) | iskelet → kabuk | (0,0; 600,0; 0,0) | – | – | govde braketleri direk yan kanallarina (4 braket x 2 M6), etek braketleri uzun ray ust kanallarina (6 x M6), cekic somunla (arayuz.KABUK_GOVDE_BRAKET / KABUK_ETEK_BRAKET) |
| DirsekSag UstKol -> omuz_sag (sabit) | Sabit (Fixed) | sağ üst kol → sağ dirsek çatalı | (185,0; 815,0; -1,2) | – | – | dirsek catali ust kol tupunun ucuna: pim + yarikli sikma bilezigi, 2x M3 (arayuz.DIRSEK) |
| Sağ dirsek | Döner (Revolute) | sağ dirsek çatalı → sağ ön kol | (216,6; 782,0; -1,2) · yön (-1; 0; 0) | 0° … 105° | 2,3·10-10 mm · 4,9·10-11° (16 poz) | 0° … 105° arası sürüklendi |
| Sağ bilek | Döner (Revolute) | sağ ön kol → sağ el | (185,0; 698,9; -1,2) · yön (0; 1; 0) | -90° … 90° | 2,3·10-10 mm · 4,9·10-11° (16 poz) | – |
| DirsekSol UstKol -> omuz_sol (sabit) | Sabit (Fixed) | sol üst kol → sol dirsek çatalı | (-185,0; 815,0; -1,2) | – | – | dirsek catali ust kol tupunun ucuna: pim + yarikli sikma bilezigi, 2x M3 (arayuz.DIRSEK) |
| Sol dirsek | Döner (Revolute) | sol dirsek çatalı → sol ön kol | (-216,6; 782,0; -1,2) · yön (-1; 0; 0) | 0° … 105° | 2,3·10-10 mm · 4,9·10-11° (16 poz) | – |
| Sol bilek | Döner (Revolute) | sol ön kol → sol el | (-185,0; 698,9; -1,2) · yön (0; -1; 0) | -90° … 90° | 2,3·10-10 mm · 4,9·10-11° (16 poz) | – |
| Kafa Govde -> iskelet (sabit) | Sabit (Fixed) | iskelet → kafa gövdesi (boyun) | (0,0; 975,0; 0,0) | – | – | boyun plakasi traversin ust kanalina 2x M6 + cekic somun (x = +-40, z = 0; arayuz.KAFA boyun_plaka) |
| Kafa pan | Döner (Revolute) | kafa gövdesi (boyun) → kafa pan grubu | (0,0; 1.019,6; 0,0) · yön (0; 1; 0) | -90° … 90° | 2,3·10-10 mm · 4,9·10-11° (15 poz) | -14° … 3° arası sürüklendi |
| Kafa tilt | Döner (Revolute) | kafa pan grubu → kafa | (26,9; 1.105,0; 25,0) · yön (1; 0; 0) | -25° … 30° | 2,3·10-10 mm · 4,9·10-11° (15 poz) | 0° … 30° arası sürüklendi |
| Taban Govde -> iskelet (sabit) | Sabit (Fixed) | iskelet → taban gövdesi | (0,0; 94,5; 0,0) | – | – | alt plaka uzun ve ara raylarin alt kanallarina 14x M6 + cekic somun (arayuz.TABAN plaka_ray_z / plaka_ara_x); motor braketleri plaka uzerinden uzun raylara M4 + cekic somun |
| Taban ön sağ teker | Döner (Revolute) | taban gövdesi → ön sağ teker | (178,0; 62,5; 185,0) · yön (1; 0; 0) | sınırsız (serbest dönüş) | 1,1·10-10 mm · 4,3·10-11° (8 poz) | – |
| Taban ön sol teker | Döner (Revolute) | taban gövdesi → ön sol teker | (-178,0; 62,5; 185,0) · yön (1; 0; 0) | sınırsız (serbest dönüş) | 1,1·10-10 mm · 4,3·10-11° (8 poz) | – |
| Taban arka sağ teker | Döner (Revolute) | taban gövdesi → arka sağ teker | (178,0; 62,5; -185,0) · yön (1; 0; 0) | sınırsız (serbest dönüş) | 1,1·10-10 mm · 4,3·10-11° (8 poz) | – |
| Taban arka sol teker | Döner (Revolute) | taban gövdesi → arka sol teker | (-178,0; 62,5; -185,0) · yön (1; 0; 0) | sınırsız (serbest dönüş) | 1,1·10-10 mm · 4,3·10-11° (8 poz) | – |
Pozitif açı: öne-arka = kol öne (+Z) kalkar, yana açma = kol dışarı açılır (sağda +X, solda −X). Çözücü sonrası kol ucu kontrolü: öne +90° → (±185; 955; 140), yana +90° → (±325; 955; 0); kafa pan +90° → kamera robotun sağına (+X), tilt +30° → yüz aşağı; teker +90° → tekerin alt noktası 62,5 mm geri (−Z) ve aks yüksekliğine (ileri yuvarlanma); hepsi doğru.
Eklem doğrulaması
Yöntem: FreeCAD 1.1'de Revolute açısı doğrudan sürülemiyor (Angle yalnız Angle ekleminde). Eklemler Create Simulation'ın kullandığı yolla sürüldü: her döner ekleme bir hareket (Motion, Angular, formül = açı × time), 0…1 s, 0,02 s adım. Her karede çözücünün verdiği grup yerleşimi, modülün kendi kinematiğiyle (omuz_parcalar.Pp/Pr, dirsek_parcalar ve kafa_parcalar.grup_yer, solda X aynasıyla T·R·P·R·T⁻¹) karşılaştırıldı. Sapma: grubun sınır kutusu köşelerindeki en büyük konum farkı ve dönüş farkı. Birim testi: formül 1 rad → 57,296° (formül radyan).
Sonuç: sınır içindeki 66 pozun (omuz sağ/sol 10'ar, omuz + dirsek + bilek sağ/sol 10'ar, iki kol birlikte 4, kafa pan × tilt 11, kafa + iki kol 3, teker 8) tüm karelerinde en büyük sapma 2,3·10-10 mm ve 4,9·10-11°; sürülmeyen gruplar (iskelet, omuz gövdeleri, kabuk, kafanın boynu, taban gövdesi, diğer kol) yerinde kaldı, dirsek grupları omuzla birlikte doğru taşındı. Eksenler ve sol aynalama doğru.
| Sürülen poz | Kare | Konum sapması mm | Dönüş sapması ° | Açı hatası ° |
|---|---|---|---|---|
| sağ öne 30° yana 0° | 52 | 9,8·10-11 | 1,7·10-11 | 1,7·10-11 |
| sağ öne 90° yana 0° | 52 | 3,4·10-11 | 6,0·10-12 | 6,0·10-12 |
| sağ öne 135° yana 0° | 52 | 1,1·10-10 | 2,0·10-11 | 2,0·10-11 |
| sağ öne -45° yana 0° | 52 | 1,5·10-10 | 2,6·10-11 | 2,6·10-11 |
| sağ öne 0° yana 60° | 52 | 1,3·10-10 | 2,3·10-11 | 2,3·10-11 |
| sağ öne 0° yana 120° | 52 | 6,3·10-11 | 1,1·10-11 | 1,1·10-11 |
| sağ öne 90° yana 90° | 52 | 3,7·10-11 | 8,4·10-12 | 6,0·10-12 |
| sağ öne -30° yana 45° | 52 | 1,7·10-10 | 3,1·10-11 | 2,6·10-11 |
| sağ öne 60° yana 30° | 52 | 1,6·10-10 | 2,9·10-11 | 2,3·10-11 |
| sağ öne 135° yana 120° | 52 | 9,6·10-11 | 2,3·10-11 | 2,0·10-11 |
| sol öne 30° yana 0° | 52 | 9,8·10-11 | 1,7·10-11 | 1,7·10-11 |
| sol öne 90° yana 0° | 52 | 3,4·10-11 | 6,0·10-12 | 6,0·10-12 |
| sol öne 135° yana 0° | 52 | 1,1·10-10 | 2,0·10-11 | 2,0·10-11 |
| sol öne -45° yana 0° | 52 | 1,5·10-10 | 2,6·10-11 | 2,6·10-11 |
| sol öne 0° yana 60° | 52 | 1,3·10-10 | 2,3·10-11 | 2,3·10-11 |
| sol öne 0° yana 120° | 52 | 6,4·10-11 | 1,1·10-11 | 1,1·10-11 |
| sol öne 90° yana 90° | 52 | 3,7·10-11 | 8,4·10-12 | 6,0·10-12 |
| sol öne -30° yana 45° | 52 | 1,7·10-10 | 3,1·10-11 | 2,6·10-11 |
| sol öne 60° yana 30° | 52 | 1,6·10-10 | 2,9·10-11 | 2,3·10-11 |
| sol öne 135° yana 120° | 52 | 9,6·10-11 | 2,3·10-11 | 2,0·10-11 |
| sağ öne 0° yana 0° dirsek 30° bilek 0° | 52 | 4,7·10-11 | 1,7·10-11 | 1,7·10-11 |
| sağ öne 0° yana 0° dirsek 60° bilek 45° | 52 | 7,8·10-11 | 3,5·10-11 | 2,6·10-11 |
| sağ öne 0° yana 0° dirsek 105° bilek -90° | 52 | 2,0·10-11 | 6,3·10-12 | 5,9·10-12 |
| sağ öne 0° yana 0° dirsek 90° bilek 90° | 52 | 2,5·10-11 | 8,3·10-12 | 6,0·10-12 |
| sağ öne 90° yana 0° dirsek 90° bilek 45° | 52 | 5,1·10-11 | 2,8·10-11 | 2,6·10-11 |
| sağ öne 45° yana 60° dirsek 60° bilek -45° | 52 | 1,1·10-10 | 3,5·10-11 | 2,6·10-11 |
| sağ öne 135° yana 120° dirsek 105° bilek 90° | 52 | 8,6·10-11 | 2,6·10-11 | 2,0·10-11 |
| sağ öne -45° yana 30° dirsek 0° bilek -90° | 52 | 1,6·10-10 | 3,1·10-11 | 2,6·10-11 |
| sağ öne 60° yana 30° dirsek 45° bilek 30° | 52 | 9,7·10-11 | 2,9·10-11 | 2,6·10-11 |
| sağ öne 90° yana 90° dirsek 105° bilek -60° | 52 | 4,6·10-11 | 3,1·10-11 | 2,3·10-11 |
| sol öne 0° yana 0° dirsek 30° bilek 0° | 52 | 4,7·10-11 | 1,7·10-11 | 1,7·10-11 |
| sol öne 0° yana 0° dirsek 60° bilek 45° | 52 | 7,8·10-11 | 3,5·10-11 | 2,6·10-11 |
| sol öne 0° yana 0° dirsek 105° bilek -90° | 52 | 2,0·10-11 | 6,4·10-12 | 5,9·10-12 |
| sol öne 0° yana 0° dirsek 90° bilek 90° | 52 | 2,5·10-11 | 8,3·10-12 | 6,0·10-12 |
| sol öne 90° yana 0° dirsek 90° bilek 45° | 52 | 5,1·10-11 | 2,8·10-11 | 2,6·10-11 |
| sol öne 45° yana 60° dirsek 60° bilek -45° | 52 | 1,1·10-10 | 3,5·10-11 | 2,6·10-11 |
| sol öne 135° yana 120° dirsek 105° bilek 90° | 52 | 8,5·10-11 | 2,6·10-11 | 2,0·10-11 |
| sol öne -45° yana 30° dirsek 0° bilek -90° | 52 | 1,6·10-10 | 3,1·10-11 | 2,6·10-11 |
| sol öne 60° yana 30° dirsek 45° bilek 30° | 52 | 9,7·10-11 | 2,9·10-11 | 2,6·10-11 |
| sol öne 90° yana 90° dirsek 105° bilek -60° | 52 | 4,6·10-11 | 3,1·10-11 | 2,3·10-11 |
| sağ öne 90° yana 45°; sol öne 90° yana 45° | 52 | 1,5·10-10 | 2,6·10-11 | 2,6·10-11 |
| sağ öne 120° yana 30°; sol öne -30° yana 90° | 52 | 1,2·10-10 | 2,0·10-11 | 1,7·10-11 |
| sağ öne 90° yana 0° dirsek 60° bilek 45°; sol öne 90° yana 0° dirsek 60° bilek -45° | 52 | 1,0·10-10 | 3,9·10-11 | 2,6·10-11 |
| sağ öne 30° yana 20° dirsek 105° bilek 90°; sol öne -30° yana 40° dirsek 30° bilek -90° | 52 | 1,0·10-10 | 2,3·10-11 | 1,7·10-11 |
| kafa pan 30° tilt 0° | 52 | 4,2·10-11 | 1,7·10-11 | 1,7·10-11 |
| kafa pan 90° tilt 0° | 52 | 1,4·10-11 | 5,9·10-12 | 5,9·10-12 |
| kafa pan -90° tilt 0° | 52 | 1,4·10-11 | 5,8·10-12 | 5,9·10-12 |
| kafa pan -45° tilt 0° | 52 | 6,2·10-11 | 2,6·10-11 | 2,6·10-11 |
| kafa pan 0° tilt 30° | 52 | 5,2·10-11 | 1,7·10-11 | 1,7·10-11 |
| kafa pan 0° tilt -25° | 52 | 7,2·10-11 | 2,4·10-11 | 2,4·10-11 |
| kafa pan 60° tilt 20° | 52 | 8,2·10-11 | 2,4·10-11 | 2,3·10-11 |
| kafa pan -75° tilt -15° | 52 | 5,5·10-11 | 1,7·10-11 | 1,5·10-11 |
| kafa pan 90° tilt 30° | 52 | 6,3·10-11 | 1,8·10-11 | 1,7·10-11 |
| kafa pan -90° tilt -25° | 52 | 8,0·10-11 | 2,5·10-11 | 2,4·10-11 |
| kafa pan 45° tilt -10° | 52 | 1,2·10-10 | 3,6·10-11 | 2,6·10-11 |
| sağ öne 20° yana 100° dirsek 95° bilek -60°; sol öne 10° yana 10° dirsek 30° bilek 0°; kafa pan 30° tilt -10° | 52 | 2,3·10-10 | 4,9·10-11 | 2,5·10-11 |
| sağ öne 90° yana 0° dirsek 60° bilek 45°; sol öne 90° yana 0° dirsek 60° bilek -45°; kafa pan -60° tilt 20° | 52 | 1,0·10-10 | 3,9·10-11 | 2,6·10-11 |
| sağ öne 45° yana 60° dirsek 60° bilek -45°; sol öne -30° yana 30° dirsek 0° bilek 0°; kafa pan 75° tilt 25° | 52 | 1,3·10-10 | 3,5·10-11 | 2,6·10-11 |
| teker ön sağ 90° ön sol 0° arka sağ 0° arka sol 0° | 52 | 1,0·10-11 | 6,0·10-12 | 6,0·10-12 |
| teker ön sağ 0° ön sol -45° arka sağ 0° arka sol 0° | 52 | 4,3·10-11 | 2,6·10-11 | 2,6·10-11 |
| teker ön sağ 0° ön sol 0° arka sağ 180° arka sol 0° | 52 | 2,1·10-11 | 1,2·10-11 | 1,2·10-11 |
| teker ön sağ 0° ön sol 0° arka sağ 0° arka sol -120° | 52 | 1,9·10-11 | 1,1·10-11 | 1,1·10-11 |
| teker ön sağ 30° ön sol 30° arka sağ 30° arka sol 30° | 52 | 2,9·10-11 | 1,7·10-11 | 1,7·10-11 |
| teker ön sağ -75° ön sol 75° arka sağ -75° arka sol 75° | 52 | 2,4·10-11 | 1,5·10-11 | 1,5·10-11 |
| teker ön sağ 400° ön sol -200° arka sağ 135° arka sol -720° | 52 | 3,3·10-11 | 2,0·10-11 | 2,0·10-11 |
| sağ öne 90° yana 0° dirsek 60° bilek 45°; sol öne -30° yana 30° dirsek 30° bilek -45°; kafa pan 30° tilt 10°; teker ön sağ 60° ön sol 60° arka sağ 60° arka sol 60° | 52 | 1,1·10-10 | 4,3·10-11 | 2,6·10-11 |
Sınır dışına sürülünce
Simülasyon sınırları uygulamıyor: komut edilen açı aynen izleniyor. solve() da (GUI'de Solve, doc.recompute()) elle verilen sınır dışı pozu geri çekmiyor. Sınırlar yalnız fareyle sürüklemede durduruyor (aşağıdaki GUI tablosu).
| Simülasyonla sürülen | Ölçülen açı | Konum sapması mm | Davranış |
|---|---|---|---|
| sağ öne 160° yana 0° | 160,0° | 2,3·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ öne 180° yana 0° | 180,0° | 6,6·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ öne -60° yana 0° | -60,0° | 1,3·10-10 | sınır uygulanmadı, komut aynen izlendi |
| sağ öne 0° yana 140° | 140,0° | 2,0·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ öne 0° yana -15° | -15,0° | 4,9·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol öne 160° yana 0° | 160,0° | 2,3·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol öne 180° yana 0° | 180,0° | 6,6·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol öne -60° yana 0° | -60,0° | 1,3·10-10 | sınır uygulanmadı, komut aynen izlendi |
| sol öne 0° yana 140° | 140,0° | 2,0·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol öne 0° yana -15° | -15,0° | 4,9·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ dirsek 120° bilek 0° | 120,0° | 3,0·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ dirsek -20° bilek 0° | -20,0° | 2,1·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sağ dirsek 0° bilek 120° | 120,0° | 8,1·10-12 | sınır uygulanmadı, komut aynen izlendi |
| sol dirsek 120° bilek 0° | 120,0° | 3,1·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol dirsek -20° bilek 0° | -20,0° | 2,1·10-11 | sınır uygulanmadı, komut aynen izlendi |
| sol dirsek 0° bilek 120° | 120,0° | 7,8·10-12 | sınır uygulanmadı, komut aynen izlendi |
| kafa pan 120° tilt 0° | 120,0° | 2,7·10-11 | sınır uygulanmadı, komut aynen izlendi |
| kafa pan 180° tilt 0° | 180,0° | 3,0·10-11 | sınır uygulanmadı, komut aynen izlendi |
| kafa pan 0° tilt 40° | 40,0° | 4,6·10-11 | sınır uygulanmadı, komut aynen izlendi |
| kafa pan 0° tilt -35° | -35,0° | 2,9·10-12 | sınır uygulanmadı, komut aynen izlendi |
| Elle verilen poz + solve() | Sınır içinde | Solve sonrası açı | Konum sapması mm |
|---|---|---|---|
| sağ öne 90° yana 45° | evet | öne 90° · yana 45° | 4,8·10-13 |
| sağ öne 160° yana 0° | hayır | öne 160° · yana 0° | 7,1·10-13 |
| sağ öne 0° yana 140° | hayır | öne 0° · yana 140° | 3,4·10-13 |
| sağ öne -60° yana 0° | hayır | öne -60° · yana 0° | 7,0·10-13 |
| sol öne 90° yana 45° | evet | öne 90° · yana 45° | 6,1·10-13 |
| sol öne 160° yana 0° | hayır | öne 160° · yana 0° | 6,9·10-13 |
| sol öne 0° yana 140° | hayır | öne 0° · yana 140° | 4,6·10-13 |
| sol öne -60° yana 0° | hayır | öne -60° · yana 0° | 7,1·10-13 |
| sağ dirsek 60° bilek 45° | evet | dirsek 60° · bilek 45° | 5,9·10-13 |
| sağ dirsek 125° bilek 0° | hayır | dirsek 125° · bilek 0° | 3,8·10-13 |
| sağ dirsek 30° bilek -110° | hayır | dirsek 30° · bilek -110° | 2,7·10-13 |
| sol dirsek 60° bilek 45° | evet | dirsek 60° · bilek 45° | 5,8·10-13 |
| sol dirsek 125° bilek 0° | hayır | dirsek 125° · bilek 0° | 2,8·10-13 |
| sol dirsek 30° bilek -110° | hayır | dirsek 30° · bilek -110° | 2,6·10-13 |
| kafa pan 45° tilt 20° | evet | pan 45° · tilt 20° | 6,1·10-13 |
| kafa pan 120° tilt 0° | hayır | pan 120° · tilt 0° | 2,8·10-13 |
| kafa pan 0° tilt 40° | hayır | pan 0° · tilt 40° | 2,5·10-13 |
| teker ön sağ 30° ön sol -60° arka sağ 200° arka sol 0° | evet | ön sağ 30° · ön sol -60° · arka sağ -160° · arka sol 0° | 2,2·10-13 |
GUI'de açılış ve sürükleme
montaj_gui_kontrol.py dosyayı FreeCAD arayüzünde hiçbir düzeltme yapmadan açtı: 907/907 parça ve 22 grup görünür, 22 eklemin hepsinin görünüm nesnesi var ve görünür (ViewProviderGroundedJoint, ViewProviderJoint), hepsi ağaçta seçilebiliyor, 14 döner eklemin (dirsek ve bilek dahil) işareti 3B görünümde tıklanınca eklemin kendisi seçiliyor. Robot montajı etkinleştirildi (çift tık karşılığı) ve kol, Qt fare olaylarıyla 3B görünümde sürüklendi. Simülasyon Kollari_oynat (14 hareket) görünüm nesnesiyle açılıyor.
Sürükleme denemeleri
| # | Kol | Deneme | Tutulan parça | Öne-arka (yol boyunca) | Yana (yol boyunca) | Dirsek (yol boyunca) | Bırakınca |
|---|---|---|---|---|---|---|---|
| 1 | sağ | yana açma, dışarı | OmuzSag_P065 | 0,0° … 0,0° | 0,0° … 64,7° | 0,0° … 0,0° | öne 0,0° · yana 64,7° · dirsek 0,0° |
| 2 | sağ | yana açma, daha dışarı | OmuzSag_P065 | 0,0° … 0,0° | 0,0° … 112,2° | 0,0° … 0,0° | öne 0,0° · yana 112,2° · dirsek 0,0° |
| 3 | sağ | yana açma, çok dışarı (sınır 120) | OmuzSag_P065 | 0,0° … 90,1° | 0,0° … 120,0° | 0,0° … 105,0° | öne 0,5° · yana 120,0° · dirsek 0,2° |
| 4 | sağ | yana açma, içeri (sınır 0) | OmuzSag_P065 | -0,1° … 0,0° | 0,0° … 0,0° | 0,0° … 0,2° | öne -0,1° · yana 0,0° · dirsek 0,2° |
| 5 | sol | yana açma, dışarı | Kabuk_P007 | 0,0° … 0,0° | 0,0° … 33,7° | 0,0° … 0,0° | öne 0,0° · yana 33,7° · dirsek 0,0° |
| 6 | sağ | öne kaldırma, kol tüpünden (yan görünüm) | OmuzSag_P065 | 0,0° … 0,0° | 0,0° … 0,0° | 0,0° … 0,0° | öne 0,0° · yana 0,0° · dirsek 0,0° |
| 7 | sağ | öne kaldırma, göbekten (yan görünüm) | OmuzSag_P038 | -43,0° … 0,0° | 0,0° … 0,0° | 0,0° … 0,0° | öne -43,0° · yana 0,0° · dirsek 0,0° |
| 8 | sağ | öne kaldırma, göbekten çok (sınır 135) | OmuzSag_P038 | -43,0° … 0,0° | 0,0° … 0,0° | 0,0° … 0,0° | öne -43,0° · yana 0,0° · dirsek 0,0° |
| 9 | sağ | arkaya, göbekten (sınır -45) | OmuzSag_P038 | 0,0° … 97,8° | 0,0° … 0,0° | 0,0° … 0,0° | öne 97,8° · yana 0,0° · dirsek 0,0° |
| 10 | sol | öne kaldırma, göbekten (yan görünüm) | OmuzSol_P038 | -43,0° … 0,0° | 0,0° … 0,0° | 0,0° … 0,0° | öne -43,0° · yana 0,0° · dirsek 0,0° |
| 11 | sağ | dirsek bukme, on koldan (yan görünüm) | DirsekSag_P016 | 0,0° … 0,0° | 0,0° … 0,0° | 0,0° … 71,5° | öne 0,0° · yana 0,0° · dirsek 71,5° |
Kafa sürükleme denemeleri
| # | Deneme | Tutulan parça | Pan (yol boyunca) | Tilt (yol boyunca) | Bırakınca |
|---|---|---|---|---|---|
| 1 | pan: kafadan (tepeden) tutup yana | Kafa_P073 | 0,0° … 0,0° | 0,0° … 0,0° | pan 0,0° · tilt 0,0° |
| 2 | pan: boyun milinden (onden) tutup sağa | Kafa_P035 | -3,4° … 0,0° | 0,0° … 0,0° | pan -3,4° · tilt 0,0° |
| 3 | pan: boyun milinden çok sağa (sınır 90) | Kafa_P035 | -13,9° … 0,0° | 0,0° … 0,0° | pan -13,9° · tilt 0,0° |
| 4 | pan: boyun milinden sola | Kafa_P035 | 0,0° … 3,5° | 0,0° … 0,0° | pan 3,5° · tilt 0,0° |
| 5 | tilt: yüzden tutup aşağı | Kafa_P073 | 0,0° … 0,0° | 0,0° … 30,0° | pan 0,0° · tilt 30,0° |
| 6 | tilt: çok (sınır -25...30) | Kafa_P073 | 0,0° … 0,0° | 0,0° … 30,0° | pan 0,0° · tilt 30,0° |
Yana açma: sürüklemede 120°'de ve 0°'da duruyor. Öne-arka: göbekten sürüklemede −45° ile 135° arasında kaldı; kol tüpünden sürüklemede dönmedi (açık işler). Dirsek: ön koldan sürüklemede döndü ve 0…105° içinde kaldı. Kol uzadığı için yana açmayı sınıra zorlayan sürüklemede çözücü serbest zinciri (öne-arka, dirsek) de sallayabiliyor; bırakınca açılar yine sınırlar içinde.
Çakışma (carpisma.py, bölümlü tam koşu)
2026-10-08: birlestirilmemis, tek seferlik tam kosu (kosu 20261008-221731, 2026-10-08T22:18:16 ... 2026-10-08T23:44:43). Dokuz bolum (statik, omuz, kol_sag, kol_sol, kolkol, kafa_sabit, kafa_sag, kafa_sol, taban) ayri freecadcmd sureclerinde sirayla kostu; her bolumun suresi ve tepe bellegi 'bolumler'de. Tum bolumler ayni kaynak dosyalarla (md5 ozetleri 'kaynak') kostu; onceki kosulardan veri alinmadi. Her bölüm ayrı bir freecadcmd sürecinde sırayla koştu (python carpisma_kos.py); süre ve tepe bellek (çalışma kümesi) bölüm başına:
| Bölüm | Durum | Başlangıç | Süre (yükleme + tarama) | Tepe bellek |
|---|---|---|---|---|
| ev pozu + kütle | tamam | 2026-10-08T22:18:16 | 44 s + 10 s | 510 MB |
| omuz pozları | tamam | 2026-10-08T22:19:06 | 39 s + 1.693 s | 499 MB |
| sağ kol zinciri | tamam | 2026-10-08T22:48:00 | 37 s + 301 s | 510 MB |
| sol kol zinciri | tamam | 2026-10-08T22:53:35 | 34 s + 298 s | 499 MB |
| kol ↔ kol | tamam | 2026-10-08T22:58:38 | 5 s + 29 s | 125 MB |
| kafa × sabit | tamam | 2026-10-08T22:59:41 | 33 s + 19 s | 503 MB |
| kafa × sağ kol | tamam | 2026-10-08T23:00:06 | 5 s + 1.099 s | 647 MB |
| kafa × sol kol | tamam | 2026-10-08T23:18:32 | 7 s + 1.467 s | 644 MB |
| taban | tamam | 2026-10-08T23:43:53 | 54 s + 51 s | 553 MB |
Omuz taraması (yalnız omuz parçaları)
| Hareketli modül | Poz | Çakışan poz | Eklem aralığında | En küçük boşluk | En yakın çift |
|---|---|---|---|---|---|
| Sağ omuz | 875 | 88 | 0 | 0,0 mm | Kol catali ↔ kabuk / Omuz bandi sag, öne -60° yana -20° |
| Sol omuz | 875 | 88 | 0 | 0,0 mm | Kol catali ↔ kabuk / Omuz bandi sol, öne -60° yana -20° |
Omuz tarama aralığı: omuz_montaj taramasi: one-arka -60...180, yana -20...150 (5-10 derece adim). Aralık dışındaki çakışmalar eklem sınırlarıyla engelleniyor.
Kol zinciri taraması (omuz × dirsek × bilek, dirsek parçaları)
Kaba ızgara: öne-arka -45…135° (15° adım), yana 0…120° (15°), dirsek [0, 30, 60, 90, 105], bilek [-90, 0, 90] = kol başına 1755 poz; aralık dışı halka 279 poz; 5 mm'nin altında boşluk kalan alt pozların çevresi 5° adımla yeniden tarandı (188 alt poz). Eklem aralığında çakışma: sağ 0, sol 0; aralık dışı halkada sağ 63, sol 63 poz (yana −10°: el kabuğa değiyor; omuz yana sınırı 0° bunu engelliyor). Kol ↔ kol (iki kol aynı anda, 227 poz çifti: simetrik, zıt, birlikte öne): çakışma 0, en küçük boşluk 290 mm.
| Kol | Hedef | En küçük boşluk (eklem aralığında) | Parça çifti | Poz |
|---|---|---|---|---|
| Sağ kol | kabuk | 3,8 mm | Dirsek catali ↔ Gogus bandi sag | öne 40° yana 0° |
| Sağ kol | omuz_sag govde | 69,7 mm | Dirsek catali ↔ Omuz yuvasi | öne -30° yana 0° |
| Sağ kol | omuz_sag gobek | 81,4 mm | Dirsek catali ↔ Omuz gobegi | öne 120° yana 120° |
| Sağ kol | iskelet | 102,7 mm | Dirsek catali ↔ Omuz traversi | öne -45° yana 0° |
| Sol kol | kabuk | 3,8 mm | Dirsek catali ↔ Gogus bandi sol | öne 40° yana 0° |
| Sol kol | omuz_sol govde | 69,7 mm | Dirsek catali ↔ Omuz yuvasi | öne -30° yana 0° |
| Sol kol | omuz_sol gobek | 81,4 mm | Dirsek catali ↔ Omuz gobegi | öne 120° yana 120° |
| Sol kol | iskelet | 102,7 mm | Dirsek catali ↔ Omuz traversi | öne -45° yana 0° |
Kafa taraması (pan × tilt; sabit modüller ve iki kolun pozlarıyla)
Kafa pan -180…165° (15°) × tilt [-25, -10, 0, 10, 20, 30, 40] = 168 kafa pozu; eklem aralığı pan -90…90°, tilt -25…30°. Her kol: kol zinciri kaba ızgarası + 15 jest pozu = 1770 kol pozu × kafa pozları (sıkı sınır kutusu ön elemesi, 5 mm altındaki her aday tam ölçüldü, çakışan / 5 mm altı çiftlerin çevresi bir tur ±10° içinde 5° adımla; ardından yasak bölgenin sınırı: çakışan her çiftin eksen komşuları 5° (bilek 15°) adımla, yeni çakışma kalmayana dek (sağ 8 tur, sol 8 tur; yakınsadı)). Eklem aralığında: kafa × sabit modüller 0 çakışma; kafa × kol sağ 603, sol 603 çakışan poz çifti. Süre 2.585 s.
| Tarama | Hedef | En küçük boşluk (eklem aralığında) | Parça çifti | Poz |
|---|---|---|---|---|
| Kafa | iskelet (kafa govdesi) | 0,0 mm | Boyun plakasi ↔ Omuz traversi | sabit boyun |
| Kafa | kabuk (kafa govdesi) | 8,4 mm | Boyun plakasi ↔ Omuz bandi sag | sabit boyun |
| Kafa | omuz_sag govde (kafa govdesi) | 22,0 mm | Boyun plakasi ↔ Omuz yuvasi | sabit boyun |
| Kafa | omuz_sol govde (kafa govdesi) | 22,0 mm | Boyun plakasi ↔ Omuz yuvasi | sabit boyun |
| Kafa | iskelet | 43,0 mm | Pan horn merkez vidasi M3 ↔ Omuz traversi | pan -90° |
| Kafa | omuz_sag govde | 51,6 mm | Arka kafa kabugu ↔ Yuva baglanti civatasi M6x16 | pan -30° tilt -25° |
| Kafa | omuz_sol govde | 51,6 mm | Arka kafa kabugu ↔ Yuva baglanti civatasi M6x16 | pan 30° tilt -25° |
| Kafa | kabuk | 54,2 mm | Arka kafa kabugu ↔ Omuz bandi sag | pan -90° tilt -25° |
| Kafa ↔ sağ kol | el | çakışma | El ↔ Yuz kabugu (on) | kol (135° / 0° / 90° / -90°); kafa 45° / 30° |
| Kafa ↔ sağ kol | on kol | 25,7 mm | On kol govdesi ↔ Vizor (siyah akrilik) | kol (135° / 0° / 90°); kafa 30° / 30° |
| Kafa ↔ sağ kol | dirsek catali | 55,4 mm | Dirsek catali ↔ Vizor (siyah akrilik) | kol (135° / 0°); kafa 15° / 30° |
| Kafa ↔ sağ kol | omuz | 58,8 mm | Ust kol tupu ↔ Yuz kabugu (on) | kol (135° / 0°); kafa 15° / 20° |
| Kafa ↔ sol kol | el | çakışma | El ↔ Yuz kabugu (on) | kol (135° / 0° / 90° / -90°); kafa -45° / 30° |
| Kafa ↔ sol kol | on kol | 25,7 mm | On kol govdesi ↔ Vizor (siyah akrilik) | kol (135° / 0° / 90°); kafa -30° / 30° |
| Kafa ↔ sol kol | dirsek catali | 55,4 mm | Dirsek catali ↔ Vizor (siyah akrilik) | kol (135° / 0°); kafa -15° / 30° |
| Kafa ↔ sol kol | omuz | 58,8 mm | Ust kol tupu ↔ Yuz kabugu (on) | kol (135° / 0°); kafa -15° / 20° |
Yasak poz bölgesi (yazılım sınırı): aşağıdaki kol pozlarında kafa belirtilen açılara dönmemeli. Ayrıntı ve jest pozları kafa/rapor.html'de.
| Kol, grup | Çakışan alt poz | Kol açıları (aralık) | Kafa (pan / tilt aralığı) | Çakışan çift |
|---|---|---|---|---|
| sağ kol, El | 198 | öne 125…135° · yana 0…0° · dirsek 70…105° · bilek -90…90° | pan 30…55°, tilt 25…30° | El / Yuz kabugu (on) |
| sol kol, El | 198 | öne 125…135° · yana 0…0° · dirsek 70…105° · bilek -90…90° | pan -55…-30°, tilt 25…30° | El / Yuz kabugu (on) |
Taban taraması
Ev pozu: taban ↔ her modül; kutusu kesişen her çift gerçek kesişimle (common) sınandı, 1 mm içindekiler ölçüldü (temas = 0 mm, hacim ≤ 0,5 mm³).
| Modül | Kutu kesişen çift | Çakışma | Temas | En küçük boşluk | En yakın çift |
|---|---|---|---|---|---|
| İskelet | 97 | 0 | 44 | 0,0 mm | Alt plaka ↔ Sase uzun rayi sag |
| Sağ omuz | 0 | 0 | 0 | 550,9 mm | Acil stop mantari + bilezik ↔ Ust kol tupu |
| Sol omuz | 0 | 0 | 0 | 582,8 mm | Ana anahtar ASW-A01 govdesi (tahmini zarf) ↔ Ust kol tupu |
| Kabuk | 365 | 0 | 1 | 0,0 mm | Acil stop mantari + bilezik ↔ Etek arka sag |
| Sağ dirsek | 0 | 0 | 0 | 377,1 mm | Acil stop mantari + bilezik ↔ El |
| Sol dirsek | 0 | 0 | 0 | 407,3 mm | Ana anahtar ASW-A01 govdesi (tahmini zarf) ↔ El |
| Kafa | 0 | 0 | 0 | 695,6 mm | Acil stop mantari + bilezik ↔ Cekic somun M6 (travers ust kanali) |
Kollar × taban: her kolun kol zinciri ızgarası (1755 poz) + aralık dışı halka (279) + 15 jest pozunun tüm alt pozları × taban parçaları, ana anahtar düğmesi gösterimi ve etek; kategori başına en küçük boşluk dal-sınırla, çevresi 5° adımla. Eklem aralığında çakışma sağ 0, sol 0; kolun en alt noktası y ≈ 626 mm, tabanın en üstü y = 290 mm.
| Kol | Hedef | En küçük boşluk (eklem aralığında) | Parça çifti | Kol pozu (öne / yana / dirsek / bilek) |
|---|---|---|---|---|
| Sağ kol | etek (kabuk) | 365,4 mm | El ↔ Etek orta sag | 0° / 0° / 10° / -15° |
| Sağ kol | acil stop | 367,0 mm | El ↔ Acil stop mantari + bilezik | -10° / 0° / 0° / -75° |
| Sağ kol | ana anahtar dugmesi | 431,4 mm | El ↔ Ana anahtar dugmesi (gosterim, kabuk deligi gerekir) | -20° / 0° / 0° / 75° |
| Sağ kol | taban diger | 432,5 mm | El ↔ ESP32 DevKit 30 pin | 5° / 0° / 10° / 0° |
| Sağ kol | sonar | 543,7 mm | El ↔ Sonar tutucu sag | 15° / 0° / 10° / 0° |
| Sol kol | etek (kabuk) | 365,9 mm | El ↔ Etek orta sol | 5° / 0° / 5° / -15° |
| Sol kol | ana anahtar dugmesi | 376,0 mm | El ↔ Ana anahtar dugmesi (gosterim, kabuk deligi gerekir) | -10° / 0° / 0° / -75° |
| Sol kol | taban diger | 398,5 mm | El ↔ Ana anahtar ASW-A01 govdesi (tahmini zarf) | -10° / 0° / 5° / -90° |
| Sol kol | acil stop | 420,9 mm | El ↔ Acil stop mantari + bilezik | -20° / 0° / 0° / 75° |
| Sol kol | sonar | 543,7 mm | El ↔ Sonar tutucu sol | 15° / 0° / 10° / 0° |
Kafa × taban: kafanın tüm pan × tilt pozlarında en alt noktası y = 965 mm, tabanın en üstü 290 mm: aralarında 675 mm; ölçüm gerekmedi (sınır kutusu).
Ev pozunda 0 çakışma (693 sınır kutusu kesişen çift gerçek kesişimle sınandı). Eklem aralığında toplam 1206, aralık dışı dahil 1590. Tüm modüller çizildi: ayrılmış bölge kalmadı, her modül gerçek geometrisiyle tarandı.
FreeCAD'de kolları oynatmak
- FreeCAD 1.1'de Dosya → Aç ile
tasarim/freecad/montaj/robot-montaj.FCStddosyasını aç. Model ağacında Robot montajı, altında Eklemler (22 eklem) ve 22 parça grubu görünür. - Ağaçta Robot'a çift tıkla: montaj etkinleşir (Assembly tezgâhı açılır, eklem işaretleri görünür).
- Kolu fareyle tut ve sürükle: yana açma için mavi üst kol tüpünden, öne kaldırma için omuz göbeğinden (mavi kutu) tut. Eklem sınırlarında kol durur. Göbek eksene yakın olduğu için küçük fare hareketi büyük dönüş verir; yavaş sürükle. Dirsek için ön kolu (mavi, servolu gövde) tutup öne-yukarı sürükle; bilek fareyle zor tutulur (el küçük), simülasyonla oynat.
- Kafa: tilt için kafayı yüzünün yanından tutup aşağı-yukarı sürükle (−25…30°'de durur). Pan için kafanın altındaki boyun milini (turuncu, kabuk kapağıyla kafa arasında) tut ve yana sürükle: mil eksene yakın, küçük fare hareketi büyük dönüş verir; kafadan tutunca yalnız tilt döner. Kesin açı için simülasyon.
- Hazır hareket için ağaçta Simulations → Kollari_oynat'a çift tıkla, açılan panelde Run Kinematics (kinematiği çalıştır) düğmesine, sonra ▶ (ileri oynat) düğmesine bas. Paneli OK ile kapat. Kollar son karede kalır; sıfır pozuna dönmek için dosyayı kaydetmeden kapatıp yeniden aç.
Kararlar
- Sol omuz gerçek aynalı geometri: Placement aynalama yapamaz; sağ omuzun her parçasının şekli
mirrorile X'te aynalanıp konumuna kopyalanarak taşındı (transformShape(m, True)). Hacim farkı 3,8·10<sup>-10</sup> mm³, aynalı parçaların kendi kütle merkezi ile aynalanmış yerel merkez farkı 5,9·10<sup>-13</sup> mm. Sol parçaların adı "(sol)" ile bitiyor,Aynaliözelliği doğru. - Yerleşim yalnız
arayuz.MODULLER'den: Ana montajda tek bir yerleşim sayısı yazılmadı. Omuz yuvası sabit eklem noktasıarayuz.OMUZ_YUVA_Xortası (x = ±86,5). Eklem eksenleri ve sınırlarıomuz/omuz-montaj.FCStd'deki eklemlerden okunuyor, solda eksen eksenel vektör olarak aynalanıyor (a′ = −M·a): öne-arka ekseni her iki kolda −X, yana açma ekseni sağda +Z, solda −Z. Böylece pozitif açı iki kolda da aynı hareketi veriyor. - Öne-arka sınırı neden −45…135°, serbest aralık −60…180° iken: −60…180° omuz taramasında *çarpışmanın olmadığı* aralık (geometri sınırı). Eklem sınırı ise servonun dönebildiği aralık: DS3218MG'nin 180° sürümü, horn kol aşağıdayken servo 45° konumunda takılıyor (omuz montaj sırası, 5. adım). Servo 0…180° → eklem −45…135°. Yana açmada sınır 0…120° (omuz_montaj); 0°'nin altında kol gövdeye çarpıyor (omuz taraması yana −20…−5°). 270° servo alınırsa sınırlar −60…180°'e kadar açılabilir (geometri izin veriyor); o zaman
omuz_montaj.pygüncellenip ana montaj yeniden kurulur. - Dirsek modülü omuz zincirine bağlı: her dirsek çatalı omuzun Kol grubuna sabit eklemle (üst kol tüpünün ucu, pim + sıkma bileziği) bağlı; her kolda üst kol → ön kol (dirsek, 0…105°) ve ön kol → el (bilek, −90…90°) döner eklemleri. Eksen ve sınırlar
dirsek/dirsek-montaj.FCStd'den okunuyor vearayuz.DIRSEKile karşılaştırılıyor; solda eksen aynalanıyor. Pozitif dirsek açısı iki kolda ön kolu öne büker, pozitif bilek açısı avucu öne çevirir. Sol dirsek sağın gerçek aynalı geometrisi. - Kafa modülü: kafanın sabit boynu (boyun plakası + servo/rulman yuvası + pan servosu) traverse sabit eklemle bağlı; sabit boyun → pan grubu (pan, −90…90°, eksen +Y) ve pan grubu → kafa (tilt, −25…30°, eksen +X, y = 1.105, z = 25) döner eklemleri. Eksen ve sınırlar
kafa/kafa-montaj.FCStd'den okunuparayuz.KAFAile karşılaştırılıyor. Ana montajda gruplar Kafa_Govde / Kafa_Boyun / Kafa_Bas (eklem adları Kafa_Pan / Kafa_Tilt ile çakışmasın diye). Kablo demeti gösterimi (Referans, 0 g) ana montajda yok. - Travers bir kez sayılıyor: Omuz modülünün içindeki 200 mm traversi iskeletin parçası; ana montajda yalnız iskeletinki var. Omuzdaki kabuk duvarı (referans, 0 g) ana montajda yok; yerini gerçek kabuk modülü aldı (
kabuk/). Parça sayısı 907 = iskelet 59 + 2 x (omuz 70 - travers - kabuk referansi) + kabuk 202 + dirsek_sag 53 + dirsek_sol 53 + kafa 98 + taban 306. - Taban modülü: taban gövdesi (plakalar, motorlar, akü, güç, elektronik katı, sonar, acil stop) uzun raya sabit eklemle bağlı; her köşede teker grubu (teker + kaplin + M4 eksenel vida ve pulu) taban gövdesine sınırsız döner eklemle (motor mili ekseni +X, teker merkezi x ±178, y 62,5, z ±185). Pozitif açı ileri yuvarlanma (tekerin alt noktası geri gider). Motor gövdesi ve mili tek katı olduğu için motor gövdede kalıyor. Kablo yolu şemaları ve ana anahtar düğmesi gösterimi (Referans, 0 g) ana montajda yok.
- Eklem yapısı: İskelet zemine sabit (grounded); her omuz gövdesi, kabuk, kafanın boynu ve taban gövdesi iskelete sabit eklemle bağlı; her omuzda gövde → göbek (öne-arka) ve göbek → kol (yana açma), her dirsekte üst kol → ön kol (dirsek) ve ön kol → el (bilek) döner eklemleri; kafada pan ve tilt; tabanda 4 teker. Serbestlik: 14 (her kolda 4, kafada 2, tekerlerde 4).
Açık işler
- Eklem sınırları çözücüde zorlanmıyor: FreeCAD 1.1'de sınırlar yalnız fareyle sürüklemede uygulanıyor (yana 0…120°, öne −45…135° aşılmadı). Simülasyon (Motion) ve
solve()sınır dışı açıyı aynen kabul ediyor (öne 160°, 180°, −60°; yana 140°, −15°). Simülasyon formülü yazarken sınırları elle gözet; robot yazılımında servo açısı ayrıca sınırlanmalı. - Öne kaldırma kol tüpünden sürüklenmiyor: Kol aşağıdayken üst kol tüpünü tutup sürüklemek öne-arka eksenini döndürmedi (yalnız yana açma döndü). Göbekten tutunca dönüyor ama göbek eksene yakın (≈ 40 mm) olduğu için hareket sıçramalı, serbest kol da salınıyor. Kesin açı için simülasyon veya eklem açısını betikle ver.
- Sol kolda servo dönüş yönü ters: Sol S1 ve S2 servoları aynalı yerleşimde; aynı eklem açısı (ör. öne +30°) için sol servo kendi mil yönüne göre ters döner. Yazılımda sol servoların komut işareti çevrilmeli, horn takma açısı da aynalı (sol S1 135° konumunda takılır) (tahmini; servo montajında doğrulanmalı).
- Sol baskı parçaları aynalı basılmalı: Omuz yuvası, rulman kapağı, omuz göbeği, kol çatalı ve tüp sağın aynası. Dilimleyicide STL'ler X'te aynalanarak basılır (
omuz/stl/yalnız sağ). Servo, horn, rulman ve cıvatalar simetrik kabul edildi: DS3218MG gövdesi genişlik yönünde simetrik, aynası 180° çevrilmiş servo ile aynı (tahmini; kablo çıkışı tarafı farklı olabilir). - Kafa-kol yasak pozları yazılımda uygulanmalı:
carpisma.pykafa taramasında bulunan kol pozu × kafa açısı birleşimleri (yukarıdaki tablo, ayrıntıkafa/rapor.html) eklem sınırlarıyla değil, ancak robot yazılımında (kol pozuna bağlı kafa açısı sınırı ya da hareket sırası) engellenebilir. - Pan fareyle zor sürükleniyor: pan grubu kafanın altında kalıyor; kafadan tutunca yalnız tilt dönüyor, boyun milinden tutunca pan dönüyor ama mil eksene yakın (≈ 20 mm) olduğu için hareket küçük ve sıçramalı. Pan açısını simülasyonla ya da betikle ver.
- Bilek fareyle zor sürükleniyor: el küçük ve ön kol ekseninde döndüğü için 3B görünümde tutup çevirmek pratik değil; bilek açısını simülasyonla (Kollari_oynat) ya da betikle ver.
- Montaj dosyası iki adımda üretiliyor:
ana_montaj.py(arayüzsüz) dosyayı kurar,montaj_gorsel.py(GUI) eklem görünüm nesnelerini ve simülasyonu ekleyip yeniden kaydeder. Yalnızana_montaj.pyçalıştırılırsa dosya açıldığında eklem işaretleri görünmez. - Kablo payı montajda yok: montaj kütlesi 21,26 kg (parçalar); taban raporunun 400 g kablo payı (tahmini, parça listesine girmiyor) eklenince 21,66 kg, AM (-0,4; 370,5; -14,4) mm: taban raporundaki devrilme hesabının girdisiyle aynı (tutarlı).
- Teker eklemleri serbest: simülasyonda sınırsız dönüyor (tam tur ve üstü doğrulandı); gerçek robotta tekerleri JGB37 + enkoder sürer, montajdaki eklem yalnız görsel/kinematik.
Dosyalar ve çalıştırma sırası
robot-montaj.FCStd(Assembly, 22 grup, 22 eklem, Kollari_oynat simülasyonu) ·robot-montaj.step(gruplar adlarıyla, 907 katı) ·montaj-analiz.json·eklem-dogrulama.json·gui-kontrol.json·gorsel/moduller.py(modül listesi + yükleyiciler + aynalama) →ana_montaj.py(freecadcmd) →montaj_gorsel.py(freecad.exe; dosyayı GUI'den yeniden kaydeder) →montaj_gui_kontrol.py(freecad.exe) →eklem_dogrulama.py(freecadcmd) →../carpisma_kos.py(bölümlü../carpisma.py) →montaj_rapor.py(sistem Python'u)