Introduzione

This commit is contained in:
MarcoCrea3D committed 2025-07-28 09:10:23 +02:00
1 parent 5b36f8348f
commit dce801cf22
12 files changed
+479

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
# Approfondimenti Tecnici su PRIMO
---
## Introduzione al Controllo Predittivo (MPC)
Il **controllo predittivo basato su modello** (Model Predictive Control, MPC) è una tecnica avanzata di controllo che utilizza un modello matematico del sistema per prevedere il comportamento futuro e ottimizzare le azioni di controllo in tempo reale. A differenza dei controlli tradizionali, MPC calcola una sequenza ottimale di comandi considerando vincoli fisici e obiettivi prestazionali, aggiornando continuamente la strategia ad ogni passo temporale.
Questa metodologia è particolarmente utile in robotica per gestire sistemi complessi con più variabili, limiti operativi e necessità di precisione elevata.
---
## Cos’è ROS2 e perché sarà usato su PRIMO
**ROS2** (Robot Operating System 2) è un framework open-source per lo sviluppo di software robotico modulare, scalabile e distribuito. Offre strumenti e librerie per la comunicazione tra componenti, gestione dei dati, simulazione, e integrazione di sensori e attuatori.
Su PRIMO, ROS2 sarà adottato per:
- Facilitare l’integrazione di sensori e attuatori avanzati
- Abilitare il controllo in retroazione (closed-loop) con feedback in tempo reale
- Supportare lo sviluppo di funzionalità complesse come pianificazione, percezione e interfacce utente
- Consentire una maggiore modularità e interoperabilità con altri sistemi robotici
---
## Cenni sulla Realtà Aumentata Applicata alla Robotica
La **realtà aumentata** (AR) consiste nell’integrare elementi digitali (grafica, dati, interfacce) direttamente nel campo visivo reale dell’utente. In robotica, l’AR può essere utilizzata per:
- Visualizzare in tempo reale lo stato del robot e i suoi parametri
- Guidare l’operatore durante la calibrazione o la manutenzione
- Offrire interfacce intuitive per la programmazione e il controllo
- Sovrapporre traiettorie, aree di lavoro e modelli virtuali per migliorare la comprensione spaziale
L’applicazione di AR su PRIMO punta a rendere più immediata e coinvolgente l’esperienza educativa e operativa.
---
*Questo documento fa parte della documentazione tecnica di PRIMO e contiene approfondimenti sulle tecnologie future e avanzate.*
+32
View File
@@ -0,0 +1,32 @@
site_name: PRIMO
site_url: https://primo.crearobotics.com
site_description: PRIMO documentation
site_author: CREA Robotics
site_logo: images/logo.png
site_icon: images/favicon.ico
#repo_url:
nav:
- Home: index.md
- Fondamenti: cos_e_la_robotica.md
- Struttua del robot: struttura_robotica.md
- Componenti: componenti_primo.md
- Controllo: controllo_robot.md
- Programmazione: programmazione.md
- Programmazione Avanzata: programmazione_avanzata.md
- Approfondimenti: approfondimenti.md
#theme: readthedocs
theme:
name: material
palette:
scheme: default
primary: cyan
accent: amber
features:
- navigation.tabs
- content.code.copy
icon:
logo: fontawesome/solid/robot
+67
View File
@@ -0,0 +1,67 @@
# Componenti principali di PRIMO
PRIMO è un braccio robotico articolato progettato per introdurre alla robotica industriale in modo pratico e accessibile. Ogni componente che lo costituisce ha un ruolo funzionale ben preciso, pensato per simulare il comportamento di veri robot industriali.
## Struttura generale
Il robot è composto da sei assi rotazionali, ognuno dei quali permette un movimento controllato. Questi assi sono realizzati attraverso una combinazione di:
- **Motori passo-passo**
- **Giunti meccanici**
- **Supporti e snodi**
- **Elementi strutturali stampati in 3D**
Ogni asse introduce un grado di libertà (DoF), permettendo movimenti indipendenti che, combinati, danno vita a una cinematica articolata.
---
## Motori passo-passo
I motori utilizzati sono chiamati **NEMA 17**. Sono motori in grado di ruotare di piccoli passi precisi (es. 1.8° per passo), rendendoli ideali per la robotica educativa. Non utilizzano sensori di posizione (open-loop), ma possono essere controllati con alta precisione tramite appositi driver.
### Come contribuiscono
Ogni motore è responsabile della rotazione di un segmento del braccio robotico. La combinazione di più rotazioni consente al braccio di orientarsi nello spazio.
---
## Giunti rotazionali
I giunti permettono il movimento relativo tra due parti del braccio. Sono il cuore della struttura articolata e simulano le articolazioni di un braccio umano (es. spalla, gomito, polso).
### Come contribuiscono
Senza i giunti, le rotazioni dei motori non avrebbero alcun effetto: è grazie ai giunti che i segmenti del braccio possono muoversi in modo coordinato.
---
## Supporti e snodi
Gli snodi sono elementi meccanici che collegano tra loro motori, giunti e bracci. Possono contenere cuscinetti per rendere fluido il movimento e garantire stabilità.
---
## Controller e driver
Il controllo dei motori avviene tramite una scheda centrale, a cui i motori sono collegati. In PRIMO, i driver sono in **open-loop**, ovvero senza retroazione: il sistema invia comandi ai motori ma non verifica se il movimento è stato realmente eseguito.
### Che cosa permette questa configurazione?
- Riduzione dei costi
- Maggiore semplicità didattica
- Possibilità di esplorare limiti e potenzialità del controllo senza feedback
---
## In sintesi
Ogni componente di PRIMO è stato progettato per simulare i concetti fondamentali della robotica industriale:
| Componente | Funzione |
|-------------------|--------------------------------------------|
| Motore passo-passo| Genera il movimento rotazionale |
| Giunto | Trasmette e permette la rotazione |
| Supporto/snodo | Collega e guida i movimenti |
| Controller | Invia comandi ai motori (open-loop) |
> Lo scopo non è solo vedere PRIMO muoversi, ma capire **come e perché** ogni parte contribuisce al movimento complessivo del robot.
+35
View File
@@ -0,0 +1,35 @@
# Controllo del Robot PRIMO
## Differenza tra controllo Open-Loop e Closed-Loop
Il **controllo open-loop** è un metodo in cui il sistema esegue comandi senza ricevere alcun feedback sulla posizione o lo stato reale degli attuatori. Il controllo si basa esclusivamente sull’invio di istruzioni, presupponendo che l’azione venga eseguita correttamente. Questo tipo di controllo è semplice e meno costoso, ma può essere soggetto a errori non rilevati come perdite di passi o scostamenti di posizione.
Il **controllo closed-loop** utilizza un sistema di retroazione che misura continuamente la posizione o lo stato effettivo dell’attuatore tramite sensori. Il sistema confronta il valore misurato con il valore desiderato e apporta correzioni per minimizzare gli errori, garantendo una maggiore precisione e affidabilità del movimento.
---
## Perché PRIMO è Open-Loop
PRIMO utilizza un controllo open-loop perché impiega motori passo-passo senza sensori di retroazione. Questa scelta permette di mantenere il progetto semplice, economico e facilmente accessibile a chi si avvicina alla robotica educativa. La semplicità hardware e software facilita l’apprendimento dei principi base del controllo dei robot senza la complessità aggiuntiva del feedback.
Inoltre, per applicazioni didattiche con carichi leggeri e velocità moderate, il controllo open-loop è sufficiente per ottenere movimenti precisi e affidabili.
---
## Come Avviene il Movimento dei Motori Passo-Passo
I motori passo-passo sono motori elettrici che si muovono a scatti discreti chiamati “passi”. Ogni impulso elettrico ricevuto fa ruotare l’albero del motore di un angolo fisso. La posizione è quindi controllata contando il numero di impulsi inviati al motore.
Il movimento complessivo del motore è ottenuto sommando questi passi, permettendo un controllo accurato della posizione senza necessità di sensori esterni.
---
## Come PRIMO Riceve ed Esegue i Comandi di Movimento
Il sistema di controllo interpreta le istruzioni di movimento e le traduce in impulsi elettrici inviati ai motori passo-passo. Questi impulsi indicano quanti passi ciascun motore deve compiere e con quale velocità.
L’esecuzione avviene in open-loop: si presume che il motore compia esattamente il numero di passi comandati senza una verifica attiva della posizione raggiunta. Questo metodo è efficace in condizioni controllate e permette una programmazione semplice e diretta del movimento del robot.
---
*Questo documento fa parte della documentazione tecnica del braccio robotico educativo PRIMO.*
+68
View File
@@ -0,0 +1,68 @@
# Cos’è la robotica?
La robotica è una disciplina che unisce **meccanica**, **elettronica** e **informatica** per progettare, costruire e controllare macchine capaci di compiere azioni in modo autonomo o semi-autonomo.
Ma cosa si intende esattamente per **robot**? E come si inserisce nella più ampia categoria dell’automazione?
---
## Cos'è un robot industriale
Un **robot industriale** è una macchina programmabile, progettata per **eseguire movimenti e compiti ripetitivi con precisione, velocità e affidabilità**.
I robot industriali vengono spesso utilizzati per:
- Spostare oggetti (pick & place)
- Saldare componenti
- Assemblare parti
- Verniciare superfici
- Lavorare materiali
La definizione ufficiale secondo ISO 8373 è:
> *"Manipolatore multifunzionale, riprogrammabile, controllato automaticamente, con tre o più assi, che può essere fisso o mobile per l’uso in applicazioni di automazione industriale."*
---
## Automazione ≠ Robotica
Molti pensano che **automazione** e **robotica** siano sinonimi. Non è così!
| Automazione | Robotica |
|-----------------------------------|-------------------------------------------|
| Sistema che esegue una sequenza fissa di operazioni | Sistema programmabile e riconfigurabile |
| Spesso rigido e specifico per un compito | Flessibile e adattabile a diversi compiti |
| Esempio: una macchina per imbottigliare | Esempio: un braccio robotico che confeziona prodotti diversi |
In breve, **l'automazione esegue**, la **robotica decide come eseguire**.
---
## Dove si usano i robot oggi
I robot non sono solo nelle fabbriche!
Ecco alcuni settori dove i robot sono sempre più presenti:
- **Industria automobilistica**: per saldare, assemblare, verniciare
- **Elettronica**: per il montaggio di circuiti stampati
- **Logistica**: per la movimentazione automatica nei magazzini
- **Sanità**: con robot per chirurgia assistita o riabilitazione
- **Agricoltura**: per la raccolta automatizzata o l’analisi del suolo
- **Servizi**: come camerieri robot, assistenti o pulitori automatici
---
## Cos'è un manipolatore articolato
Un **manipolatore articolato** è una tipologia di robot composta da più segmenti (bracci) collegati da **giunti rotanti**, simile a un braccio umano.
Ogni giunto fornisce un **grado di libertà** (DOF, dall’inglese *Degree of Freedom*), ovvero la possibilità di ruotare o muoversi in una certa direzione.
Un robot con **6 DOF** può:
1. Spostarsi avanti/indietro (X)
2. Spostarsi a sinistra/destra (Y)
3. Spostarsi in alto/basso (Z)
4. Ruotare intorno all’asse X (roll)
5. Ruotare intorno all’asse Y (pitch)
6. Ruotare intorno all’asse Z (yaw)
Questo lo rende capace di **raggiungere qualsiasi punto nello spazio** con qualunque orientamento, proprio come farebbe un braccio umano per afferrare un oggetto.
---
Nella prossima sezione scoprirai com’è fatto un robot come PRIMO, e quali sono i suoi assi e componenti principali!
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Uploaded to: SVG Find, www.svgrepo.com, Generator: SVG Find Mixer Tools -->
<svg fill="#000000" width="800px" height="800px" version="1.1" viewBox="144 144 512 512" xmlns="http://www.w3.org/2000/svg">
<path d="m561.16 306.19h39.582v58.387c0 4.3438 3.5273 7.8711 7.8711 7.8711s7.8711-3.5273 7.8711-7.8711v-66.258c0-4.3438-3.5273-7.8711-7.8711-7.8711h-48.215c-0.94531-2.2969-2.25-4.4648-3.9062-6.3906l-50.469-59.008v-0.36328c0-29.238-23.734-52.973-52.973-52.973-24.121 0-44.492 16.152-50.883 38.211l-166.45 88.246c-4.0625-1-8.3047-1.5273-12.676-1.5273-29.238 0-52.973 23.734-52.973 52.973 0 16.734 7.7773 31.668 19.91 41.375l110.01 132.02c-10.367 2.4961-18.066 11.832-18.066 22.961v27.223h-59.039c-6.2656 0-12.273 2.4883-16.695 6.918-4.4336 4.4258-6.918 10.43-6.918 16.695v7.8711c0 6.2656 2.4883 12.273 6.918 16.695 4.4258 4.4336 10.43 6.918 16.695 6.918h244.03c6.2656 0 12.273-2.4883 16.695-6.918 4.4336-4.4258 6.918-10.43 6.918-16.695v-7.8711c0-6.2656-2.4883-12.273-6.918-16.695-4.4258-4.4336-10.43-6.918-16.695-6.918h-59.039v-27.223c0-13.043-10.57-23.617-23.617-23.617h-6.2891c9.4531-9.5742 15.305-22.727 15.305-37.234 0-14.73-6.0312-28.07-15.75-37.676-0.085937-0.085938-4.4336-4.0078-6.7227-5.6289l-90.094-74.625 149.39-94.746c6.4531 3.1094 13.633 4.9531 21.215 5.1953l49.359 53.906c2.6992 2.9531 6 5.0703 9.5391 6.3125v54.277c0 4.3438 3.5273 7.8711 7.8711 7.8711h67.652c4.3438 0 7.8711-3.5273 7.8711-7.8711s-3.5273-7.8711-7.8711-7.8711h-59.781v-46.398c2.3945-0.84375 4.6914-2.0938 6.7852-3.7461l20.461-16.184c3.8164-3.0312 6.582-7.1328 7.957-11.738zm-86.371 290.61v7.8711c0 2.0859-0.82812 4.0938-2.3047 5.5664-1.4727 1.4805-3.4805 2.3047-5.5664 2.3047h-244.03c-2.0859 0-4.0938-0.82812-5.5664-2.3047-1.4805-1.4727-2.3047-3.4805-2.3047-5.5664v-7.8711c0-2.0859 0.82812-4.0938 2.3047-5.5664 1.4727-1.4805 3.4805-2.3047 5.5664-2.3047h244.03c2.0859 0 4.0938 0.82812 5.5664 2.3047 1.4805 1.4727 2.3047 3.4805 2.3047 5.5664zm-82.656-23.617h-94.465v-27.223c0-4.3516 3.5273-7.8711 7.8711-7.8711h78.719c4.3438 0 7.8711 3.5195 7.8711 7.8711v27.223zm-30.883-118.84 5.3438 4.4258c6.7539 6.7383 10.934 16.059 10.934 26.34 0 20.555-16.68 37.234-37.227 37.234s-37.227-16.68-37.227-37.234c0-20.547 16.68-37.227 37.227-37.227 7.7617 0 14.98 2.3867 20.949 6.4648zm-21.617 6.4883c-13.027 0-23.617 10.578-23.617 23.617 0 13.035 10.586 23.617 23.617 23.617 13.035 0 23.617-10.578 23.617-23.617 0-13.035-10.578-23.617-23.617-23.617zm0 15.742c4.3438 0 7.8711 3.5273 7.8711 7.8711s-3.5273 7.8711-7.8711 7.8711c-4.3359 0-7.8711-3.5273-7.8711-7.8711s3.5352-7.8711 7.8711-7.8711zm-71.422-99.297c-9.3203 15.168-26.07 25.301-45.168 25.301-1 0-1.9922-0.023437-2.9766-0.078125l67.297 80.75c0.91406-26.527 21.379-48.129 47.43-50.828zm-45.168-64.898c20.547 0 37.227 16.68 37.227 37.227s-16.68 37.227-37.227 37.227c-20.547 0-37.227-16.68-37.227-37.227s16.68-37.227 37.227-37.227zm0.78125 14.391c-13.035 0-23.617 10.586-23.617 23.617 0 13.035 10.578 23.617 23.617 23.617 13.035 0 23.617-10.578 23.617-23.617 0-13.027-10.578-23.617-23.617-23.617zm0 15.742c4.3438 0 7.8711 3.5273 7.8711 7.8711s-3.5273 7.8711-7.8711 7.8711-7.8711-3.5273-7.8711-7.8711 3.5273-7.8711 7.8711-7.8711zm176.41-113.75-146.51 77.672c13.484 9.6055 22.285 25.371 22.285 43.172 0 0.64453-0.007812 1.2812-0.03125 1.9297l140.14-88.891c-8.9805-8.7383-14.879-20.633-15.895-33.883zm101.88 15.926c-5.7773 14.121-17.477 25.207-32 30.148l42.172 46.059c2.7852 3.0469 7.4531 3.418 10.691 0.85937l20.461-16.184c1.6758-1.332 2.7383-3.2812 2.9453-5.4062 0.21094-2.1328-0.45703-4.2578-1.8516-5.8789l-42.414-49.594zm-49.059-57.238c20.547 0 37.227 16.68 37.227 37.227 0 20.547-16.68 37.227-37.227 37.227s-37.234-16.68-37.234-37.227c0-20.547 16.688-37.227 37.234-37.227zm0 13.609c-13.035 0-23.617 10.578-23.617 23.617 0 13.035 10.578 23.617 23.617 23.617 13.027 0 23.617-10.578 23.617-23.617 0-13.035-10.586-23.617-23.617-23.617zm0 15.742c4.3438 0 7.8711 3.5273 7.8711 7.8711s-3.5273 7.8711-7.8711 7.8711-7.8711-3.5273-7.8711-7.8711 3.5273-7.8711 7.8711-7.8711z" fill-rule="evenodd"/>
</svg>

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 231 KiB

