LitReview: An Overview on Behaviour based methods for AUV Control

Biblio Carreras, Batlle, Ridao, and Roberts; An Overview on Behaviour based methods for AUV control, Girona, Spain What is this work about? A review and analysis of four AUV behaviour based reactionary control architectures, presenting four control architectures; Scheme, Subsumption, PDL, and Action Selection Dynamics, i.e. cooperative (schema, PDL) and competitive (Sub, ASD) What are the main findings of this work? Competitive models are often easier to design as only one behaviour is resident at a time, however this leads to ’jaunty’ and often sub-optimal results, as in this case where authors say the resultant pats for both competitive models are non-optimal ...

June 12, 2012 · Andrew Bolster

Turning Pcap dumps into Message Sequence Charts

PCap files are a pain; weird format, difficult to parse viserally even if you have the ‘right’ tools handy. Wouldn’t it be easier to be able to ‘see’ the network flow, like it is in all the textbooks? Well now you can! In playing with NS-3, I came across this problem, and googled for a solution. Now here’s an end-to-end ‘I have pcap files and want to make them pretty’ solution. ...

April 30, 2012 · Andrew Bolster

NS-3 Click integration

Intro Click is a modular router library developed at UCLA, allowing Click-definied router networks to be ‘attached’ to an ns-3- nodes layer 3 functionality. It has very little relevance to my own research, but was interesting to play with. In a nutshell, Click is an extention to the linux kernel that provides a highly performant and configurable routing architecture. Requirements Already installed ns-3 git ~/src directory Get ’er dun cd ~/src; git clone git://read.cs.ucla.edu/git/click ; cd click sudo ./configure --enable-nsclick --enable-userlevel; sudo make; sudo make install ...

April 30, 2012 · Andrew Bolster

Installing and Configuring NS-3 on a Ubuntu System

** NS-3 Appears to have a staggeringly steep learning curve so I hope these posts help out someone else (or me, when i forget all this in a month). Running off a virtualised Ubuntu 9.10 system, the prerequisites I installed were all the ones listed here. (And i removed some out of date packages) sudo apt-get install bison bzr dia doxygen flex g++ gcc gdb graphviz imagemagick libgoocanvas-dev libgtk2.0-0 libgtk2.0-dev libsqlite3-dev libxml2 libxml2-dev mercurial python python-dev python-kiwi python-pygoocanvas python-pygraphviz sqlite sqlite3 tcpdump texi2html texinfo texlive texlive-extra-utils valgrind ...

March 14, 2010 · Andrew Bolster

GSOC or Having a go at Network Simulator

I had been looking at this years Google Summer Of Code google group and saw the list of organisations that are getting involved. While i was alooking at it, I knew i didn’t want to even consider the big boys (I’m looking at you, Debian, Drupal, KDE, Apache, X.Org, etc), they’re too big to get my teeth into, and I’m currently in the throws of ‘WHAT THE HELL AM I GOING TO DO MY FINAL YEAR PROJECT ON!!! ’ (For any Americans, that means ‘dissertation’). ...

March 12, 2010 · Andrew Bolster

Multiprocessing Niceness in Python

Quick and dirty one that tripped me up. Recently I’ve been doing lots of multiprocessing and joblib-based parallel processing, with loooong simulation times. In an effort to make sure that my machine was still useable during these runs, I changed the ’niceness’ value of the spawned processes… or so I thought. import os ... def thread_mask(args): # Properly Parallel RNG #http://stackoverflow.com/questions/444591/convert-a-string-of-bytes-into-an-int-python myid=current_process()._identity[0] np.random.seed(myid^struct.unpack("<L",os.urandom(4))[0]) os.nice(5) return long_simulation(args) First part is a handy way to make sure that your subprocess simulations actually use different random numbers…. which for Monte Carlo style simulation is pretty damned important… ...

Andrew Bolster