FANUC ER-4iA Simulator

Un plugin WordPress gratuito e open source che simula un robot industriale FANUC ER-4iA a 6 assi. Progettato per l’insegnamento: modello 3D interattivo, cinematica diretta e inversa, programmazione Teach Pendant, I/O digitali, movimenti J/L/C e sfide gamificate. Nessun hardware richiesto.


✨ Caratteristiche principali

🤖 Modello 3D Completo

Robot FANUC ER-4iA riprodotto in Three.js con geometria dettagliata:

  • 6 assi articolati con limiti realistici (J1 ±170°, J2 -115°/+120°, J3 ±201°, J4 ±190°, J5 ±120°, J6 ±360°)
  • Pinza pneumatica 3D animata: apertura/chiusura controllata da DO[1]
  • Trail visivo: traccia il percorso del TCP in tempo reale
  • Frame DH: visualizzazione Denavit-Hartenberg su ogni giunto (toggle)
  • Sfondo scuro professionale con griglia pavimento e illuminazione 3-punti

🧮 Cinematica Diretta e Inversa

Motore cinematico analitico completo a 6 gradi di libertà:

  • FK (Forward Kinematics): calcolo TCP da angoli giunti in tempo reale
  • IK (Inverse Kinematics): inserisci X, Y, Z, W, P, R e il robot si posiziona
  • Parametri DH reali: d1=330, a1=50, a2=260, a3=20, d4=290, d6=75 mm
  • Gestione singolarità: J5≈0° con fallback automatico
  • Disaccoppiamento cinematico: polso sferico J4-J5-J6

📝 Editor Teach Pendant

Programmazione TP FANUC completa con syntax highlighting:

  • Movimenti: J (Joint), L (Linear), C (Circular Arc)
  • Velocità: percentuale (J) o mm/sec (L, C)
  • Terminazione: FINE (arresto preciso), CNT0-100 (passaggio continuo)
  • I/O digitali: DO[n]=ON/OFF, WAIT DI[n]=ON/OFF
  • Logica: IF R[n]≥valore JMP LBL[n], JMP, LBL, CALL
  • Registri: R[n]=valore, R[n]=R[m]±valore, operazioni aritmetiche
  • Commenti: righe ! per documentazione inline
  • TEACH J / TEACH L / TEACH C: registrazione punti con un click
  • RENUM: rinumerazione automatica delle righe

💾 Import / Export File .LS

Compatibilità con il formato standard FANUC:

  • Export .LS: genera file completo con header /ATTR, corpo /MN e posizioni /POS
  • Import .LS: carica programmi da file, ricostruisce punti via IK
  • Trasferibile: i file .LS esportati sono caricabili su robot FANUC reali

📚 6 Programmi Esempio Inclusi

Pronti all’uso, rappresentano applicazioni industriali reali:

  • Pick & Place: ciclo base prelievo/deposito con pinza
  • Ciclo con contatore: R[1] + IF/JMP per ripetizioni definite
  • Palletizzazione 2×3: smistamento su griglia con contatore
  • Arco circolare: demo movimento C (via point + destinazione)
  • Handshake PLC: protocollo DO/WAIT DI con controllore esterno
  • Controllo qualità: smistamento pezzi OK/scarto con sensore DI[2]

🎮 7 Sfide Gamificate

Esercizi progressivi con verifica automatica:

  • Raggiungi una posizione target con gli slider
  • Usa la cinematica inversa per centrare un punto
  • Scrivi un programma TP che esegua un ciclo completo
  • Difficoltà crescente: da base a esperto

🖥️ Interfaccia Professionale

Pensata per l’apprendimento in classe:

  • 4 tab: Giunti (slider + vista), XYZ/IK, TP Prog, Sfide
  • Pannello I/O: 8 DI + 8 DO cliccabili con stato visivo
  • Registri: R[1]-R[10] modificabili in tempo reale
  • Punti registrati: lista P[n] con coordinate angolari
  • Status bar: stato esecuzione, riga corrente, override
  • Zoom: pulsanti +/−, fit, fullscreen, pinch-to-zoom touch
  • Credits: “FANUC ER-4iA Simulator / by Prof. D.Bertolino • IIS Cigna Mondovì”

