Wednesday, 10 November 2010

Tube Strike: A changed Macro-System

The recent tube strike and a discussion with one of my professors has led me to think about micro and macro systems as a whole, and in turn simulations working within these constraints.


First of all, let me say a little about a normal working day and what happens during this time. We have a fully working transport system, a nice sunny day (or mostly grey, in London at least!), a phenomena, if you'd allow me to call it that, takes place i.e., commuting. Individuals work, that's how the economy and you, as an individual survive and provide for yourself, and your family. So, we have people who commute to and from work everyday. What happens during the commute? Each individual, makes an independent decision in order to reach their work destination. How they get there is based on personal choice, which is generally ruled by the amount of time it would take to get to work, the distance to workplace, and the number of changes that are required. This decision gets refined as the individual finds him / her self making the most efficient decision to reach the workplace.

Each individual takes these similar independent decisions becoming routine over time. Aggregating all these independent decisions together, we get people moving around, and a pattern develops as the micro-system stabilises, in which ways people move to commute to and from work. These hundreds of independent decisions are taking place within the constraints of a macro-system. The macro-system in play here is the transport system, and these individuals actually play by the rules set out by the macro-system in place here.

A macro-system can be defined here as a large system within which micro-systems are contained. Therefore, here, we have the transport system as the large macro-system, and the individuals as the micro-systems which are contained within this large system, and taking their independent decisions within the constraints set out by it.


Now, we have a tube strike, like the one on 3 November 2010. What happens here?! The large macro-system changes. Most tube lines don't work, sever delays on lines that do, more buses on routes, cycles being transported more frequently to fill up empty slots. This creates havoc in the micro-system, but it doesn't fail. In fact, what happens is that the micro-system adjusts the way it works within the new constraints set out by the macro-system in play, and then we have the same individuals making their renewed complete independent decisions, again taking into account the most efficient way to get to work by finding the lines / buses / boats that are working, and taking those transport links, or replacing it with cycles or cars. We now have a micro-system changing, but in a way that individuals still get to work, but using the new constraints set out by the macro-system at play, and they work within these constraints. Complaints? Yes....Impossible? No, not at all!

It's the laws of the macro-system here. Micro-systems are contained within it, and they will change in order to work within the constraints of the macro-system, or even be influenced by it. An analogy with Ecological Systems Theory can also be drawn, but I'll leave that for another post!

This is the problem I wonder about when I'm designing my model, I need these micro behaviours to work within the constraints of the macro-system at play. Do I model the macro-system first, or model the micro-system and build a macro-system around it? It's the chicken or egg problem again here!

Tuesday, 8 June 2010

Pedestrian flow at Euston station

A public discussion held recently at City Hall by Art on the Underground, about London journeys shows a good application of simulation of crowds. As you can see in the images below, London Underground studies people's movements through tube stations to see how they can help by regulating passenger flows through the placement of tickets gates and in turn improving the congestion.



The image above shows passenger flow before improving the congestion, simulated using Legion. The green dots are people entering, and red dots people exiting.



The flow improves considerably as can be seen once the ticket gates and hall layout were changed. The congestion is reduced as it provides more of a two lane flow of exiting and entering pedestrians. More details about the public discussion can be found on Going Underground's Blog

Thursday, 21 January 2010

Paper: Aggregate Dynamics for Dense Crowd Simulation (2009)

Ming Lin's latest work has been featured in the recent publication of SIGGRAPH Asia 2009. The author presents an innovative method that is able to simulate tens of thousands of agents at interative rates.

The work achieves these rates by combining a local behavioural model with a global planner such as Continuum Crowds or Adaptive elastic Roadmaps (AeRO).

Image taken from gamma.cs.unc.edu
Image taken from gamma.cs.unc.edu
The image above shows an overview of the algorithm. So how does this actually work?

First of all, as I mentioned this approach combines a local behaviour with a global planner. The global planner here computes the flow of agents around an environment. The steps are described below:
  • Each agent is given a position and a current velocity computed.
  • Using the global planner such as the roadmap based method or Continuum Crowds method, a preferred velocity is then computed for each agent.
  • The navigable area in the environment is divided into a discrete grid of cells. The flow of particle for each cell is computed, using the current velocity and density of agents in the cell.
  • For each agent, a new velocity is computed, by interpolating the flow velocity with the desired velocity weighted by the local density at each cell.
  • Velocities of agents are constrained in dense areas by the global particle flow. In coarser areas, the agent's velocity are influence less by the global flow, and more by the velocity for the cell.
  • Finally, collision detection is applied, as well as a minimum distance for each pair of individual agents, similar to the continuum crowds simulation.
Here's a video of the simulation:


Aggregate Dynamics for Dense Crowd Simulation

A good hybrid approach used here that decreases the computation time considerably to accomodate a very large number of agents at interactive rates. The Unilaterally Incompressibility Constraint (UIC) introduced here that allows the interpolation between the global and local approach is something that has interested me.


Monday, 2 November 2009

Oxford Circus 'X' Crossing opens

As mentioned in a previous post about the Oxford Circus intersection getting a revamp, the intersection has finally been opened today after a number of months of the usual British roadworks. A picture of which can be seen below. A video can be found on a BBC news article here



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

It seems Microsoft's console is jumping into the bandwagon of parallel computing using GPGPUs, with new research published that explores parallel computing using the graphics card of Microsoft's XBox 360.

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 was quite interested to find this flocking simulation of starling's on MIT's Physics arXiv blog.

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

I've just come across XFlow, from NextLimit, which is an accurate fluid simulation tool. It uses a particle based method, instead of a computational grid that are used in other Computational Fluid Dynamics (CFD) tools.



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.

ShareThis