• Non ci sono risultati.

4. Kuka YouBot

N/A
N/A
Protected

Academic year: 2021

Condividi "4. Kuka YouBot"

Copied!
6
0
0

Testo completo

(1)

Figura 4.1.: KUKA youBot

Il robot KUKA youBot è composto principalmente da due parti:

• La piattaforma mobile KUKA youBot: composta da un telaio, 4 ruote omnidirezionali, motori ed una scheda di controllo. Gli utenti possono eseguire i programmi diretta-mente su questa scheda di controllo oppure controllarlo da un computer remoto. La piattaforma viene fornita con una Live-USB dove è preinstallato Ubuntu Linux e i driver per l’hardware. I dettagli del software sono descritti in seguito.

• Il braccio KUKA youBot ha cinque gradi di libertà (DOF) e una pinza a due dita. Se collegato alla piattaforma mobile, il braccio può essere controllato dal computer di bordo. In alternativa, il braccio può essere controllato senza piattaforma mobile utilizzando un proprio PC collegato tramite cavo EtherCAT. Inoltre può essere montato un secondo braccio sulla piattaforma mobile. Questa tesi viene sviluppata inizialmente sul simulatore. Al termine della tesi verrano testati gli algoritmi implementati sul robot reale.

Inoltre è possibile montare a bordo del veicolo sensori addizionali, come Microsoft Kinect.

4.1. YouBot Hardware

Ogni KUKA youBot ha una scheda Mini-ITX come computer di bordo, le cui caratteristiche principali sono riepilogate nella Tabella 4.1

(2)

Tabella 4.1.: Caratteristiche del computer di bordo dello youBot

La base KUKA youBot è una piattaforma olonoma composta da 4 ruote omnidirezionali. Le unità di controllo del motore delle quattro ruote omnidirezionali sono accessibili tramite EtherCAT. Il cavo ethernet può essere collegato al PC a bordo o ad un computer esterno. La Figura 4.2 illustra il sistema di riferimento solidale al telaio della base. Esso si trova al centro della base. I valori positivi per rotazione attorno all’asse z provocano un movimento in senso antiorario, come indicato dalla freccia blu. Si mostra inoltre la numerazione delle ruote.

Figura 4.2.: la base del robot KUKA youBot

La Figura 4.3 illustra le caratteristiche generali della piattaforma dello youBot.

(3)

Figura 4.4.: Il braccio KUKA youBot

In Figura 4.5 è mostrata l’area di lavoro dei giunti e in Figura 4.6 le caratteristiche generali.

(4)

Figura 4.6.: Caratteristiche generali del braccio dello youBot

4.2. Programmazione API YouBot

Il KUKA youBot OODL (Object Oriented dispositivi Layer) API è l’interfaccia di program-mazione attraverso il quale lo sviluppatore può accedere e controllare l’hardware KUKA youBot. Esso può essere visto come un driver di alto livello per il robot. È costituito da un insieme di sottosistemi funzionali disaccoppiati. Le API KUKA youBot rappresentano il braccio del robot come una catena cinematica a 5 DOF e la piattaforma mobile omnidire-zionale viene trattata come un insieme di giunti rotoidali, dove ogni giunto è costituito da un motore e un riduttore. Le API KUKA youBot usano tre classi principali:

• La classe YouBotManipulator rappresenta il braccio KUKA youBot mediante una serie di giunti ed un gripper

• La classe YouBotBase rappresenta la piattaforma omnidirezionale KUKA youBot • La classe YouBotJoint rappresenta i giunti sia del braccio che della piattaforma L’accesso alle proprietà di ciascun sotto-sistema è organizzato in modo gerarchico. Per ogni entità (sistema, sottosistema) rappresentata dalle API c’è un insieme di classi di configurazio-ne. Queste classi di configurazione consentono di ottenere o di impostare particolari configu-razioni per tali entità. Questa operazione viene eseguita tramite i metodi getConfiguration() e setConfiguration().

Ogni giunto KUKA youBot viene rappresentato come un aggregato della classse

you-bot::YouBotJoint. In questa fase le API non fanno distinzione se il giunto è quello che aziona

una ruota oppure un giunto del manipolatore. youbot::YouBotBase e

youbot::YouBotMani-pulator sono classi che consentono l’accesso ad una particolare istanza del giunto attraverso youbot::YouBotJoint. Le API KUKA youBot fanno una distinzione tra i diversi tipi di dati

