Assignments been, gone and already on their way back

Posted on January 6, 2010


First semester of third year is over except for exams and it’s been a busy few weeks with assignments.  As well as my major project progress report I’ve had assignments in Server-Side Technology, Visualisation and Computer Vision which I will explain briefly below.

Server-Side Technology

Server-Side involved taking a partially implemented Ruby on Rails web application and adding some key features.  The app was concerned with members of staff being able to broadcast news to multiple channels such as email, facebook, twitter, etc.   However, the original app only allowed one admin in the users list (by using the username as the check) so the first featre I added was to allow multiple admins.  As this was easier to do than expected I also added two ‘blogs’ to the app that would record the broadcasted news and job adverts (in separate blogs) for non-members to browse.

This was my first introduction to both Ruby and the Rails framework and I have to say I was impressed.  Although Ruby took a while to get used to syntax-wise but all in all isn’t that complicated and even though it’s difficult to assess them on their own from this assignment I found Rails to be particularly good.  It’s strict adherence to the Model-View-Controller design pattern is to be admired and makes it easy to find whatever part of the application does a certain role.  I’ll be looking for reasonable oppurtunities to use Ruby and Rails again but my current free host, as good as they are, don’t support Ruby for free accounts so I’ll have to wait and see if the chance comes.


This assignment intially caused some problems and I wasn’t totally sure how it’d go.  I was given some GPS data from a device recording its position over two hours from a single location.  As GPS is a bit unreliable and inaccurate these positions, in longitude, latitude and altitude, varied a fair amount over the two hours and the assignment asked us to create a 2d and a 3d visualisation of the data.  To start with, there were the issues discussed in a previous post regarding the installation of OpenDX.  The recommended program for the 2d visualisation was xmgrace.

Now, this was skipped over during lectures, and I can see why, but could I work out how the data importer worked? Well, I wouldn’t be asking if I could.  Eventually I gave up and used LabPlot on Ubuntu which does many of the same things but had, to me, a much easier interface t0 use.

My 2d visualisation was simply a plot of latitude against longitude (which I had assumed were the most important values) with the mean and the mean +/- one standard deviation drawn as lines across the graphs.  Although this showed some skew I had forgotten to account for changes in longitude and latitude not representing the same change in position (e.g. a change 2 degrees in latitude is not the same distance change as 2 degrees in longitude).

The 3d visualisation was much easier to implement with OpenDX due to its visual programming style interface where components are dragged into a workspace and the links made between them.  As well as adding altitude to the visualisation as use of the third dimension I decided to try and represent time, in the form of the order the points were recorded, through colour.  This provided a new insight into the data that the points became suddenly more erratic after a certain point.

I have since received the feedback for this assignment and I have, provisionally, received an A although the mark is still subject to moderation at the moment.

Computer Vision

The final assignment of the semester was to write a critical review of one of two papers regarding Computer Vision methods: “Shape and color recognition method for visual servoing in an industrial shop floor” by Ansuatengi et al. or “A review of recent range image registration methods with accuracy evaluation” by Salvi et al.  Due to the length and large number of methods covered in the latter I chose to write my review of the first paper.

The original paper described a method for finding a yellow ball within an industrial workspace with a robot and then picking the ball up.  Despite the apparent success described within the paper, this paper suffered from numerous problems and it was these problems that my review was primarily based around.

I haven’t heard back about this assignment yet but I’m quietly confident for a reasonable mark and, if possible, I will make the original work for this and the other assignments available.