Posts Tagged ‘Physic simulation’

SimplyCube beta first independent review

March 15, 2010

When we launched our beta a little more than a month ago, one of our main expectations was to see how people will review and comment our product. We’ve received recently a first in depth review of the beta by a PhD student at the Department of Computing of the Imperial College of London. To let you judge by yourself here is the conclusion of the review:

“The tool claims to be “The easiest tool to create real-time 3d software”, this beta release is a first step at this. It provides a good SDK for a rendering engine with physics. This provides some novel features such as the support for multiple physics engines in the same application and a nice Day/Night lighting system. The SDK looks like a good stepping stone to an intuitive user interface. Which is due in a future release. The engine is meant to support robotics and simulations however the beta currently gives limited intuition on how will it fulfils this role.

In summary this is an interesting product since it leverages and extends a number technically competent products from Microsoft namely the .Net framework in C#, Microsoft’s Robotics Studio and the XNA Games Studio. This provides a good starting point and it will be interesting to see how this product develops.”

SimplySim beta review

Click to read the full report (PDF)

This first independent review comes as a support for our SimplyCube, because although only a fraction of the final product has been tested (the editors are not yet available in the beta), the strong points highlighted by the review are the one we’ve been working for:

  • An easy to use 3D real time simulation SDK
  • A multi-physics engine, physics simulation
  • Advanced 3D rendering with post processing and lightning effects

The product continues to evolve, and as I said in last week’s post the next step is a series of demos showing a more advanced use of the engine. Of course, if you want to get a better idea of what our product is worth, register for the beta and test the product by yourself! And if you make your own review of our product, we’ll be glad to post it here.

More about our UAV simulation

November 27, 2009

Today, Loïc Morvan, who created the UAV  simulation (UAV stands for unmanned aerial vehicle). I have presented in a video last week, is going to tell us more about his work.

SimplySim UAV Simulation

Loïc, what is exactly behind this UAV simulation?

Well, this is a real physic 3D real-time simulation that you see here. It is based on Microsoft XNA for 3D rendering, and on different physic engines for physics. The simulated drone which is flying here has real physic attributes such as its mass, inertia, collision shapes… and it behaves realistically to torques and forces we apply to it. The physic equations are solved by precise discrete solvers, which make the drone having a behavior close to reality.

How did you build that simulated drone, and how long did that take?

The whole construction of the simulated drone did not take more than a few days.

First, we need the 3D model of the drone. That part of the work is done by our 3D designers, and it is actually the longer (1 or 2 days).

Then, we have to define the physic shapes of the drones, and physic constraints (mass, dynamic friction, static friction…). As the physic shapes are defined independently from the 3D model, we can choose our degree of complexity by using more or less accurate physic shapes.

Once the 3D model and physic properties are defined, I have attached some sensors, like the camera and the inclinometers.

Finally, I have added the rotors which are generic objects composed by a rotor blade and an engine (mechanic joint), so that the drone flying algorithm can be implemented.

That was over. The next step was to implement the drone control algorithms to test its behavior.

The simulated drone is supposed to behave like the real one, but you use generic objects, how can you explain that?

Generic objects such as the rotors have many parameters so that you can customize them to create your precise item. Here I have set particular max rotation speed and max torque for my rotors, but we could imagine setting other values for another drone.

What about the drone sensors (camera, inclinometers…)?

We also use generic elements. If you want to create a particular simulated motion camera, you just have to take our generic one and modify the parameters: size and quality of the pictures, number of frames per second, additional noise… That’s it!

Could you tell us more about how the wind is simulated?

The simulated wind is pre-generated considering the static objects (buildings…) which compose the simulation. This generation produces a 2D or 3D map which contains the wind information in each 3D point of the environment. Some of the algorithms we use for that come from the world of image processing.

The map is then inserted into the simulation and the wind is applied to every physic object.

You talk about “multi physic engine compatibility”, could you explain what it is exactly?