restituiti dai giunti. Questi dati sono setPoint e sensed data. Ognuno di questi dati viene rappresentato dalla propria classe per setPoint e per sensed data, che tiene anche conto delle sue unità fisiche. Lo stesso principio si applica ai parametri dei giunti, dove ogni grandez-za fisica (ad esempio corrente, resistengrandez-za della bobina motore) è rappresentata dalla propria

(5)

4.2.1. The Youbot and ROS

4.2.1.1. The ROS wrapper

Per quanto riguarda questo lavoro, noi operiamo a un livello superiore, non direttamente utilizzando le API youBot KUKA ma con ROS e la sua integrazione con le API youBot. ROS può essere utilizzato come un framework per controllare il KUKA youBot. Tra i vari nodi disponibili nello stack di ROS troviamo il wrapper per le API KUKA youBot. Con il driver youbot oodl è possibile spostare la base e il braccio del KUKA youBot. È sufficiente inviare messaggi su ROS come comandi. Le misure dei sensori propriocettivi come odometria e gli angoli dei giunti del braccio e delle ruote sono anche loro pubblicati su ROS. Il wrapper KUKA youBot API fornisce una corrispondenza tra i messaggi ROS e le chiamate di metodo delle API KUKA youBot (OODL) (Figura 4.7).

Figura 4.7.: KUKA youBot API ed il framework ROS

I messaggi utilizzati per il driver riflettono i differenti livelli di astrazione. Un livello è il livello dei giunti, in cui le posizioni dei giunti in radianti e le velocità dei giunti in rad/s possono essere impostati o rilevati. La piattaforma mobile ed il braccio periodicamente pubblicano messaggi JointState per la posizione e la velocità delle ruote e dei giunti del braccio. Il braccio riceve i messaggi JointTrajectory come comandi per impostare nuovi angoli per i giunti. La base mobile fornisce anche i messaggi a livello cinematico. È possibile inviare un messaggio Twist in cui si specificano le velocità di traslazione desiderata in m/s e la velocità di rotazione in rad/s. Il KUKA youBot ha una base omnidirezionale, in modo da poter impostare i valori di traslazione per x e y. La rotazione è attorno all’asse z, mentre valori positivi producono una rotazione antioraria. Nell’ambito del livello cineamtico

(6)

vengono pubblicate le misure di odometria così come i messaggi tfMessage per tenere traccia dei sistemi di riferimento usati.

4.2.1.2. Il modello youBot

Figura 4.8.: Modello dello youBot in RViz

L’integrazione di ROS sul KUKA youBot include un modello del robot youBot nel formato Unified Robot Description Format (URDF). Questo modello è un file XML che descrive gli elementi geometrici e le catene cinematiche. Può essere visualizzato con lo strumento RViz (Figura 4.8). È possibile visualizzare la descrizione statica e si può vedere anche lo stato dei dati pubblicati dal driver youbot oodl.

Riferimenti

Documenti correlati

In this paper a task-related analysis of the energetic performance of a 4-DOF industrial parallel robot is presented, and the optimal location of a predefined task with respect to

Fissata una terna di assi cartesiani (mutuamente ortogonali fra loro) Oxyz, con origine nel punto O, si riferisca il moto di un corpo materiale a tale terna, cioè si esaminino

Anche ciò che in apparenza è immobile, come una strada, si muove con la rotazione della Terra, con l’orbita della Terra intorno al Sole, con l’orbita del Sole intorno al centro

While the cross-sectional variance in the predicted probability that a household desires to adopt the Internet and does not because its adoption costs are higher than its gross

It could be reasonably argued that the Vacaroiu Executive could have issued a large volume of OUG, given the high agenda-setting power of these acts (as I will show in the

In particolare sono stati determinati i parametri più significativi per la caratterizzazione spazio-temporale del canale: path loss exponent, fattore-K, profilo temporale di

alte cifre richieste dai bancos de sangre privati, o di offrire incentivi economici a donatori sostitutivi, tanto familiari e amici quanto sco- nosciuti, la possibilità di ricorrere

L’analisi cinematica viene compiuta relativamente a punti fondamentali del robot manipolatore come il centro di massa della piattaforma mobile o i centri di massa dei membri