Positioning and Navigation of a Robot Lawn Mover Using an ID-Marker

In this project a web camera is used to view over a lawn, by using a chessboard like reference object placed somewhere on the lawn the image can then translated into a bird’s view, i.e. a from above view, of the lawn.

The bird’s view is then imported to a user-interface, in which the user can control which parts of the lawn that are to be cut and not.
A path planning algorithm then uses the painted bird’s view image to calculate a path for the robot lawn mover.
A continuously flow of images from the web camera are then used to calculate the position and heading of the robot lawn mover.
To be able to find the position the lawn mover it is equipped with an ID-marker, which can be identified in the bird’s view image.
This results in a position with respect to the “Chessboard”, the position of the robot lawn mover can then be translated and used in the navigation system.
The robot lawn mover then follows the calculated path until the lawn is cut and returns to its original position.
In an indoor environment the accuracy of the positioning system were found to be +-5 cm up to a distance of abut 4 m. Differences in height between the ID-marker and the chessboard reference object resulted in in positioning errors above +-5 cm. A good enough path-planning algorithm were implemented and were found never to miss any parts of the cutting area. A user-interface was created, which in a user friendly way allows the user to decide where the robot lawn mover should cut and not. It is also possible to simulate the whole system in the user interface.
A prototype testing robot was successfully implemented, which made it possible to test the system in a real environment.
Project Report


Eye Tracking

The purpose of this project is to locate the eyes of humans in photos. If this is possible then the algorithm is also evaluated in real-time using a standard web camera. The algorithm is evaluated on different persons and in four different environments to determine its performance.

It works by using several image processing methods such as color discrimination, thresholding, different transformations, filtering methods and a neural network. All methods were implemented to achieve as short execution times as possible. The algorithm was finally able to identify eyes, in good conditions, with a probability of 78.75 %. If dark pictures with difficult backgrounds were used, the probability of identifying the eyes were decreased substantially. The algorithm was found to work best with an artificial feed forward neural network, even though in some environments the network had negative effects on the result. If bright enough photos were used the algorithm was fast enough to be used in (soft) real-time with approximately 20 frames per second.

Project Report

Interaction Design

The aim of this course was to understand how the interaction between man and machine affects the work results, i.e. mental and physical effects.

Project, the task was to investigate how Gothenburgs treatment plant  could be improved.

Gryaab Interaction Design Project Report – (In Swedish)

Home Assignments

Assignment 1 – (In Swedish)

Assignment 2 – (In Swedish)

Particle Swarm Optimization

Uses a swarm of particles to find a minimum of a function. The particles velocities and positions are updated every iteration. In the end of the optimization the particles are more and more attracted to the best particle.

Particle swarm optimization

Matlab Code – Particle Swarm Optimization Change extension to .zip to open!

FeedForward Neural Network learned by a GA

Uses a Genetic Algorithm to learna a FeedForward Neural Network how to solve a 3-parity XOR function i.e. if the amount of ones is odd, the function should return 1. The FFNN has three inputs and uses three hidden neurons and one output neuron to return the output.

FeedForward Neural Network

Matlab Code – FFNN Change extension to .zip to open!

X1 X2 X3 FFNN Output
0 0 0 4.5263e-05
0 0 1 1.0000
0 1 0 1.0000
0 1 1 4.6127e-05
1 0 0 1.0000
1 0 1 4.4731e-05
1 1 0 1.3068e-07
1 1 1 1.0000

The Travelling Salesman Problem

Uses a Genetic Algorithm to find the shortest path, if you are to visit every city once and only once. The GA uses Swap Mutation, Ordered Crossover and Tournament Selection.

The traveling salesman problem

Matlab Code – Travelling Salesman Problem – Change extension to .zip to open!

Basic Genetic Algorithm

Uses a Basic Genetic Algorithm to minimize a function. The GA uses Single Point Crossover, Mutation and Tournament Selection.

Basic GA Program

Matlab Code – Basic Genetic Algorithm -Change extension to .zip to open!