La risposta breve è che non penso che esista un buon formato di file di movimento standardizzato e non credo che ci siano buoni strumenti di posa robotici generici. Sarà richiesto un certo livello di programmazione personalizzata.
RE: formati di file standard per il movimento del robot
Collada è inteso come formato standardizzato di file di interscambio di dati 3D e supporta la memorizzazione di informazioni di base sul tipo di animazione e fisica con un modello. Il supporto non è coerente tra gli strumenti, soprattutto per i dati di animazione / fisica.
Oltre a ciò, è improbabile che tu abbia formati di file di uso generale per la memorizzazione di animazioni robotiche. (Anche se non confrontabile al 100%, controlla l' elenco di Wikipedia dei formati di file di movimento / gesto .) Tutto quello che ho visto è specifico per la piattaforma e / o proprietaria. Considera che l'industria del gioco e del CAD sono ordini di grandezza più grandi e più specifici della robotica. Hanno requisiti simili, ma non esiste un formato di file defacto.
Se sei interessato a una visione più programmatica dei dati da parte di questi sistemi proprietari, però, guardare gli strumenti specializzati utilizzati da questi settori potrebbe darti alcune opzioni e idee aggiuntive. Esempi:
La creazione, l'archiviazione e l'esecuzione di animazioni di personaggi (spesso umanoidi), in particolare, sono ben rappresentate e molto avanzate nel settore dello sviluppo dei giochi. Per un prezzo Credo che la maggior parte degli studi più grandi abbia un intero team dedicato a non fare altro che convertire i dati da un sistema all'altro e alimentarli attraverso una pipeline di produzione.
Un problema ricorrente con l'utilizzo di strumenti di sviluppo di giochi (o di strumenti creativi di tipo 3D in generale) per la robotica è che nei giochi / film, è che di solito va bene se l'animazione non modella esattamente la realtà. Ciò può causare problemi quando applicato ai robot del mondo reale.
RE: Strumenti di posa
I simulatori robotici (come il V-REP di Coppelia o persino MS Robotics Studio ) potrebbero essere utili se fornissero un'API / esportazione di qualche tipo e fossero in grado di simulare robot di tipo umanoide. Tuttavia, non conosco nessuno che supporti un modello umanoide completo. La maggior parte sono solo per modellare braccia e robot su ruote. Tuttavia, forse potresti modellare i tuoi movimenti umanoidi come una raccolta di sottosistemi di braccio indipendenti? cioè la gamba sinistra è un braccio robotico. In tal caso, alcuni altri strumenti wsyiwyg sarebbero aperti a te.
Flowstone è un altro strumento visivo che potrebbe essere utilizzato per la posa, ma probabilmente non il wysiwyg che avevi in mente.
Se non hai bisogno di WYSIWYG e sei aperto a qualche programmazione, potresti voler dare un'occhiata a PyPose e Nuke .
Allo stesso modo, ma richiedendo una programmazione più avanzata, vari motori fisici potrebbero essere interessanti per rilevare tutti gli input (modelli 3D e parametri associati) e quindi fornire risultati di movimento applicando forze e cinematica inversa. Gli esempi includono ODE e fisica dei proiettili . Un'opzione inclinata programmatica simile sarebbe quella di utilizzare ROS. Ho visto alcuni progetti e note riguardanti il potenziale supporto dei ROS per i movimenti di tipo umanoide.
Detto questo ... anche se difficile da imparare, penso ancora che Blender3D abbia il potenziale per essere una delle migliori opzioni per la robotica di tipo hobbiest avanzato e il lavoro di movimento, in particolare a causa della sua stretta integrazione con il linguaggio di programmazione Python. Qualcuno ha già sottolineato il wiki di Blender Robotics nei commenti. Dovresti anche rivedere il video YouTube di Grantlo321 usando Blender per controllare i servi suonando un piano, così come il post sul blog di Justin Daily dove descrive l'uso di Blender / Python per il servocontrollo. Concordo sul fatto che Blender3D sia difficile da imparare, ma probabilmente sarà vero con quasi tutti i software di tipo wysiwyg 3D a meno che il focus non sia molto ristretto.