💰 Quanto costa?

VoceCosto
PluginGratuito (GPL v2)
Tutte le funzionalitàGratuite
Hardware richiestoNessuno
Programmi esempio6 inclusi
Sfide gamificate7 incluse

🚀 Installazione

  1. Scarica il file ZIP del plugin
  2. WordPress Admin → Plugin → Aggiungi nuovo → Carica plugin
  3. Attiva il plugin
  4. La pagina /simulatore-robotica/ viene creata automaticamente
  5. Oppure usa lo shortcode [fanuc_sim] in qualsiasi pagina

Shortcode

[fanuc_sim]                              → Default (700px × 100%)
[fanuc_sim height="85vh"]                → Quasi tutto lo schermo
[fanuc_sim height="500px" width="80%"]   → Personalizzato
[fanuc_sim class="my-class"]             → Con classe CSS extra

📋 Requisiti

  • WordPress 5.0 o superiore
  • PHP 7.4 o superiore
  • Browser moderno con WebGL (Chrome, Firefox, Edge, Safari)
  • JavaScript abilitato

🎯 Per chi è pensato

  • Studenti ITIS/ITS: imparano la robotica industriale senza accesso al robot reale
  • Docenti: dimostrano cinematica, programmazione TP e concetti I/O in classe
  • Laboratori scolastici: complemento al robot FANUC fisico per esercitazioni individuali
  • Autodidatti: studiano la robotica industriale da casa

📖 Guida rapida

Muovere il robot

  1. Apri il tab GIUNTI
  2. Usa gli slider J1-J6 per muovere ogni asse
  3. Osserva il modello 3D aggiornarsi in tempo reale
  4. Attiva DH per visualizzare i frame di riferimento
  5. Prova il pulsante RANDOM per una posizione casuale

Usare la cinematica inversa

  1. Apri il tab XYZ/IK
  2. Inserisci le coordinate X, Y, Z (mm) e orientamento W, P, R (gradi)
  3. Clicca MUOVI IK: il robot calcola automaticamente gli angoli dei 6 giunti

Scrivere un programma TP

  1. Apri il tab TP PROG
  2. Posiziona il robot con gli slider o IK
  3. Clicca TEACH J o TEACH L per registrare il punto
  4. Aggiungi comandi I/O: DO, WAIT
  5. Aggiungi logica: IF, LBL, FOR
  6. Premi ▶ RUN per eseguire
  7. Usa STEP per esecuzione riga per riga

Controllare la pinza

  • DO[1]=ON nel programma → chiude la pinza
  • DO[1]=OFF nel programma → apre la pinza
  • Oppure usa il pulsante PINZA nel tab Giunti
  • Oppure clicca DO[1] nel pannello I/O

Movimento circolare

  1. Posiziona il robot al punto di partenza
  2. Clicca TEACH C: registra il punto di passaggio (via)
  3. Muovi il robot al punto finale
  4. Clicca di nuovo TEACH C: registra la destinazione
  5. Il simulatore inserisce automaticamente C P[via] P[dest] 200mm/sec FINE

Import/Export

  • ⬇ EXPORT .LS: scarica il programma corrente in formato FANUC standard
  • ⬆ IMPORT .LS: carica un file .LS da disco
  • 📋 ESEMPI: mostra i 6 programmi precaricati pronti all’uso

🔧 Specifiche FANUC ER-4iA simulato

ParametroValore
TipoAntropomorfo 6 assi
Payload4 kg
Reach550 mm
Ripetibilità±0.01 mm
ControllerR-30iB Mate
Teach PendantiPendant A05B-2256-C101#EGN
AsseRangeVelocità max
J1 (Base)±170°460°/sec
J2 (Spalla)-115° / +120°460°/sec
J3 (Gomito)±201°520°/sec
J4 (Roll)±190°560°/sec
J5 (Pitch)±120°560°/sec
J6 (Flangia)±360°900°/sec

📊 Sintassi Teach Pendant

Struttura programma

