Saturday, May 26, 2012

:: Chasso knows how to return home ::

This saturday we got together to do tests on the functionalities we've been working during the week.

Maria

  • We ran some tests with a different computer, with an I7 processor with Windows 7 and 64 bits. Everything went well and we manage to easily install the multitouch driver. We have now to wait for a license from Luxand (FaceRecognition SDK), so that we can test all project on this computer and check if there is a performance improve. 
  • We did some small adaptations to the application layout.
  • We tested the "home" function we had developed during the week for the Chasso robot. We had to made some adaptions, because we were calculating the angle between the (x1,y1) and (x2,y2), but we were forgetting to calculate the value back from the trigonometric circumference to the heading circumference. We also confirmed what we suspected, that small changes on the compass readings influce that time and angle calculated for returning to the home position, but, we can't consider the results to be bad.

Chasso

  • To test if the readings of the heading from the compass weren't so affected by the concrete walls and to confirm that the drawing on the map was correct (according to heading and distance) we went to do some tests outside, on the backyard. The map drawing function worked has expected, but again, we found some problems. The bright sun light outside was too much for the color sensor of the Lego NXT, so, after turning to a defined heading the base of the Chasso couldn't be stopped on the correct position as it was expected. We then did some more experiences to overcome the problem:
    • We tried putting a black bag on top of the Chasso robot, but it affected the Bluetooth communication.
    • We put a black thick paper around the color sensor and then slowed the turning speed to 10% of motor power. Only after this to changes we found some good results, but even so, we continue to have some problems in direct sunlight, within some lateral degree of incidence.


  • We also did some tests on the "Face lock" function on Chasso, and that proved to work completely at first time. Even with more than one face at the same time on image, the Chasso camera follows the correct person.


Thursday, May 24, 2012

:: Advances on Chasso ::

We have completed two more functionalities on Chasso: 
  • Returning home - based on the current X and Y positions, we calculate the time needed to return to the home position. We then transform this value to a distance and for last, we calculate the angle to turn. After this calculations, the commands are sent to Chasso to return home. Unfortunately, this function is not accurate, due to the compass fluctuating readings.
  • Lock face - when a face is "locked" on Chasso (by pressing the face on the image) the camera of Chasso now follows the face and displays the readings on the label.
The weekend is near and with it, more time (and space) to some more tests. We have to finalize the tests with Maria console application and the multitouch drivers on Windows 7, 64 bits. Let's hope this are the final tests and fine tuning needed to establish a reliable solution.

Monday, May 21, 2012

:: The "post it's" are moving (slowly) ::

Since we decided to apply an agile methodology to the development, we adopted the use of some artifacts of Scrum (as shown before). We have now some post it's from the "To do" do other's boards but we have more than 50% still to start. It's not a good metric, since we are at around 45 days to present the project... why did we choose a such a big project? :)




Saturday, May 19, 2012

:: 3 steps forward, 2 steps back ::

Once more we had a mixed result week. During today we had a meeting to assemble and test everything we worked individually during the week and again, not everything went well as expected.

Maria:

  • We fixed the infra-red lamps on the new places, based on the new location of the camera according to what we've been testing. It work well. For now there is a small region on the right of the screen that is not capturing movement, but we ran some more tests and it seems that we overcome that with better calibration.
  • We went to test the multitouch drivers on the MacBook Pro because it's the better computer we have and it should be used on the presentation for the work, but we ran into some problems, because of the 64 bit drivers. After a couple of hours we decided to investigate more, because the 32 bit drivers do not work correctly.



Julio:

  • We finished the Android App (based on brmGPS free source code) to run on one of our Android mobile phones to put on top of Julio and that way, get the correct GPS coordinates from Julio.
  • We also finished a C# class that using sockets receives the GPS coordinates from Julio. This will be assembled, if everything goes well, next weekend and tested "on board" of Julio.





Chasso:

  • We gave a pretty extensive testing to the odometry (establishing location based on sensors) and we got some bad results. At the beginning we taught our localization algebra functions we incorrect, but after some time and debug we found out the problem was an odd one... the HiTechnic Compass sensor we are using on Chasso is very sensitive. What we discover is that near a concrete wall or a metallic chair (less than 50 cm) the compass can give incorrect readings on values up to 50 degrees, witch is a very high value. By it self this just ruins our expectations of having a very good estimation algorithm. We change the location of the compass, by extending the pole more 20 cm, but it wasn't enough. The main problem is the concrete walls. We have to deal with this problem on the following days.
  • This problem prevented us from testing other functions already implemented on code, like: returning home, travel by track points, cleaning the path and others.
  • We fixed a problem with the light sensor, because in bright days the light can be too much inside Chasso and because the Lego NTX color sensor is too sensitive doesn't identify the orange color and stops turning the base. We fixed this by adding some more lego pieces to each side of the base.


 

