[Opensim-dev] Can OpenSim be used for physically realistic training simulator?

Diva Canto diva at metaverseink.com
Thu Sep 4 15:55:36 UTC 2008


Mike,

Great post! I have been trying to explain this distinction between 
simulation and visualization to a lot of people, and the role of virtual 
worlds in this, and I must say that your post nails it. I completely 
agree with you.

Let me share my experience wrt setting up/controlling/managing 
simulations. There are two things: (1) the front-end (user) interface; 
and (2) the backend (simulation) interface; the virtual world sits in 
the middle. For the front-end, I have been using OpenSim's http 
facilities, i.e. the user controls the simulations via web pages that 
are served by OpenSim itself, and sees the results/stats of the 
simulation on those web pages. So, essentially, I'm using opensim as a 
glorified web application server for that; it's as painful as any other 
web app server -- having to assemble the http programatically from 
pieces, some of them constant, some of them variable. Apart from that 
well-known pain, if you run the embedded browser, everything looks well 
integrated  -- see pictures here:
http://www.ics.uci.edu/~lopes/images/traffic-control/
But it would be nice to be able to assemble these web pages in some 
other more declarative way, especially for when the output becomes more 
elaborate with charts, etc. Being able to do Javascript or similar would 
also help a lot -- basically a computation that opemsim would send to 
these 2d visualization clients is what I'm looking for.

I haven't played around with the backend interface yet, I've only done 
very simple simulations directly in opensim, using the opensim API. But 
my plan is, again, to use HTTP and/or XMLRPC and/or REST. In other 
words, I'm seeing this as a 3-layer architecture: web browser -- opensim 
-- simulation engine; or 2D View -- Glorified-3D-Controller-Visualizer 
-- Model. Doing the backend interface over HTTP has its drawbacks, 
namely on the speed, which will limit the kinds of things that can be 
visualized inworld. Nevertheless, that is my current plan. I would like 
to hear of other interfaces.

For doing these systems, there are two interesting things in here: one 
is deciding which data to visualize in immersive 3D and which data to 
visualize in plain old 2D; the other one is deciding which features of 
the backend simulation are exposed inworld and which features are not 
exposed. There's a thin line in all of this, there is no recipe; it 
really depends on the particular simulation and the points you want to 
make visible, and how. The immersive 3D visualization is psychologically 
more powerful, but not everything should be exposed there, not just 
because of the enormous amount of simulation data and processing, but 
also because most of the internals of simulations are very 
uninteresting; visualizations of those internals may even be 
misleading/disturbing when we're dealing with probabilistic models and 
the visualization is seen by ordinary people.

My main point is: interesting times ahead! :-)

Crista

Mike Pitman wrote:
>
> Hello Yassir,
>
> I'm happy to hear of your interest in using the opensim platform for 
> realistic physical process simulation. There are several scattered 
> efforts that have looked at this, including a few I'm involved with. 
> I'll offer some thoughts on this, which are just my suggestions to 
> guide your approach. There is a larger discussion that should 
> eventually take place on opensim-dev when opensim is further along.
>
> The physics engines in opensim really are not designed to be general 
> purpose simulation engines for models of physically realistic 
> processes. Domain models will have a level of detail specific to the 
> model which strongly determines force calculation and integration. The 
> physics engine in opensim is purposed for keeping avatars from bumping 
> into things, (hopefully soon) vehicles, and basically running the 
> coarse level of everyday realism that keeps the user's mind in 
> connection with what is happening in world. We really wouldn't want to 
> push more realism on to the internal physics engine until a number of 
> other issues get resolved.
>
> Having said that, I'm very optimistic about opensim as a platform for 
> scientific work. The critical point is where you factor the workload, 
> and specifically what you use opensim for. I see opensim more of an 
> interface to backend systems that perform special simulations rather 
> than a tool to simulate. Simulations of physical process can produce 
> enormous amounts of data ( I deal with close to a petabyte of all-atom 
> dynamics trajectories). Most of simulation data is not interpretively 
> useful, and analysis of that data has to be understood well enough to 
> write papers with figures in them, and make simple clear points about 
> what you learned. Opensim's greatest role here, in my opinion, sits in 
> between the simulation and the paper writing, closer to the paper than 
> the simulation. The part where you're working collaboratively to 
> analyze what it means, and what you found. In my experience, this 
> comes down to simple models that make simple points, which could not 
> have been arrived at without the heavy realistic simulation.
>
> Ok, so why do I think this post belongs in opensim-dev? Because the 
> use case of interfacing with backend simulations is a recurring one, 
> and a sensible way to approach that class is to bring it to a 
> discussion of what interfaces are needed to set up the simulations in 
> world, execute and manage job queues controlling the simulation, 
> maintaining simulation parameters, managing output and archiving, 
> accessing meta data about the simulation, control the data reduction 
> from inworld, maintaining domain specific metrics and measurement 
> procedures, and then the interesting part: data visualization, 
> understanding, sharing and group discussions in the context of the 
> data. There are lots of aspects to that process where opensim can 
> bring real advances to the table, and genuinely lead to the dismissal 
> of contempory techniques for the great new way, but I feel actually 
> doing the simulation in opensim misses the point. Where we need to 
> focus in this context, is what are the use cases that drive easier 
> integration from inworld to backend systems, both for controlling 
> backend systems, and understanding the simple summaries of what 
> backend systems can tell us.
>
> I'll invite you to think more about how best to factor your overall 
> use case in a way that keeps opensim as a 'thin' layer of control and 
> shared coarse visualization, and discuss more specifically what the 
> actual requirements might look like to produce results in your domain, 
> and share them with others.
>
>
> -Mike Pitman/ Rez Tone
>
>
> Inactive hide details for Yasir Assam ---09/04/2008 08:08:03 
> AM---Hello,Yasir Assam ---09/04/2008 08:08:03 AM---Hello,
>
>                         *Yasir Assam <yassam at gmail.com>*
>                         Sent by: opensim-dev-bounces at lists.berlios.de
>
>                         09/04/2008 04:59 AM
>                         Please respond to
>                         opensim-dev at lists.berlios.de
>
> 	
>
> To
> 	
> opensim-dev at lists.berlios.de
>
> cc
> 	
>
> Subject
> 	
> [Opensim-dev] Can OpenSim be used for physically realistic training 
> simulator?
>
> 	
>
>
> Hello,
>
> I'm considering writing modules for OpenSim to enable me to create a
> physically realistic training simulator.
>
> In brief, my simulator has to
>
>    * simulate & render certain physical processes realistically (e.g.
>      weather events such as hurricanes and their effects on the
>      environment)
>    * constrain avatar movements (e.g. no flying, and impede motion on
>      fatigue)
>    * allow a privileged user to fast-forward/rewind simulation (e.g.
>      jump forward 6 hours in the simulation of the hurricane)
>    * allow a privileged user to have multiple views of simulation (I
>      realise this depends in part on the client app)
>    * be able to morph/add/remove physical objects in real-time for all
>      users to see and interact with
>    * log user actions for assessment purposes
>    * voice chat with simulated distance & direction (someone far away
>      in the sim sounds distant)
>
> There's no need for the simulator to integrate with other grids (but
> there's no harm if it gets that capability out of the box).
>
> Is it sensible to build something like this on top of OpenSim or should
> I just write my own engine?
>
> Thanks,
> Yasir
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-dev
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080904/69a8999a/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 105 bytes
Desc: not available
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080904/69a8999a/attachment-0002.gif>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/gif
Size: 45 bytes
Desc: not available
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20080904/69a8999a/attachment-0003.gif>


More information about the Opensim-dev mailing list