It's interesting to see how a simulation has been transformed into reality, and the benefits it will bring for pedestrians through one of Europe's busiest intersections. I would also guess that the simulation certainly aided the arguments for benefits of having Oxford Circus get a revamp. I'm certain there must be many more examples that exist, where simulations aid urban planners or architects for such applications.
Monday, 2 November 2009
Oxford Circus 'X' Crossing opens
It's interesting to see how a simulation has been transformed into reality, and the benefits it will bring for pedestrians through one of Europe's busiest intersections. I would also guess that the simulation certainly aided the arguments for benefits of having Oxford Circus get a revamp. I'm certain there must be many more examples that exist, where simulations aid urban planners or architects for such applications.
Monday, 14 September 2009
XBox 360 and GPGPU
Dr Simon Scarle, previously a Microsoft Rare Studio Software Engineer, who is now a researcher at Warwick University's WMG Digital Laboratory, used one of the XBox 360's GPUs to carry out research on how electrical signals around the heart moved around damaged cardiac cells.
Sony's PS3 has made the use of parallel computing from the very date of its release, with Stanford University's Folding@Home project, and has software development kits (SDK) for harnessing the parallel processing capability of the console.
On a previous post, I mentioned how the PS3's parallel computing capability has also been used to create a flocking simulation. It would be interesting to see if such simulations are, created on the X360, and to see if Microsoft will consider releasing an SDK to attract researchers and developers to use its console for this purpose.
It would certainly be a cost saving way of carrying out research that requires parallel computations, rather than the traditional use of clustered PCs or setting up a network of PCs.
Tuesday, 25 August 2009
Simulation of Starlings flocking behaviour using captured 3D video recordings of Starlings in flight
I mentioned Reynold's flocking behaviour model in an earlier post, it's nice to see progress has been made in creating more accurate simulations by actually capturing 3D recordings using stereographic photography of real starlings in flight.
These video recordings that were published last year has actually allowed Charlotte Hemelrijk at the University of Groningen to create a flocking model, and vary the parameters that closely match real flight recordings of the starlings.
These birds have very complex rules creating this self-organising behaviour, and the researchers seem to have been able to take apart the rules that govern them. These rules also govern other species such as fish, insects and even human crowds, and will likely give further insight into crowd behaviour, and allow for more accurate simulations of human crowds.
I'll be looking forward to seeing a video of this flocking simulation.
Monday, 24 August 2009
XFlow: Fluid simulation tool
The interesting part of this tool is that they have explored other fields, where CFD can be applied to. As they use a particle based method, it is well suited for applying to simulation for complex systems. Examples include:
1. Traffic Simulation
2. Cell Simulation
3. Crowd Simulation
For the crowd simulation application, the particles can represent the pedestrians in different conditions, which can then be applied to scenarios such as emergency evacuation.
Tuesday, 18 August 2009
Layar: Augmented Reality Browser - Google Android Platform
There can be some more exotic approaches that can be applied to this kind of platform, such as augmented reality games, although, they have been around for a while (mainly GPS location based games), this takes it to a whole new level.
I also wonder about the possibility of using this platform to study crowd behaviour of tourism and leisure activities. These types of behaviour have been traditionally very hard to model, and as this platform will mainly be focussed on these kinds of activities, it would give an insight into the behaviour. Although, getting user permission to gather such data would be an issue in itself.
Tuesday, 19 May 2009
Netlogo to 3D Max: Code
Based on the pseudocode for the Netlogo to 3DMax implementation, I have now decided to post a short tutorial on exporting the Netlogo traffic simulation to 3DMax. This tutorial will mainly cover the output of the turtles and visualising it in 3DMax.
Netlogo (traffic grid simulation):
For the turtles, I output during runtime, therefore, open the file at the first tick, keep writing, and close the file at the last tick, depending on how many ticks you would want to output, in my case 500.
if ticks = 0 [file-open "myfile.txt"]
ask turtles [
file-write xcor file-type " " file-show ycor
]
if ticks >= 500 [file-close]
This will output in the form:
-12 (turtle: 2) 11
-17 (turtle: 0) 5
-4 (turtle: 1) -8
I didn't find a simple way just to output only the turtle id number, so I manually delete the brackets and text using find and replace, giving me an output as seen below:
-12 2 11
-17 0 5
-4 1 -8
Now our next step is to import it into 3DMax. Once the output file has been stored, the script below can be run, and on clicking the 'Make' button, locate the output file, and it will create the animation.
The code works by importing the Netlogo output file into an array. It can be found here.
I have commented the code in order to explain what is happening at each step.
Running this script will result in the animation shown in my previous post. To get the road patches, and traffic lights in 3DMax, the code can be extended further to store the patches and traffic light states in arrays for each frame, once imported from the Netlogo output.
Update: As pointed out by a reader, there is actually a simple way to output only the turtle id number using the command:
ask turtles [print who]
Therefore, the Netlogo output above can be obtained by using the following command
ask turtles
[
file-type word xcor " " file-type word who " " file-print ycor
]
Saturday, 25 April 2009
Big, Fast Crowds on the Sony PlayStation 3
The above model has a complexity of O(n2), as each boid needs to consider each other boid in order to determine whether its a nearby flockmate. The complexity can be reduced to O(n), by the use of spatial hashing that keeps the boids sorted according to their location, and therefore, increase the population of the boids.
Craig now works for the US R&D group of Sony Computer Entertainment. Recently he created a crowd simulation on the Sony PlayStation 3, which extends from the very early model above. As spatial hashing is used in order to accomodate large numbers of agents, here, it forms the basis of a scalable multi-processor approach to create large, fast crowd simulations. The PlayStation 3 has Cell processor, which consists of a Power Processor Unit (PPU), multiple Synergistic Processor Units (SPU) - 6 available to the model, and an RSX GPU. The model makes use of this architecture to spatially subdivide regions, and use the multiple SPUs to update a number of regions in parallel, accelerating the crowd simulation. The model has been able to incorporate 15,000 agents running at 60fps. A video can be seen by clicking the picture below:

It is interesting to see how different architectures can be used to create crowd simulations, and how the parallel processing nature of today's video games consoles, make them low-cost and high performance platforms for parallel execution. I will be looking forward to see other general purpose applications of the Sony PS3.