Re: RT-MBDyn
"Pierangelo Masarati" <[email protected]>
| Newsgroups | gmane.science.robotics.orocos.user |
|---|---|
| Message-ID | <[email protected]> |
Herman Bruyninckx writes: > On Fri, 12 Mar 2004, Pierangelo Masarati wrote: > >> Since you've always been very friendly to our >> work, which is strongly related to yours, let >> me announce you that RT-MBDyn, i.e. RTAI-enabled >> MBDyn for real-time multibody dynamics simulation, >> has been released in beta: > Thanks for the announcement! > > Maybe the Orocos community could benefit from a two sentences summary > about what exactly are the "realtime" features of a simulation? In > what respect does it differ from a "fast" simulator? Sure. The simulation is scheduled in hard real time; it can be scheduled periodically, or controlled by other events, e.g. mailboxes, semaphores and so, which, thanks to netrpc and rtnet, can be generated by remote processes. This way, the simulator entirely replaces the real system inside a simulated hardware-in-the-loop environment. In the cases that are being simulated right now, mostly for development purposes, we usually address the simulation of industrial robots; the control is performed by a separate process, generated from simulink or scicos via RTAILab. The processes interact by means of RTAI mailboxes. You can really find more details on the RT-MBDyn site, which is maintained by Matteo Martegani. I'm glad you asked about the differences between RT-MBDyn and a fast simulator. Now we can say that MBDyn is a fast simulator; we're dedicating a considerable amount of time in making it as fast as possible to allow the real-time simulation of large models at reasonable sampling rates. The difference is in the tight scheduling to allow interaction with reality. The directions we're considering for performances are: - dedicated sparse solvers; usually sparse solvers are optimized for space rather than for speed; they save time by reducing the amount of overall operations, but memory consumption is the real objective; we are working on the implementation of sparse solvers optimized for speed (the "naive" solver that is in the released beta); - parallelization; the currently released version can perform multithreaded element jacobian and residual assembly; however, since in many problems assembly is only a portion of the solution time, this didn't get much speed improvement for the small problems that are interesting for real-time; we're working on the parallelization of the "naive" solver, which should scale pretty well; - general code cleanup; we already squeezed a lot of unnecessary or non-optimized operations out of MBDyn; we can say it's some 20/50% faster than before, depending on the type and size of the problem. Pierangelo. Dr. Pierangelo Masarati | voice: +39 02 2399 8309 Dip. Ing. Aerospaziale | fax: +39 02 2399 8334 Politecnico di Milano | mailto:[email protected] via La Masa 34, 20156 Milano, Italy | http://www.aero.polimi.it/~masarati