Thursday, December 31, 2009

Physics Engines Roundup '09

Physics engines are starting to conslidate into a few key solid products. When I first began the Physics Abstraction Layer (PAL) project there were only 4 freely available physics engines: Dynamo, ODE, Tokamak, and Newton (AERO and Dynamechs were also available but weren't really stand alone engines, I guess the same could be said about Dynamo). What followed was an explosion of physics engines. This years big trend has been parallelization (usually in the form of GPU support) and porting to Mac OS X.

PAL had some big changes in 2009 as well, including the new CMake build system, generic bodies, soft bodies and more.

Here is a run-down on 2009's progress in the freely available physics engines:
  • Bullet Physics: Bullet went official in a big way, a number of movies, games, DCC packages, etc using and supporting the engine. Some big additions were on the parallelization front, with the CUDA/GPU code maturing, and the support from AMD to add OpenCL to Bullet. The engine seems to be stabilizing and appears to have clearly taken the Open Source physics engine crown.

  • Chrono Engine: Added support for CUDA/GPU, Linux, and Matlab (vaugely).
  • Havok: No major changes (faster raytracing), mostly bugfix updates. Public release of the behaviour tool.

  • Newton Game Dynamics: Newton 2.xx was made public in 2009, with a whole raft of big changes (too many to list fully here), parallelization, multiplatform (Linux, Mac OSX, iPhone), Pascal, and a slowly maturing GPU/CUDA/OpenCL port.

  • nVidia PhysX: Official WHQL drivers for PhysX GPU acceleration.

  • OpenTissue: Improved SPH support, and OS X port.
  • PhysSim: Was renamed Moby, and has progressed with more examples and improved solvers.
  • Simple Physics Engine: Improved parallelization and Linux, Mac OS X, and iPhone support.
  • True Axis: Launched an iPhone game with their physics engine.

And that about wraps it up.

Saturday, December 19, 2009


Encoding video content for the iRiver is extermely difficult, it would be better if the manafacturer wouldn't claim to support a whole bunch of file formats that they don't.

The challenge is made more difficult if you are not using Windows. There are a few tools out there though, but all require Mplayer, and on a mac you will need Mplayer for OS X - which is rarely updated. You will need to get the old version which comes with mencoder and copy it out of the application package.

This is the command I used, which worked fine for the iRiver Χ20:
./mencoder pls_sunflower.avi -quiet -vf scale=320:240,expand=320:240 -oac mp3lame -lameopts abr=128 -ovc xvid -xvidencopts bitrate=450 -of avi -af resample=44100 -srate 44100 -ofps 10 -o test3.avi

Unfortunately that didn't work too well on the E10. But here are some links to help with that:

Friday, December 18, 2009

MAGIC 2010 - Briefing

I attended the MAGIC 2010 briefing for our team at the DSTO offices in Sydney. It was great to meet the rest of team MAGICian/WAMbot that I hadn't met yet, and some of the other Australian teams:
  • Strategic Engineering, a very large group of students from a number of different Sydney universities were there in full force. Seems like the team with the least experience, but with the most enthusiasm. A bit of a wildcard entry but they have the funding they need and certainly have plenty of man power and red t-shirts.
  • NUMINENCE, a team based from LaTrobe, with a strong commercial focus. The industry drive in this team could make it a more interesting entry compared to the other more academically focused groups, hopefully the lack of funding won't be a strong concern.
  • University of New South Wales, a strong academic contender, they have a small focused hard-wroking team. As an unfunded entry they might feel to be under dogs, but I'm confident that they will do well.

Our own team has grown in size (again), with our South Australian counterparts picking up some help from Lockheed Martin, and gaining some sponsorship from Dlink.

It was a very friendly group and it was great to see some of the same people again as from the Adelaide meeting. We drilled the organizers with questions for a couple of hours and kept the other teams waiting (sorry!), but now we have a clear(er) idea of what needs to be done and are looking forward to an exciting and challenging demonstration in June.

I wonder how the briefing in the US went, it would have been great to be there.

Monday, December 14, 2009

Gazebo with Ubuntu

Gazebo is an open source 3D robot simulator with compatibility with the Player/Stage project. (Another great simulator is OpenRAVE, and of course our very own set of robot simulators, EyeSim, SubSim and AutoSim, and USARsim).

For an introduction to Gazebo these two presentations give a good start: a player tutorial, and a gazebo tutorial.

Getting Gazebo running is a bit complex, but this is what I did: (Using Ubuntu)
  1. Download gazebo 0.8pre3
  2. apt-get install the following:

  3. export PATH=/usr/local/bin:$PATH
    export CPATH=/usr/local/include:$CPATH
    export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
    export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
    export LD_LIBRARY_PATH = /usr/local/lib:$LD_LIBRARY_PATH

  4. Now type:
    sudo scons install
I had to do it about three times before it worked, if you get any error messages, just google them. I tried 0.9 first with no luck. (Some issue with free image). Brock Woolf modified these instructions to get Gazebo working with Ubuntu 9.10 Jaunty

Monday, December 07, 2009

Larabee and more

I predicted in a previous post that Larabee would be another Intel flop:
Having a look at Larabee, it seems immediately clear to me that it's just another Itanium (The wonderchip that wasn't).
Unfortunately, I was wrong.
The rumor started being floated a month or two ago that Larabee would be canceled, and now it has been confirmed: No more Larabee.. Why? Too hard to program, apparently. So instead of launching a doomed product, they canceled it. The news was hidden behind the news of a 48 core parallel processor being announced. Coincidence? Seems like the Larabee concept will live on, 100 copies of the former-GPU will still be produced for research purposes. It seems now that the Cell/Larabee way of dealing with graphics rendering problems is dead again, and nVidia should be in the clear for a while. This does raise some interesting questions about what the future of AMD/ATI's fusion will be..

Some other bits of news, GameDev has a great article on 2D 'spring' physics, and covers some intermediate concepts like the SAT. John Ratcliff finally made a Convex decomposition library from his excellent Convex decomposition code - something I've been meaning to do for about two years now.

Blackspawn made an interesting post about using SVG for debugging, his website has a number of gem's, including cellular textures and circular harmonics.
HPMC released a GPU-based isosurface renderer, and I'll end this post with some videos of the work: