neurali:openrave
Differences
This shows you the differences between two versions of the page.
Previous revision | |||
— | neurali:openrave [2020/06/08 22:20] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== OpenRAVE ====== | ||
+ | |||
+ | ===== Dipendenze ===== | ||
+ | |||
+ | **NOTA**: in data 2015-02-01 il pacchetto ufficiale ubuntu openrave06-sp = single precision | ||
+ | è disponibile solo per Ubuntu 12.04 (precise)..... | ||
+ | |||
+ | * ogre-1.8-tool | ||
+ | * cmake | ||
+ | * libsoqt4-dev | ||
+ | * libboost-python-dev python python-dev python-numpy ipython | ||
+ | * Bullet physics | ||
+ | |||
+ | |||
+ | ===== Struttura ===== | ||
+ | |||
+ | |||
+ | è composto da 4 strati: | ||
+ | |||
+ | - core | ||
+ | * possono essere eseguite più istanze di core contemporaneamente | ||
+ | * non è necessario riavviare i core | ||
+ | * ogni core carica i propri plugin e i propri //planner// | ||
+ | - text comand line (per controllare simulazione, | ||
+ | - gui viewer | ||
+ | - interfaccia (tramite plugin) | ||
+ | |||
+ | [[neurali: | ||
+ | ==== Interfacce ==== | ||
+ | |||
+ | |||
+ | Sono disponibili i seguenti tipi di interfacce (tramite plugin) | ||
+ | * (motion/ | ||
+ | * controller: fornisce funzionalità per traiettorie e query stato robot | ||
+ | * sensore: fornisce dati in formato standard | ||
+ | * robot: è l' | ||
+ | * invers kinetic solver: restituisce la soluzione da usare come input verso un //planner// | ||
+ | * motore di fisica: astrazione verso una generica libreria di fisica | ||
+ | |||
+ | ==== Funzioni ==== | ||
+ | |||
+ | |||
+ | - comunicazione con plugin | ||
+ | - ricevere valori dalla scena (oggetti o robot) | ||
+ | - inviare valori alla scena | ||
+ | - interrogare per collisioni | ||
+ | - aggiungere o eliminare plugin/ | ||
+ | - plotting in GUI 3d | ||
+ | |||
+ | |||
+ | ===== IKFast ===== | ||
+ | |||
+ | * utilizza soluzioni in forma chiusa, mille volte più rapide delle soluzioni numeriche | ||
+ | * si fornisce posizione finale desiderata (x,y,z), si ottengono i movimenti necessari per raggiungere tale posizione | ||
+ | * se il numero delle giunture (join) del robot è elevato, i Gradi di libertà del movimento (DOF) (le incognite) sono troppe rispetto alle equazioni disponibili quindi bisogna fornire dei vingoli aggiuntivi | ||
+ | * i bracci del robot non si devono intersecare mai! | ||
+ | * rileva casi degeneri con infinite soluzioni, e soluzioni non valide | ||
+ | * IKFast genera codice C++ compilabile | ||
+ | |||
+ | | ||
+ | - La sottoclasse Robot.Manipulator, | ||
+ | - Database generator: gli elementi di cinematica sono precompilati e disponibili nelle tabelle di un database | ||
+ | |||
+ | ==== LAPAC ==== | ||
+ | |||
+ | liblapacke-dev | ||
+ | |||
+ | Linear Algebra Package : utile per risolvere sistemi di equazioni lineari, invertire matrici, ecc. | ||