Friday, 23 May 2014

Stage (20) Week Commencing (19/05/14)
Week 32

Final Reflection (Sessions Ends 23.05.14)


:This is going to be my last entry concerning the reflective aspect of the blog, however I will continue to post any further developments up to the final degree show. 

To start this session I would like to reflect on the project as a whole, analyzing key elements and factors that cropped up both during the developmental and production stages of the build.

Application

One of the major concepts of this project concerns is it's future application outside of the gallery or exhibition space. I believe that the build would be suitably placed inside a museum setting, the Eliza script could be adapted to emulate the personality of any person in history and the data base could hold unique and in-depth information regarding that individual. This concept would add an extra dimension to museum displays: by having life like animatronic elements that can not only interact with people but respond to unique questions and track and follow peoples movement may bring museam displays to life. The current framework could also be improved via implementing voice recognition technology instead of a keyboard interface, this may add further realism to museum displays, but further research into this proposition is required.


Time

Time has always been an important factor during this project, with family and work obligations my natural studying or building regime is between 8 – 1 o’clock at night. This of course was an element of the time scaling that was out of my hands and is something that had to be worked into and around the project. As the final hand-in for the project was Thurs 22nd of May, I asked myself the question what else could I have achieved in this time-frame, what did I set out to achieve that i didn't and what could I have done differently.

What else could I have achieved in the time frame ?

With the time-frame for the project having to be put on hold for 8 weeks during my dissertation module coupled with student finance issues and personal obligations. I feel that it was hard to get back on track and keep with the original time scale, so the project did suffer. However, alot was achieved within this time frame, the results of which met the standards and primary objectives I set at the start of the project.

What did I not achieve that I would of liked to ?

One of the key aspects that I really would have liked to of expanded on was the use a of global referencing/tracking system. The idea was to create a tracking system that could identify people at a distance and track their moment, then when they moved closer to the project the robot would enter a new mode that would be more engaging and would say hello or ask a question, then on final approach would go into its normal functioning. This was not achieved because of time issues concerning learning how to implement a complex tracking system into the project. The technical ability required to create such a system in the short time frame is out of my current range of abilities and even though I did research and find some useful blogs and videos I just did not have the time to sit down and learn the processes thoroughly enough to use them effectively.

What could I have done Differently / Additionally ?

If I had the option of starting the project over again, I would have certainly spent more time on the aesthetical side of the project. One of the main issues I had with the build is that some parts of it look rough e.g the milliput and mechano elements. I feel that if I had of taken a different approach and tested different materials such as themoplast instead of milliput and hand made aluminum brackets instead of using steel mechano sections that a higher standard of finish may have been achieved.

A further idea concerned creating a torso with working arms and claws, at the start of the project I purchased a robotic arm kit that came with aluminum servo brackets and a claw. I believe these would have been perfectly suited for creating the mid to upper torso for the robot. However this idea was not pursued due to issues with time and further costings.

Ongoing Issues

An on-going Issue with the project concerns maintaining the robot, I found out that if left to stand for more than a few days without careful maintenance the different mechanisms can stick or cease up. This is still an issues and is a process that has to be continued until the problem is resolved.

A further key issue concerns using cheap servos that I had shipped in from china, these are extremely temperamental and easily burnt out or stick during operation. The reason for buying cheap servos was on-going financial issues with student finance, I feel that this was unavoidable and I did everything I could at the time to resolve these issues. However the servos still remain part of the robot and are still burning out and sticking. Daily testing and maintenance appears to be the only way of ensuring these motors run efficiently.

Philosophy  

Although I spent alot of time researching the philosophy of 'A.I' from Descartes to Chomsky, I feel that I did not demonstrate these ideologies enough through-out the project. Writing a 2,500 word research study is not the same as been able to creatively express such views to a wide audience. However, I hope when it comes to the final show I will be able to strengthen some of those aspects by engaging people face to face and openly discussing these ideologies.


..............................................................................................................................................................
Final Weeks Session

Description

This weeks session is focused on the final phase of the project before hand-in. The session started via filming the robot in action, I set up in the dining room and just tried to get the robot to run a few simple phases like following objects and speaking a few phrases (1.1). This worked really well and in review I decided to leave the footage raw and unedited, I choose the tune Nannou by Aphex Twin for the video because it has been one of the pieces of music I have played the most thought the project. (1.2). However, I am still having power issues when it comes to running all the servos off the one Arduino board so things like the lip servos did not have enough energy to run at the same time as the rest of the servos. I have resolved this issue via getting a higher amplitude power supply at a customized 6v 4A unit but I am having to wait for that to be shipped from overseas, hopefully these elements will be all working together by the time of the final show.