/PROG NOME_PROG
1: J P[1] 100% FINE         ; Movimento Joint
2: L P[2] 250mm/sec FINE    ; Movimento Lineare
3: C P[3] P[4] 150mm/sec FINE  ; Arco Circolare
4: DO[1]=ON                  ; Uscita digitale
5: WAIT 0.3(sec)             ; Pausa
6: WAIT DI[1]=ON             ; Attendi ingresso
7: R[1]=R[1]+1               ; Incrementa registro
8: IF R[1]>=5, JMP LBL[2]   ; Salto condizionale
9: JMP LBL[1]                ; Salto incondizionato
10: LBL[2]                   ; Etichetta
11: CALL SUB_PROG            ; Sottoprogramma
! Questo è un commento
/END

Comandi di movimento

ComandoSintassiUso
JJ P[n] vel% FINE|CNTnSpostamento rapido (traiettoria non lineare)
LL P[n] vel mm/sec FINE|CNTnTraiettoria rettilinea (lavorazione, precisione)
CC P[via] P[dest] vel mm/sec FINEArco circolare per 3 punti

I/O e logica

ComandoDescrizione
DO[n]=ON|OFFImposta uscita digitale
WAIT tempo(sec)Pausa temporizzata
WAIT DI[n]=ON|OFFAttendi condizione ingresso
R[n]=valoreAssegnazione registro
R[n]=R[m]±valoreOperazione su registro
IF cond, JMP LBL[n]Salto condizionale
JMP LBL[n]Salto incondizionato
LBL[n]Etichetta destinazione
CALL NOMEChiamata sottoprogramma

📚 Documentazione inclusa

Il progetto include una suite completa di materiali didattici:

  • Handbook Programmazione TP: guida completa alla sintassi con esempi commentati riga per riga
  • Manuale iPendant: 16 capitoli sull’uso del teach pendant (sicurezza, jog, menu, esecuzione, allarmi)
  • Manuale tecnico ER-4iA: specifiche, cinematica DH, spazio di lavoro, manutenzione
  • Schede esercizi: 15 esercizi progressivi per classi III, IV e V
  • Slide didattiche: 24 slide in 7 moduli per lezioni frontali
  • Script video-tutorial: sceneggiature per 6 video (26 minuti totali)
  • Programmazione didattica triennale: piano completo per robotica industriale ITIS

⚠️ Limitazioni

Questo è un simulatore didattico, non un ambiente di sviluppo professionale:

  • Non sostituisce ROBOGUIDE per progetti industriali reali
  • Collisioni non rilevate (il robot può attraversare sé stesso)
  • Solo FANUC ER-4iA (altri robot in roadmap)
  • Timing approssimato (non cycle-accurate)
  • Gravità e dinamica non simulate
  • File .LS generati compatibili ma semplificati rispetto al formato FANUC completo

🗺️ Roadmap

  • 🔲 Rilevamento collisioni
  • 🔲 Quiz interattivi per modulo
  • 🔲 Dashboard studente con progressi
  • 🔲 Simulatore Universal Robots UR5e (cobot)
  • 🔲 Libreria condivisa per multi-robot

📝 Licenza

FANUC ER-4iA Simulator è rilasciato con licenza GPL v2 o successiva.

È libero di essere utilizzato, modificato e distribuito da qualsiasi istituzione educativa.

Disclaimer: Questo progetto non è affiliato, sponsorizzato o approvato da FANUC Corporation. “FANUC”, “LR Mate”, “R-30iB” e “iPendant” sono marchi registrati di FANUC Corporation.


👨‍💻 Autore

Davide “the Prof.” Bertolino

🏫 IIS Cigna Mondovì — Laboratorio di Robotica Industriale
🌐 www.davidebertolino.it
✉️ info@davidebertolino.it


Hai suggerimenti o hai trovato un bug? Contattami!

Other Plugins

DB Form Builder

Plugin WordPress per creare form personalizzati con drag & drop, reCAPTCHA, email automatiche e export CSV. Un form builder completo…

WebPicSimulator

Un plugin WordPress gratuito e open source che simula microcontrollori PIC16 (PIC16F84A). Progettato per l’insegnamento: programmazione Assembly, simulazione CPU ciclo…