+54
View File
@@ -0,0 +1,54 @@
# Benvenuto in PRIMO: il tuo primo passo nella robotica
Benvenuto! Questo sito è dedicato a **PRIMO**, un braccio robotico a 6 assi open‑source progettato per farti scoprire il mondo della robotica industriale. Qui troverai tutte le risorse necessarie per imparare i concetti fondamentali della robotica e applicarli concretamente attraverso l’interazione con un robot reale.
![image](./img/primo-cover.png)
---
## Che cos’è PRIMO
PRIMO è un manipolatore articolato progettato per la didattica. È stampabile in 3D, programmabile, completamente open‑source, e nasce con l'obiettivo di **rendere accessibile l'apprendimento della robotica** in contesti scolastici e formativi.
È pensato per aiutarti a:
- Comprendere come funziona un robot industriale
- Imparare i principi di base del controllo del movimento
- Mettere in pratica concetti teorici con un sistema fisico reale
---
## Cosa imparerai attraverso questo sito
1. **Cos’è un robot** e come si classificano i diversi tipi di manipolatori
2. **Concetti chiave** come gradi di libertà, cinematica diretta e inversa
3. **Struttura di un robot articolato** e come ogni parte contribuisce al movimento
4. **Principi di controllo** e programmazione base
5. **Esercizi pratici**, simulazioni e movimenti reali
6. **Approfondimenti** su tematiche moderne della robotica
---
## Perché è importante studiare la robotica oggi
La robotica è ovunque: dalle fabbriche ai magazzini automatizzati, dai robot chirurgici ai bracci meccanici nei laboratori. Comprendere come funziona un robot ti permette di:
- **Sviluppare competenze trasversali** tra meccanica, elettronica e programmazione
- **Affrontare problemi reali** con approccio ingegneristico
- **Prepararti alle professioni del futuro**, dove l'automazione sarà sempre più centrale
Studiare robotica non significa solo imparare a costruire un robot, ma soprattutto a pensare in modo sistemico, logico e creativo.
---
## Come usare questo sito passo dopo passo
1. **Parti dalla teoria**: esplora i concetti fondamentali della robotica
2. **Scopri PRIMO**: analizza come è costruito e quali sono le sue funzionalità
3. **Prova a programmare**: inizia con esempi guidati
4. **Sperimenta**: esegui esercizi pratici per applicare quanto appreso
5. **Approfondisci**: se sei curioso, troverai spunti per esplorare tematiche più avanzate
6. **Condividi e contribuisci**: PRIMO è un progetto aperto, nato per crescere con la comunità
---
Ti auguriamo buon apprendimento e buon divertimento con PRIMO!
Comincia dal primo capitolo: _"Cos’è la robotica"_.
+61
View File
@@ -0,0 +1,61 @@
# Programmazione Base del Robot PRIMO
---
## Cos'è il G-code
Il **G-code** è un linguaggio di programmazione standard utilizzato per controllare macchine CNC, stampanti 3D e robot industriali. Consiste in una serie di comandi testuali che indicano movimenti, velocità, posizioni e altre azioni da eseguire. Ogni comando in G-code specifica istruzioni precise come spostare un asse, cambiare velocità o attivare/disattivare un utensile.
Utilizzando il G-code è possibile definire traiettorie e sequenze di movimento per il robot in modo semplice e flessibile.
---
## Come si controlla manualmente PRIMO
Il controllo manuale di PRIMO permette di spostare singolarmente gli assi del robot per operazioni di prova, calibrazione o posizionamento preciso. Questo controllo diretto viene effettuato inviando comandi che indicano lo spostamento di un singolo asse di una certa quantità o angolo.
Attraverso un'interfaccia di controllo, è possibile scegliere quale asse muovere e definire il numero di passi o la distanza da percorrere, controllando così manualmente la posizione del robot.
---
## Come si possono dare comandi da una console o interfaccia web
Il robot PRIMO può ricevere comandi da una console di controllo o da un’interfaccia web dedicata. Questi strumenti consentono di inviare comandi testuali (come quelli in G-code) direttamente al sistema di controllo, visualizzare lo stato del robot e monitorare l'esecuzione dei movimenti.
La console e l’interfaccia web permettono anche di eseguire macro, caricare file di programma e inviare istruzioni di movimento in tempo reale, facilitando così l’interazione con il robot.
---
## Esempi di G-code semplici per muovere gli assi
Ecco alcuni esempi base di comandi per muovere gli assi del robot:
- **Spostamento rotativo su un asse (esempio: asse B):**
G1 B10 F1000
Questo comando sposta l'asse B a 10 gradi con una velocità di 1000 gradi/minuto.
- **Spostamento contemporaneo di più assi (esempio: X e Y):**
G1 X20 Y15 F800
Sposta gli assi X e Y rispettivamente a 20 e 15 gradi con velocità 800.
- **Ritorno alla posizione zero (home):**
G28
Comando per riportare tutti gli assi alla posizione di origine.
- **Spostamento relativo (rispetto alla posizione corrente):**
G91
G1 X5 Y-3 F500
G90
Qui il robot si sposta di +5 sull'asse X e -3 sull'asse Y rispetto alla posizione attuale. `G91` abilita il modo di spostamento relativo, mentre `G90` lo disabilita tornando al modo assoluto.
---
*Questa guida fa parte della documentazione tecnica del braccio robotico educativo PRIMO.*
+41
View File
@@ -0,0 +1,41 @@
# Programmazione Avanzata del Robot PRIMO
---
## Cos’è RoboDK
**RoboDK** è un software di simulazione e programmazione offline per robot industriali. Permette di creare, simulare e ottimizzare percorsi di movimento in un ambiente virtuale prima di eseguirli sul robot reale. RoboDK supporta un'ampia varietà di robot e consente di generare codici di controllo personalizzati tramite post-processor, facilitando l’integrazione con sistemi hardware diversi.
---
## Come si importa un modello PRIMO
Per lavorare con PRIMO in RoboDK, è necessario importare il modello 3D del braccio robotico. Questo modello include la struttura meccanica e i riferimenti cinematici degli assi.
L’importazione avviene tipicamente attraverso un file CAD o un file di definizione robot compatibile con RoboDK (ad esempio file `.stp`, `.igs` o un modello RoboDK `.rdk`). Il modello viene caricato nell’ambiente di simulazione, permettendo di visualizzare e manipolare il robot in 3D.
---
## Come si simula un movimento e si esporta il codice
Una volta importato il modello PRIMO, si possono definire traiettorie e movimenti per il robot all’interno di RoboDK. Attraverso l’interfaccia grafica o utilizzando script, è possibile:
- Creare percorsi con punti intermedi
- Definire velocità e accelerazioni
- Simulare l’esecuzione della traiettoria per verificarne la correttezza e assenza di collisioni
Terminata la simulazione, RoboDK consente di esportare il codice di controllo specifico per PRIMO, adattato al suo firmware e hardware tramite un post-processor personalizzato. Questo codice è pronto per essere caricato e eseguito sul robot reale.
---
## Come funziona il post-processor personalizzato per PRIMO
Il **post-processor** è un componente software che traduce i movimenti e le istruzioni generati in RoboDK in un linguaggio di controllo comprensibile dal robot PRIMO.
Nel caso di PRIMO, il post-processor personalizzato converte le traiettorie in comandi compatibili con il controllo open-loop basato su motori passo-passo e invia istruzioni in forma di comandi passo-passo o G-code adattati al firmware usato.
Questo permette di garantire che il codice esportato sia ottimizzato per il funzionamento di PRIMO, rispettando i limiti meccanici, i parametri dei motori e la modalità di controllo open-loop.
---
*Questo documento fa parte della documentazione tecnica avanzata del braccio robotico educativo PRIMO.*
+45
View File
@@ -0,0 +1,45 @@
# Struttura Robotica
## Cosa sono gli assi e i gradi di libertà
Un **robot** si muove nello spazio grazie a una serie di **assi**, cioè snodi o giunti che gli permettono di ruotare o traslare. Ogni asse aggiunge un **grado di libertà (DoF, Degree of Freedom)**, cioè una direzione possibile di movimento.
Un corpo nello spazio può avere fino a **6 gradi di libertà**:
- 3 di **traslazione**: avanti/indietro, sinistra/destra, su/giù.
- 3 di **rotazione**: rollio, beccheggio, imbardata.
Un robot con **6 assi** può quindi raggiungere qualsiasi posizione e orientamento nello spazio tridimensionale, proprio come il braccio di un essere umano.
---
## Cinematica diretta e cinematica inversa
La **cinematica** studia il movimento dei corpi, senza preoccuparsi delle forze.
- **Cinematica diretta**: si conoscono gli angoli dei giunti → si calcola dove si trova l’estremità del braccio (end-effector).
- **Cinematica inversa**: si conosce la posizione desiderata dell’estremità → si calcolano gli angoli da dare ai giunti.
La cinematica inversa è particolarmente importante: ci permette di dire al robot *"Vai lì"* e il robot calcola come muoversi.
---
## Che struttura ha PRIMO
PRIMO è un **braccio robotico a 6 assi**, ovvero un **manipolatore articolato** che ricorda il braccio umano. È composto da:
1. **Base** – ruota il braccio orizzontalmente
2. **Spalla** – alza e abbassa il braccio
3. **Gomito** – estende o ritrae il braccio
4. **Polso 1** – piega verso l'alto o il basso
5. **Polso 2** – ruota lateralmente
6. **Polso 3** – ruota sull'asse dell'end-effector
Questa struttura è molto diffusa nell'industria, perché permette di raggiungere molti punti nello spazio con grande flessibilità.
---
## Cinematica a catena aperta (visiva)
PRIMO ha una **struttura a catena aperta**: ogni giunto è collegato al successivo in sequenza, come i segmenti di un braccio umano.
+32
View File
@@ -0,0 +1,32 @@
site_name: PRIMO
site_url: https://primo.crearobotics.com
site_description: PRIMO documentation
site_author: CREA Robotics
site_logo: images/logo.png
site_icon: images/favicon.ico
#repo_url:
nav:
- Home: index.md
- Fondamenti: cos_e_la_robotica.md
- Struttua: struttura_robotica.md
- Componenti: componenti_primo.md
- Controllo: controllo_robot.md
- Programmazione: programmazione.md
- Programmazione Avanzata: programmazione_avanzata.md
- Approfondimenti: approfondimenti.md
#theme: readthedocs
theme:
name: material
palette:
scheme: default
primary: orange
accent: amber
features:
- navigation.tabs
- content.code.copy
icon:
logo: fontawesome/solid/robot