Friday, March 30, 2012

:: Chasso version 3 and C# classes tests ::

Tonight, because it's not a school day, we decide we should gather to construct the 3rd version of the Chasso robot. This is the 1st version where we are use a 3rd motor. The decision to use it was because we needed a stering wheel to get more manoverily of the robot.

Also we start doing some testes on two of C# classes we created to use on all our software components:
  • Asyncrouhnous client/server comunications - to have the console (Maria) "talking" with Chasso and the iPhone components;
  • Localization algebra - to make calculations of localization base on 2 points/coordinates, distances and bearings.
Altough the new Chasso version has a nice design, we don't think this could be it. We ran into severall problems:
  • According to battery levels the carrying of a weight on the robot wasn't possible (after less than 50% it didn't even move);
  • Because of the steering being also influenciated by the battery and weight levels, the position estimatimation is not viable;
  • The steering doesn't react the same way every time.


















    Thursday, March 29, 2012

    :: More tests on Chasso ::

    The creation of the Chasso it's been proving to be a more difficult task than we expected. We want to build a robot with a platform for carrying a laptop (we need processor capacity for facial recognition), but all we have for the robot platform is a Lego NXT kit.

    Today we did some tests with a different platform (a wood version). We encountered several problems:



    • Engines do not respond at the same speed if not paired;
    • The lack of maneuverability is too much for what we need;
    • The engines don't work at the same speed, even when paired;
    • And more small problems.
    We decided we should create a 3rd prototype (only with lego parts), this one using the 3rd engine we were planning on using on the ultrasonic sensor to instead using it on a steering direction. Let's hope tomorrow we can have some good news.

    Monday, March 26, 2012

    :: Chasso construction ::



    The construction of "Chasso" from scratch as been a challenge.
     
    We want it to suport a laptop on top of it.



    Version 1: Aluminium structure


    It is to heavy and we may break the Lego NXT, trying to get the pieces together.

    Version 1 veredict - Failed 


    :: Implementing face detection/recognition on Maria interface ::

    Today was dedicated to implement the facial recognition SDK on the Maria interface. Several problems had arise, like the type of image/video objects supported by AR Drone SDK (aka Julio). So, long hours were spent reading and going thru both the Luxand SDK and Julio SDK (with the C# SDK) just to getting familiar with them and select options.

    After a full working day, we solved some issues but we were not capable of implement facial detection. Only after implementing the facial detection we can move forward to the facial recognition.

    We should continue this work on the following days.

    Saturday, March 24, 2012

    :: Facial detection/recognition ::

    During the holidays we had started the research and tests on facial recognitions algorithms and SDK's. After some initial research we based our tests on the following technologies:

    • Face.com
    • OpenCV with Emgu
    • OpenCV with SharperCV
    • Aforge.NET
    • Luxand FaceSDK
    • Torch3vision
    • Eigenfaces group
    • Semantic vision technologies
    After several tests where we included comparisons like ratio of correct detections, recognition with different light conditions, angle of faces, speed, c# compatibility and others we came to the conclusion that our choice should be Luxand SDK. It's a commercial SDK, but without a doubt the best. 
    In 2nd place there was OpenCV with the Emgu wrapper, specially because its low level enabled us to explore more, but in this type of work and with such a tight schedule, we couldn't opt for it.

    Friday, March 23, 2012

    :: Tests with Maria and Julio ::

    Tonight we gathered on our "future lab" to do some tests on Maria (the multitouch surface table) we've been working on and to take Julio (the Drone) out of the box and do the first flight tests with it.

    Maria test results: It's becoming more stable. We decided we should spent some money and order more infrared lights and special glue to try to take all the air bubbles between the paper and the glass.

    Julio test results: UAU! The AR Drone it's an awesome machine. It promises to be a very good item to use on the project has a tool do search and control persons, with it's 2 cameras. It's difficult to fly in a confined space, but we hope that with practice we could master it.



    Thursday, March 22, 2012

    :: Shopping for a compass for the Lego NXT ::

    Since we need to know the localization of the robot in an interior space, we decided we need to develop a way to calculate/estimate it.

    We decided we would use some physics algebra and estimate the localization based on bearings and distance (calculated based on speed of the robot). This arises a series of questions, like: Is the speed constant? Is the speed influenced by the battery level? Can we make the robot rotate on exactly the angle we want? Can we make the robot stop exactly when we want? But the main problem, is that the Lego NXT kit doesn't have a compass, therefore we had to order one HiTechnic NXT Compass Sensor. Togheter with cables it costed us more € 104.00.






    Wednesday, March 21, 2012

    :: AR Drone (aka Julio) arrived and Maria have some issues ::

    The 2nd robot ("Julio", in reality it's a drone), the Parrot AR Drone has arrived! We ordered 5 days ago from Expansys, France.

    We were anticipating it's arrival. For what we saw on YouTube this could be an awesome robot for our external search missions.

    With university classes tonight, we have to wait for tomorrow to the first tests with it.


    Ricardo and Diogo got together during the day to try to solve some issues with Maria. We were having problems on getting readings on all the surface. There is also a problem caused by air bubbles that keep happening between the paper and the glass.
    Not every issues were solved, but some solutions were thought to be tested.

    Tuesday, March 20, 2012

    :: We have a logo! ::

    One thing that can't be forgotten on any project it's the look & feel. Even the most advanced and complex product shouldn't forget the design and visual appeal. It's proven today that technology it's not enough to establish a product on the market, therefore we also invested and going to invest more, on the project marketing component.

    First thing we did and the thing that will be the base for all the materials was the logo:



    :: Project preliminary report delivered and AR Drone ordered ::

    One day before the first scheduled date (March, 20), later was postponed to the 27th, we delivered to the professors our preliminary report. We were ambitious. Let's see if we can pull it out. It's a very big project for the time we have (from now to the 22nd of June).

    On this same date, we ordered one of our main attractive for the project, the AR Drone. With it we expect we can have a robot for exterior spaces surveillance and a major UAU factor. The problem was the price, even with a discount it cost us more € 240.00.

    Preliminary Report

    Monday, March 19, 2012

    :: Lego NXT programming tests ::

    After all the definitions from yesterday and some small tests done with the Lego NXT to understand the viability of implementation, today, all day was spent reading the NTX MindSquall SDK for C# and doing tests to understand speed and accuracy of sensors reading and motors response.



    Almost all tests with the SDK were successful. It seems we can implement Chasso as we wanted. A laptop on top of the NXT platform, communication by bluetooth with the Lego NXT brick and by wi-fi with the console (aka Maria).

    We have some doubts about performance when implementing face recognition on the same laptop, but this issue will be dealt later on.

    Saturday, March 17, 2012

    :: The concept ::

    Our second meeting agenda:
    1. Test Lego NXT Robot with c#;
    2. Define the final concept and produce report for the university;
    3. Create list of hardware and software components need to use/test;
    4. Naming our Robots (udercover);
    5. Naming our Project.

    Second meeting agenda


    1. Test Lego NXT Robot with c#: 

    We built a simple robot to be able to test and familiarize ourself with it.

     
      









    2. Final concept:

    Create a proof of concept project that should be innovative, comprehensive and of practice utility, with the goal of converting to a marketable product.
    The object of the work it is the creation ofmonitoring system, for search and detection of persons, using robotic means with artificial intelligence and facial recognition. 



    3. Define the components:

    List of all the components required.




    4. Naming our Robots:

    We needed some code names to call to our project main components so we could easily refer to them, so we baptized them:
    Robot 1 (Lego NXT Mindstorms), we call it "Chasso";
    Robot 2 (Ar Drone Parrot), we call it "Julio";
    Surface Table, we call it "Maria".

     5. Naming our Project:
    Another challenge. After some debate we decided to name this work SEEK&FIND - Intelligent Robotic System for Persons Surveillance.



    Wednesday, March 14, 2012

    :: IR projectors assembled on Surface Table ::

    After set up the IR projectors on the surface table (aka Maria) in about 15 minutes...


    ...we took over 2 hours to get some calibration sensibility.

    We found out that there were a lot to improve:
    1- Diffuser - probably the tracing paper is the better one so far (but if it is on top of the surface [glass] it gets dirty too fast, and if its below the surface it gets air between the surface [producing false bolbs detection]), we need to test a lot more;
    2- IR LEDs - probably 4 units are not enough, they have a very narrow angle. We must try them on a different layout;
    3- PS3eye - must have a calibration base;
    4- Projector - needs to be adjusted for a better reflexion on the surface;
    5- Ventilation - it gets a bit warm inside the box, the 2 coolers previously mounted are weak, a couple more holes should do the trick.

    But we also know that we are on the right way, yeah!


    Sunday, March 11, 2012

    :: First implementations of the Surface Table ::

    During the holidays, based on the Natural User Interface Group (NUI Group) community forums, we have started to experiment different technologies for a surface table. At his time we didn't knew what should be the theme of our project, but we wanted to use a surface table.

    First try (Touch PAD):
    A multi touch pad using a webcam, a cardboard box, a piece of glass, paper and lots of tape.

    Difficult to calibrate but we realize that it was possible to do a surface table out of this.

    Second try (Front Diffuse Illumination):
    A table made of 2 easel, a big piece of acrylic, a projector, webcam, diffuser (paper or a plastic towel) and a mirror.

    Really hard to control the IR surrounding light, we just knew that we must try a different approach.

    Third try (Rear Diffuse Illumination):
    An enclosure box, diffuser, mirror, PS3eye cam and glass. No IR light at the moment...

    On the cam (PS3eye) we managed to remove the IR filter, a big difference, clear improvement on blobs detection.

    But even so it was not enough, so, in early March we decided to order 4x48 IR LED projectors.
    While waiting for the IR projectors, we finished the enclosure box building and tested different kinds of diffusers (normal paper, tracing paper, translucid plastic towel and white plastic kitchen towel).

    This moning (11th of March) the IR projectors finally arrived!
    We are willing to test it on the box set :)
    Expect more updates soon.

    Saturday, March 10, 2012

    :: First Meeting ::

    During our 5th semester holidays we did some tests on mulitouch surfaces and researched on facial recognition. Also, looked for information on applying artificial intelligence to robotics.

    After receiving the project directives from the professors we then did a brainstorming session were we started to create the concept.