Friday, 17 June 2011

Course is finished

Today we had a final lecture and, thus, finalised the course. As a final video we would like to post a video of real-time mission on Mars with temperature measurement and duck dropping on real lake.
After 8 weeks of intensive work we obtained following skills and knowledge:

-design and implementation of embedded motion systems;
-experience of working with actuators, sensors, encoders and processors in BrickOS environment;
-skills in C programming such as multitasking, synchronization and communication;
-working in team;
-time-management and planning;
-application of theoretical knowledge on practice;
-problem solving in real-time environment;
-independent learning with limited supervision;
-various examples from specialists who have experience of industrial embedded software design.

Last but not least. It was funny 8 weeks. We really enjoyed working in team when everyone tried to contribute as much as possible depending on his skills. Despite the fact that we didn't win the competition we acquired very important experience which will be definitely used during our future career. I think it is the most important of University education.

Thursday, 16 June 2011

Mars mission: final presentation

Today we had a final presentation on the course. 8 weeks of hard work were summarized in 5 minutes for each group.

Overall, there was no team which could find all three lakes. We found and measured one lake. Other team measured temperature twice but on the same lake. The winner team measured temperature on two lakes.

Next step is peer evaluation. Tomorrow we are going to have a lecture by guest lecturer from Mathworks.

Wednesday, 15 June 2011

Mars mission: day before presentation

Here it is. The Day X is coming. Everyone is in rush and tries to polish their programme so that it will succeed.

Therefore lab was very crowded for last two days. It was very difficult to find a place to put laptop and rover itself. The Mars Landscape, camera and Earth computer were also intensively used by all groups. We used them also. Namely we made final preparations such as follows.

1) Found best light conditions when rover finds lakes using camera.
2) Determined best initial position for Mars mission
3) Solved problem of stucking at the space between edge and lake. We changed angle of steering and added reverse movement so that rover will not get lost between edge and lake
4) Finalised threshold values for light sensors in order to distinguish lake and edge.
5) Adjusted length of thread for temperature motor

All these preparations were done yesterday in the evening and today in the early morning when we reserved time slots. Also we had a meeting with Jos where he gave us final advice and wished good luck.

Looking forward to final presentation of other groups as well.

Tuesday, 14 June 2011

Temperature measurement and duck dropping

After experiments and adjustments which were partially explained in previous posts we made temperature measurement together with duck dropping. Here is the video.

Temperature sensor calibration.

For measuring temperature we need to familiarize ourselves with principles of sensor's work. We used approach of trial and error mixed with least-squares method.

We measured the temperature of various media such as environment air, cold water, hot water, human body and so on. We created a script that puts the measured values on the LCD of the brick.

We found out that values are measured and displayed in hexadecimal format. Therefore we had to use conversion of datatypes.

Next, we needed to calibrate sensor. The value obtained by sensor and values measured by thermometer was compared and put on to x-y graph. Then we made an assumption that function is linear. So the function should look like alpha+beta*sensor_value. So the task is to find alpha and beta. After some trial and errors we found out that formula is 113.78-0.002457*SENSOR_3

Mars mission: integration

For Mars mission we basically have three modules. They are lake finding using camera, cliff avoiding using light sensors, temperature measurement using probe. All these three modules were developed and need to be integrated.

Here we faced several problems such as:

-Using of brick's sensor slots. Now we splitted sensors based on light/encoder principle. It means that all three light sensors are now connected to the first brick whereas all encoders and temperature sensor was connected to the second one. It forced us to change our separate programme modules during integration.

-Temperature sensor sometimes is put by mistake onto cliff. Once rover goes back this sensor stucks and causes problem to movement. We needed to change probe putting mechanism and make measurement software to avoid measuring temperature at wrong places.

-Edge detection sometimes conflicts with lake finding modules. It causes problems with performance and rover stucks on one place or tries to reach the lake ignoring obstacle on this way. We solved this problem by changing priorities of threads.

Next, we need to test integration part in the lab using real environment instead of simulation lakes, edges and using fictitious coordinates from camera.

Mars mission: relevant hardware changes

After facing communication problems and some problems with integration we decided to change hardware configuration slightly.

First of all, we mentioned about communication problem in our last post. Solution of this problem is to direct both bricks to the ceiling or to to the tower on the top of setup. Here it is depicted on the foto

Next we mounted a frame for camera so that it will not make rover unstable and will not interfere rotational part of front wheel.

Also there was a problem with temperature probe. It was not long and deep enough. So we changed the probe putting arm. Now on cruise regime it is short and does not touch floor. On the measurement regime it goes downwards on required depth and allows to measure temperature of deep lake.
As it is seen, we also added battery for additional weight and Duck dropping mechanism.