Thursday, May 17, 2012

:: Mid-time work report ::

During the last 3 weeks we've working on the mid-time report we have to deliver. During this week this has been the main focus of our time.
Nevertheless, we've been working as well on getting an Android software to get the GPS coordinates to put on a mobile phone on top of Julio, to send the coordinates to Maria's console App and also to develop some more functions of Maria's console App to control the Chasso Robot.
Let's see if this weekend we can put this functions to fully work.

Sunday, May 13, 2012

:: The weekend brought good results ::

After a week working each other separately on the different tasks each one had, we got together this weekend to combine everything we have been working and try go get some more tasks completed.

This was a very good weekend in terms of results of the work we've been doing, in several fronts:

  • Maria:
    • After a period were we've been struggling with some overexposure of light, we did some more tests... first we tested with a different projector with 2000 lumens instead of the 800 lumens of the one we were using, but it was too much light. Not even calibrating the exposure helped. We then did a test that involved using different polarized lens on the projector and on the camera, but didn't helped as well. The last test we did and from which we got some good results was mounting the camera on different places. We will continue this last test during this week, because it seems we can have some acceptable results if we change the camera to the opposite place from where it is now, but we still need to build a base and test it better.
    • We also got the visit from our professor of Physics and Mathematics, Prof. Rogério Cardoso who accepted our invitation and came to evaluate the project and gave us some more ideas to pursuit. One of each was to use some different materials. We should test with a metal mirror instead of the glass we are currently using, because the reflection of the metal is more diffuse than of the glass. He also recommend for us to try a top glass that could pass the full infra-red spectrum of light and not only the visible light. Let's see if we can find this materials any where and at an affordable price.
    • Finally we achieved something we were trying for some weeks... to get a solution to let Windows recognize "Maria" as a fully multitouch interface. 

  • Chasso control:
    • We took all the stuff of one of the rooms and marked on the floor an area of 5 meters by 3 meters as we want to use on the "test room for Chasso".
    • With the room ready we then did a batch of tests for running Chasso for periods of 5 and 15 seconds, with a battery level with 71% and 87% (by the existing data we know we shouldn't use Chasso with less of 70% of it's 9 volts power), running the motor at a speed of 50% of battery power.
    • We then proceed to do a first statistic analysis of the collected data and one of the "interesting" things we found was that even on a small period of time (5 seconds) Chasso could travel with a distance differences of 3 centimeters, which in terms of odometer, for estimation of position is not good. The good news, was that it worked almost the same way with 71% of battery power.
    • With the data aqquired we could finally implement the functions on the software to draw Chasso on the Map as it moves around the room. This proved a very a hard task, which in overall terms took more than 24 hours to do. This happened because we just forgot that the heading circumference is different from the trigonometric circumference and only when we got over that and converted the headings bearings correctly to the trigonometric equivalent and then applied a correction based on the room position to the north (0 degrees in bearing) we finally got everything working correctly.




Friday, May 11, 2012

:: Long week ::

This has been a long week of work, but with no publishable news, therefore we didn't published any new post on the blog.
We've been working in 3 fronts:

  • Maria's console software - finalizing the implementation of the UI and the integration with the C# class of "Localization Algebra" that we produced early;
  • Maria - trying different layout in terms of mirrors and lights, in the pursuit of eliminating the light excess. This week we tried to use 2 different polarized filters. They almost solve the problem, but create another problem, we loose the correct color on the project image;
  • Mid development report -  we continue to elaborate the mid term development report that we are due to deliver on the 15th.
This weekend we will have the visit of Prof. Rogerio Cardoso (Physics and Mathematics) from who we are expecting some ideas on how to solve the problem of light excess on Maria. Also, we pretend to finish this weekend the Odometer of Chasso and it's representation on the map.

A long weekend will be...

Sunday, May 06, 2012

:: Long working weekend, but no major steps done ::

After a week where we dismount Maria's hardware to try to different ways and materials, like using 2 mirrors to deflect light, we came to the weekend with the problem of having an area on the Maria's projection surface with too much light. Even with the work that was done during the weekend we couldn't manage to get a solution.

Nevertheless, during Saturday we got some new ideas from our tutors on the project (Prof. Francisco Pereira and Prof. Tiago Candeias). It was our first presentation of all the components to them. Overall, they gave a very good opinion and some suggestions, specially for Maria, which we will try to test during next week.

So, a part from this step backward to try to reconstruct Maria on a different form to avoid the "too much light" problem, the only step forward was the almost full implemention of Maria's User Interface prototype on the Maria's console software. Some controls still need future work, but we manage to finish the weekend with, let's say, 75% of the UI done. Next step, try to close the rest of the 25% until next weekend.