I then tried to get some quicker more snappier shots of the project by filming outside. However, there was issues with the footage`;it was a busy day and I was getting alot of audio interference from people walking and talking along the headland, high winds, seagulls and general car noises (1.3 - Unedited). I also tried to film against the white wall of the cottage but i was having issues with the focus on the camera and I am not sure if it was due to light reflecting off the surface of the wall. These edits where never made into a video because of issues with ever depleting time scehdule before hand-in, however I will include them in this blog for the sake of referencing that i did experiment using multiple approaches during the final filming stages. (1.4) (1.5)

Feelings

I am very happy to have handed all of my work in, I feel this weeks session although it was rushed went well. I do not quite know how to feel about the final show at the moment, in terms of how the project will sit within the exhibition and what people will think about it. But I believe the robot is running and performing at that best it ever had done.

Evaluation

This session was an interesting experience, I had the pressure of trying to finish this project off and also the other modules and only having a day and night to film and edit a short video of the robot working. I only had a couple of hours sleep per night as I was trying to make sure everything was ok with what I was handing in, but then when you are tiered out you make silly mistakes so it would not surprise me if I get pulled up on a few errors here and there. I do not feel like the final rush of work was anything to do with poor planning, I believe its a normal part of the finishing stages of any large project 'final push'.

Analysis

The current stage of the build id say personally is at about 99% complete, all the elements now work and the new power adapter meaning the servos operate simultaneously. I only say 99% complete because I am still coming up with ideas and resisting the urge to tinker around with stuff.

Conclusion

In conclusion I am happy that I managed to hand in all the work I needed to hand in. I feel that alot of hard work has gone into this project and I would like to thank my family for giving me the time to get on with the project when I needed to especially in the building stages of the project that were normally quite messy and took over a lot of space. I also have my tutor to thank, without his help and time and demonstrating how different scripts could be implemented in the project I would not have been able to of achieved such a high standard of control over the robot.


Action Plan

The action plan is to have a break from work for a few days and spend it on the beach with my family and relaxing, I have my viva on the 30th so I need to plan the script for that using the research study. Then I will start thinking about how the installation will sit at the final degree show, and possibly further exhibitions.



Schematics 





(1.1)




(1.2)



(1.3)




 (1.4)




(1.5)


Sunday, 11 May 2014

Stage (19) Week Commencing (12/05/14)
Week 31

Description

This session was an interesting one, firstly: I did not spend anytime out of Uni on the project this week as I have been so busy trying to get the special study module and the rest of my unifished modules sorted for thursdays hand-in.

On Monday I sent in my posters for the final show to be evaluated and I got advised on which was the most appropriate one. I also got an email from my lecturer saying that the problems with the tracking may be due to using the kinect skeleton library - we found in testing that sometimes the skeleton did not fully map onto a person if their legs where behind a desk or their arms in a funny position. So he sent me a code that basically gives you a set of values for the nearest pixel to the kinect sensor. This would mean that, it would be irrelevant if the kinect could not see certain body parts as it would just give a set of values for the nearest pixel to the sensor (which would be anyone standing closest to it) .

I also purchased a kinect stand but it was not up to scratch so I had to make my own using the bits that where worth having. I took the connectors off the top of the stand and used milliput to mould into the shape of a universal mounting plate. One it had dried I took my camera stand and mounted the kinect unit to the top of it so now I have a portable kinect unit that i can change the hight and position of easily which will hopefully come in handy when trying to get the best positional angle at the final degree show. 1.2


On Friday I got to spend some time with my tutor trying to iron out the tracking issues, and we got it nailed down to a tee !! then the laptop crashed and we lost all the code we had been working on and it was horrendous..not only did we lose the code we had been working on for 2 hours, but also blew up the neck servo for the y axis and when i got around to replacing and testing it out today I also discovered the right lip servo had also blown up at some point in the past week because it was working fine during the lip mechanism testing. However by working quickly we managed to get the x axis and mouth working together without any issues. We could not test the Y axis (neck u/d motor) because it had blown up. I have spent today getting things back on track I have the robot working on it's Y axis again and I pretty much have it all working spot on again. (1.1)


Feelings


This week has been a total rollercoaster !! it was so gutting to have had everything working so perfectly and the loose it all in a blink of an eye was very frustrating. On top of that I left trying to solve the same issues over again: loosing two servos and having to replace them.. (one was milliputted into the side of the top jaw servo so that had to be cut out with wire cutters and replaced) Was very frustrating.  This was down to maintenance issues, milliputting and permanently fixing servos means they cannot be tested effectively using a servo tester, it also makes cleaning the servos impossible) . However.. Considering all of these issue I have seen how well the project works as a complete set up, which was a great feeling.



Evaluation


This session was both soul destroying and successful... this is such a strange time and position to be in at the moment. The project is due in on Thursday and It's pretty much down to how much time I can get on the project and if I can see my lecturer one last time to iron out some of the script issues I've bee having. This is officially make or break time and I don't want to fail.. I want to get this project finished and working like it should. Careful maintenance is becoming such an important part of this project, I have been cleaning the base mechanism with a cue tip to keep all the dirt and oil build up that keeps accumulating and slowing down the movement and speed of the servo and oiling the eye and jaw mechanisms to keep the pressure off the servos.


Analysis


The current state of the project is not far off been fully finished, all this time and effort is about to have to stand on show and work repeatedly and efficiently for long periods of time. I cannot put into words how I feel sat at my laptop at this moment in time...


Conclusion

In conclusion the next few days are going to be spent doing work and trying to nail this thing down. I am exhausted and my brain feels like a sponge, in my head i have all three projects whizzing around and my mind keeps flicking on and off like static radio.. but I am so close to getting this project completed and working like I imagined it at very start of the year, so I'm going to give it my all. However, I am aware of all the problems iv'e had with this project and I'm worried that something may happen during the final show, the worst case scenario would be a servo blowing that wasn't easy to change out or friction on the eye mechanism causing the ball and socket joints pop out of their fittings potentially ruining the mechanism. So after hand-in week I will be testing every part of the robot for weaknesses and also running the systems for a couple of hours at a time to see how it works over long periods of time.


Action Plan


Work day and night, play inspirational music, drink coffee and red bull. ..




1.1


1.2




Saturday, 10 May 2014

Stage (18) Week Commencing (05/05/14)
Week 30

Description 

This week was my first week back at uni after the holidays, I managed to get to uni and spend some time with my lecturer sorting out some of the issues I was having with the audio trigger interfering with the kinect stuff. The issue was we where overloading the Arduino board with info and getting transmission issues. Another issue was that, the Arduino board was sending transmissions but was not receiving them from processing. This is because once again I was overloading the board with data. To solve this my lecturer said I had to work in-between the buffers of the Arduino board, the trick was getting the two systems to work together using different ports (myport2 - base servo) meaning there was less transmission errors, I also cancelled out a lot of the script that was sending values to the print box. We tested this out by making a loop for the base servo and we called this 'dummy' the idea of the dummy loop was to make sure that both systems worked together without any issues or overloading the board with transmission data.

I also bought a new USB hub, the one I originally purchased from e-bay was usb 3.0 but wasn't back compatible to usb 2.0 which is what both the Arduino and Kinect run off. 

I have concerns that there may be future issues regarding overloading the board and I have purchased another Arduino Leonardo board just incase. I have also been thinking about designing the posters for the project for the final degree show. I have come up with two designs a picture of the robot and a graphically designed imagine depicting a brain made up of parts of a motherboard. (1.3)


Feelings.

Feeling a unsure about things at the moment, time is ticking and I'm struggling to find the time I need on the project. I don't really know how its going to run when I try and get everything working together.


Evaluation.

This weeks session was good I am happy to be back at uni again and feel like having some time to get on with stuff has been invaluable with the submission dates on the horizon. As for actual progress of the project working together with my lecturer we overcome the transmission errors and managed to get things working together.. and I have to say the robot has never worked so well. Normally theres a lot of stopping and starting processing because it takes so much ram to load the kinect stuff and apple script and everything else but after assigning different ports things seem to be working flawlessly. (1.1), (1.2)


Analysis 

The current situation of the project is that the mouth mechanism (eliza) works great with the kinect but there is still a long way to go i'm having tracking issues. But saying that I am happy that the project is still moving in the right direction so even though I'm worried about deadlines I still cannot complain about that output of work from this session. I am still happy with how the mechanisms are all operating there is no technical issues with the physical build at this time, which is brilliant after all the hassle of replacing servos and the lip mechanism. 


Conclusion

I am feeling ok about things at the moment, the project is still moving forward and I feel i am achieving what I can in the time frame I have left. I am still putting together the written side of the project and have been researching some of Chomsky's ideleogies of the constrains of A.I in terms of understanding and modelling. 


Action Plan

Next session i would like to get the tracking nailed and working then I can get on with putting the lips and mouth left and right (swing) into the same loop as the audio trigger stuff. Then it's just the eyes to sort out but I might just have them running on a constant loop rather than trying to rig them up to the kinect because I think that would be pushing it for both time and overloading the board. ... but we will see.

1.1





1.2

1.3






Monday, 5 May 2014

Stage (17) Week Commencing (28/04/14)
Week 29

Description

This weeks session has seen its ups and downs, first of all the bad parts.. I had another servo that blew up during the testing of the individual mechanisms, this servo could not be replaced via removing it from the robot as it was embedded in a U bracket using milliput. To add to problems, the lip system once again had issues concerning the wire from the lip mechamism rubbing on the brass connectors and snapping under the strength of the micro servos, this is an on going issue with regards to keeping all the mechanisms well oiled and running smoothly.

However both of these issues are now resolved.

Equipment

Metal connectors x 2
Thick Silver Cord x 3
2 mm Heat shrink
Guitar wire
Milliput

To design a new lip system required a lot of thought, the problem is that over time the wire rubs against the holes which it runs through, using thicker or metal wire is not an option as the holes the wires run through in small and angled at 90 degrees. To solve this I added heat shrink to the part of the cord that runs through the holes in the back of the top jaw mechanism. However I did not apply heat the the heat shrink to tighten it onto the cord, instead I tied a knot in each end of the chord that sticks out of the heat shrink with about 3 cm leeway on each side. This allows the cord to run inside the heat shrink whist the heat shrink remains still inside the hole. I also directed the cord towards the eyelet using milliput and a loop made from guitar wire this will also reduce friction on the cord as it passes through the holes to the lip wire mechanisms. I additionally added springs to the brass connectors of the top jaw mechanism to help the lip wire flex back to its original state.

The burnt out servo had to be left where it was embedded inside milliput at the back of the eye mechanism. However I managed to make enough room via scratching at the old milliput with a screwdriver to place a new servo parallel to the old one. I left the back of this servo exposed incase of any problems in the future, making it easier to remove and replace.


This session was also spent testing the durability of all mechanisms, I adjusted the sweeping servo code to initialise different variations in speeds and steps for 20 mins at a time to test each mechanism individually.

The testing proved to be a success with the new rig, however I do not know how long the project will have to run during the final degree show so I may test these systems further and more rigoursly closer to the time of the show. I have also spent a lot of time reflecting back over the past 5 or so months of the project and thinking about how to get the philosophy behind the project across to people because I feel this is just as important as the actual construction of the project. I am putting together a sort of subscript and posing myself questions that people may ask about the project and trying to think about how to get information across clearly, I may also write a short research paper to re-affirm some of these ideologies.

Feelings

I am feeling optimistic at the moment at the start of the week everything went wrong and I felt like giving up however leaving it a couple of days and then going back to the project and fixing the broken elements has helped me get back into the flow of things.


Evaluation

This session was a mixed bag, it started of terribly and ended feeling like I might just have enough time to finish everything and have it running smoothly. However I am still having issues with the Kinect tracking. I tried to install a 360 degree servo into the base unit this was a massive mistake as the numerical values from the kinect meant that the servo spun out of control and took everything with it. i have ordered a new servo with a higher reaction rate and will fit that as soon as it arrives, if it does not arrive in time of uni this week I will have to fit the old mg996r servo and hope it dosnt glitch to much with the weight of the robot. I also purchased a kinect sensor magnifier which I was hoping would reduce the size of the space the robot would need to function efficiently in, however this did not work as effectively as I had hoped as it messed up the numerical data coming out of the kinect...so the unit is useless for this project.


Analysis

The current situation of the project is kind of hit and miss at the start of the week everything was in disarray.. however, I now feel that i am starting to get a grip on the project once more. I also think that this has taught me a lot about how durable the mechanisms are and how quickly I may be able to fix them if anything goes wrong in the future. I have also ordered some additional parts such as 2 more Arduino boards and spare servos and wire and power supplies basically everything that cannot be changed by myself or at short notice. This is to ensure that if anything brakes during the final year show or when I travel to Uni I have back-ups and do not have to end the sessions there and wait for replacement equipment to arrive. (1.1-5)


Conclusion

In conclusion I am feeling optimistic about how things are going at the moment. I am looking forward to getting back to uni this week and hopefully getting some time with my tutor and working on getting the kinect working smoothly.  I am also pleased with how the new mechanisms are working and I think they are a massive improvement on the old systems however as with all projects only time will test the durability of the mechanisms. I will keep oiling all the metal rods to keep them from rubbing against the aluminium threads causing friction and eventually stopping or burning out the servos. This procedure will have to become part of my practise from now on as I cannot afford anymore mishaps.

Action Plan

The action plan for the next session is to get all the elements working in harmony and think about how the project will be placed within the finial degree show setting. Taking the advice of my lecturer I will also be thinking about who I would like to see the project and what environment to place it into. I also thought about setting it up in the house when the build is finished and inviting some friends around to test the project and see their reactions and ask if there is any areas that could be improved or did not come across clearly.

1.1


1.2

  

1.3

1.4



1.5