A physic engine is the program which computes the physic calculations. It contains the discrete solver used to integrate the equations. There are many physic engines available on the market: PhysX, Newton Game Dynamics, Havok, ODE…

Today, most of simulations are compatible with only one of these physic engines. What we do at SimplySim, is to provide the ability to be compatible with any of them, thanks to a technology that we have called SimplyDynamics. This is why we can talk about “multi physic engine compatibility”.

When you create a 3D simulation, do you only need the SimplyEngine?

No, I also need the 3D models of what I want to simulate. For the drone, we have modeled the drone and the 3D environment with 3D modeling tools which our not created by SimplySim. After that, we worked with the SimplyEngine and with our own edition tools.

Can you tell us a bit more about these edition tools ?

These edition tools represent an easy and graphic way to create the different parts of a simulation. For instance, we have one editor to design the physic properties, which is more user-friendly than typing code! There are a lot of other editors we prepare, some of them will be released in 2010, the goal is really to ease as much as possible the process of creating a 3D simulation.

ENTVKX3SPZDZ


Drone in city center video

November 20, 2009

Today we introduce a first video of the SimplyEngine (our new 3D simulation engine). This video shows a demo we created around the use case of a UAV (unmanned aerial vehicle) simulation in a city center.

If you want to learn more about our drone simulation, check out this page. We’ll also make a longer post here in the following weeks to give you a more detailed view of our work on this simulation. By the way if you have questions or comments, feel free to ask 😉


Introducing our « 3D simulation engine » : the SimplyEngine

November 18, 2009

Since the beginning of 2009, we’ve been busy working on a new product to increase dramatically the realism of real time 3D simulations. I think it is now time to start showing the first preview of this new product… In today’s post we’ll talk about the driving ideas behind the product, why we created it, and the early conception choices we have made.

3D urban environment by SimplySim

Realism is more than just nice looking 3D

Since we have launched our company, our mission has been to bring the most realistic 3D simulations to our customers. 3D simulation consists of creating a virtual model of a real life (or hypothetical) situation, usually to study it (there are other uses of 3D simulation technologies that we will discuss in another post). Realism is of course the goal of anyone who develops or uses a simulation.

3D graphic realism can be stunning nowadays but it represents only one element of realism. 3D is only a tool, which should be made as useful as possible for the real aims of the software application. When we decided to create our simulation engine, we had of course graphic realism in mind (and I think the screenshots tells enough of what we have done on that point) but more importantly we had identified other essential aspects of realism for our product.

The SimplyEngine is what we like to call a “3D simulation engine”, that is the core software on which any real time 3D simulation can be built. We decided to call it a “simulation engine”, because it is not only a nice looking 3D engine, but it includes important elements for physic realism and for software and hardware interactions.

Physic simulation

Our first 3D simulations were made for robotic simulation. Testing and validating the behavior of a robot in a 3D software application is a challenging task. One essential aspect of this challenge is physics realism: creating a simulation where objects behave realistically, where they are liable to physic laws.

When we created our product, physic realism was one of the key priorities. We have created a full software library dedicated to it, with among other thing the ability to use any of the physic engines available on the market (NVidia PhysX, Newton Game Dynamics, Havok, ODE…).

Interactions with software and hardware

As I was saying above, we really consider that 3D technologies should be a tool. A tool that can be applied to many problems and that therefore should have the ability to interact easily with many other elements (software, hardware or human beings) to create a solution.

Our 3D simulation engine is based on a service oriented software architecture that has been designed to make every part of our product easily compatible with any other software application. We’ll discuss in an upcoming post the benefits of our service oriented software architecture.

Ease of use

Finally, we believe that the user should always be the main focus of any software application. That’s why our developments are focused on the ease of use of our products. Our goal is that any software developer should be able to use 3D technologies in his applications, and in ways relevant to his business needs, without any specific formation. Again it will take another post to tell you more about the efforts we made on the ease of use… stay tuned! 🙂