<html><body>
<p>Hello Yassir,<br>
<br>
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.<br>
<br>
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.<br>
<br>
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. <br>
<br>
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. <br>
<br>
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.<br>
<br>
<br>
-Mike Pitman/ Rez Tone<br>
<br>
<br>
<img width="16" height="16" src="cid:1__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt="Inactive hide details for Yasir Assam ---09/04/2008 08:08:03 AM---Hello,"><font color="#424282">Yasir Assam ---09/04/2008 08:08:03 AM---Hello,</font><br>
<br>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td style="background-image:url(cid:2__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com); background-repeat: no-repeat; " width="40%">
<ul>
<ul>
<ul>
<ul><b><font size="2">Yasir Assam <yassam@gmail.com></font></b><font size="2"> </font><br>
<font size="2">Sent by: opensim-dev-bounces@lists.berlios.de</font>
<p><font size="2">09/04/2008 04:59 AM</font>
<table border="1">
<tr valign="top"><td width="168" bgcolor="#FFFFFF"><div align="center"><font size="2">Please respond to<br>
opensim-dev@lists.berlios.de</font></div></td></tr>
</table>
</ul>
</ul>
</ul>
</ul>
</td><td width="60%">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">To</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">opensim-dev@lists.berlios.de</font></td></tr>
<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">cc</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
</td></tr>
<tr valign="top"><td width="1%"><img width="58" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<div align="right"><font size="2">Subject</font></div></td><td width="100%"><img width="1" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""><br>
<font size="2">[Opensim-dev] Can OpenSim be used for physically realistic training simulator?</font></td></tr>
</table>
<table border="0" cellspacing="0" cellpadding="0">
<tr valign="top"><td width="58"><img width="1" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""></td><td width="336"><img width="1" height="1" src="cid:3__=0ABBFE29DFDB9BC18f9e8a93df938@us.ibm.com" border="0" alt=""></td></tr>
</table>
</td></tr>
</table>
<br>
<tt>Hello,<br>
<br>
I'm considering writing modules for OpenSim to enable me to create a <br>
physically realistic training simulator.<br>
<br>
In brief, my simulator has to<br>
<br>
* simulate & render certain physical processes realistically (e.g.<br>
weather events such as hurricanes and their effects on the<br>
environment)<br>
* constrain avatar movements (e.g. no flying, and impede motion on<br>
fatigue)<br>
* allow a privileged user to fast-forward/rewind simulation (e.g.<br>
jump forward 6 hours in the simulation of the hurricane)<br>
* allow a privileged user to have multiple views of simulation (I<br>
realise this depends in part on the client app)<br>
* be able to morph/add/remove physical objects in real-time for all<br>
users to see and interact with<br>
* log user actions for assessment purposes<br>
* voice chat with simulated distance & direction (someone far away<br>
in the sim sounds distant)<br>
<br>
There's no need for the simulator to integrate with other grids (but <br>
there's no harm if it gets that capability out of the box).<br>
<br>
Is it sensible to build something like this on top of OpenSim or should <br>
I just write my own engine?<br>
<br>
Thanks,<br>
Yasir<br>
<br>
_______________________________________________<br>
Opensim-dev mailing list<br>
Opensim-dev@lists.berlios.de<br>
</tt><tt><a href="https://lists.berlios.de/mailman/listinfo/opensim-dev">https://lists.berlios.de/mailman/listinfo/opensim-dev</a></tt><tt><br>
</tt><br>
</body></html>