Wednesday, May 30, 2012

Local Networks

Over the past few long days I have been looking at getting a local network running with Unity. There are many ways to do this. Each so far have had their fair share of problems. I have started to realise that I thought creating a server and making a LAN network would not have too much complication to it. This was because I did not have any background knowledge with servers. Looking back it would have been better to seek advice from others who have had more experience and have understood the complications involved. This is something I have noticed occurring for most our tasks too.

A LAN network diagram


Right now Jenny Ko is looking at a tutorial that has a simple method to create the server and local network. She has had positive results from this website cgcookie.com, before. I have diverted my attention to the transfer of Jenna's digital compasses data into Unity. So far I have found this to get me going at what would be required. To take up my own advice I will ask Kim about how easy this conversion will be. Another option so far is Python too which I have had previous experience with.


This local network is a very important part to our project as it will be how the ants can communicate between each other. It is the surface to what our project network is creating. The unified network being created is from within the boundaries set for the installation and will be the main focus and the basis of our concept.

Some of the references below are from the different ways I have been trying to create the server myself.

References


“Basic Multiplayer Tutorial - M50 Tutorials on Blip.” Blip, n.d. http://blip.tv/m50-tutorials/basic-multiplayer-tutorial-3848003.
“English_step_by_step_guide - Unity-arduino-serial-connection - English Step by Step Guide to Get Your Connection up and Running - Connecting the Arduino to Unity Using Serproxy or a Direct Serial Connection - Google Project Hosting”, n.d. http://code.google.com/p/unity-arduino-serial-connection/wiki/English_step_by_step_guide.
“M2H Unity Networking Tutorial”, n.d. http://www.scribd.com/doc/38400039/M2H-Unity-Networking-Tutorial.
“Photon Network Engine Developer Documentation, Demo, Samples | Exit Games: Network Engine”, n.d. http://doc.exitgames.com/v3/photonunitynetworking/marcopolotutorial.
 
“Unity Network: Learning Network Scripting in Unity 3D”, n.d. http://cgcookie.com/unity/2011/12/20/introduction-to-networking-in-unity/.
“Windows XP: The Complete Reference: Configuring Windows for a LAN”, n.d. http://delltech.150m.com/XP/peer2peer/1.htm.

Monday, May 28, 2012

Light

The end is almost here and there is no hint of there being a rest along the way. Over the past week we have all started to change our area of focus within the project. This is due to us realising that if there is an error in the structure of the project, then the project would only be complete up to that error. We have reevaluated our project and now will work through each step more or less as a team. This will allow us to still have the essentials of our concept even if we do not get all tasks complete. After the next two weeks are up we can reassuringly say what our project is without it all being in pieces.

The digital compass. Picture retrieved from Jenna Gavin.
Our main concern right now is not the practical problems but rather the conceptual surroundings of our work. It has been the area we are lacking in and will need to constantly be looked at. We have not been too in depth because we wanted to wait until we saw what we could implement before spending all this time on the concept and having nothing work. This was something we learnt from the first part of the semester.

The simple picaxe setup. Picture retrieved from Jenna Gavin.
On a brighter note we are having success with the digital compasses and video glasses. I have been able to set the resolution to 640x480 for Mac on Lion using SwitchResX. This has allowed us to stay away from bootcamp windows on our Mac that had the potential for overheating damages. Jenna has worked hard with the digital compasses and was able to program a simple picaxe circuit. The problem I had with them was able to be resolved by programming it on windows. The next step is to use them with the RF signals.

References

“About SwitchResX”, n.d. http://www.madrau.com/indexSRX4.html.

Saturday, May 26, 2012

Silhouette Showdown final hand in

Jenna in final stages before final hand in
The last few days I have worked on the completion of my Silhouette Showdown. It has covered a lot of areas and functions well as a whole game. I think the purpose of our game and what we wanted to achieve of it is still there. It has that core theme of edginess by focusing on people bonding together more physically to achieve a common goal. It allows people to disregard their personal space as the gameplay removes the players thoughts on any real world rules and has them completely focused on the game and the need of cooperation to win. This is strengthened when the players are put into teams and instead of looking to achieve that high score, they instead are competing against real and present opponents.

One of the BCT students testing the game



Our physical button made from a keyboard hack
At the moment for our hand in we have one mode finished, versus. Versus allows their to be two teams who verse each other and allows the teams to decide out of the 50 pictures what one they want to play off against each other. The team that wins is decided by who has the highest accurate percentage score representing the silhouette. When playing Silhouette Showdown it was actually good to see how entertaining our game was and that people were eager to be included into a team to play the game.

The game features at present state:

  Menu navigation
  High score list
  Sound effects
  Versus mode
  Team name choice 
  Categorised 50 Silhouette images   
  Image selection
  Silhouette style video imaging
  4 different screen variations each showing information related to the current game
  Timer countdown
  Physical button(used to stop the countdown straight away)
  Calculated percent scores from players silhouette picture compared to original picture
  Percent scores and team names saved to high score 


The players all concentrating on getting into the right position
Other students playing our game

Our team of 3 were Jenna Gavin, Matt Martin(me) and Thomas Hall. Jenna worked on the core parts of the game including creating the versus mode, silhouette style video output, score calculation and image selection. I created the surrounding parts of the game including menu navigation, sound effects and timer countdown. Tom was able to create the 50 images as well as create a mouse hack for the physical button. Some input from other students were Emile Drescher and Taura Grieg. We had guidance and a lot of help from our tutor Daniel Cermak-Sassenrath.

We plan on taking this further over the next few months but not until all other work is over. It also allows us time to take a step back and welcome new ideas and plans of attack to improve on Silhouette Showdown. I believe this will become a holiday project to keep me busy.



References


"Button Push Sounds | Effects | Sound Bites | Sound Clips from SoundBible.com”, n.d. http://soundbible.com/1950-Button-Push.html.

"Free Samples Pack 002 - 20 Original Arcade Sounds from Producing Beats | Producing Beats”, n.d.   http://www.producingbeats.com/Free-Samples-Pack-002-20-Original-Arcade-Sounds-from-Producing-Beats. 

"Spin Jump Sounds | Effects | Sound Bites | Sound Clips from SoundBible.com”, n.d. http://soundbible.com/1898-Spin-Jump.html.

"Ta Da Sounds | Effects | Sound Bites | Sound Clips from SoundBible.com”, n.d. http://soundbible.com/1003-Ta-Da.html.

Sunday, May 20, 2012

Working with Linux

One of my team members working on the material part of our project.
 Our team has been working in their own areas to make sure we have a finished project in 2 weeks. We have been revising the tracking system and have a few last choices available. We were able to get a look at the Kinect which uses infrared to track peoples positions, it is a possibility for us to use but will depend on how many can be present on the camera at once.


http://techchai.com/wp-content/uploads/2011/03/kinnect-camera.jpg
How the Kinect tracks people, similar to most infrared trackers
Upon looking over some other tracking methods that use Linux, C++ and digital cameras I was able to find a better detailed and easy to follow version of the tracking system. This allowed me to understand more about how Linux works from the simple commands needed in testing the tracking. I was able to test the source and use the example images to get a tracking result.

After testing the source code these temporary images were created
It sounds obvious, but after taking a few basic tutorials on Linux and understanding some of the commands I was able to get a better outlook on this method of tracking than I did on Tuesday. I think without that initial setup of understanding what is happening, the likelihood of searching for an alternative method increases. By being ignorant of going through these first steps will cause for a lot more stress and frustration. I have to review what it is I am doing and see how possible it is to do it with the right research and information. If it means I have to go into more thorough detail and effort then so be it.


References



“CVLAB - Computer Vision Laboratory”, n.d. http://cvlab.epfl.ch/research/body/surv/.
 
“How Does the Motion Detection in XBOX Kinect Works? | Techchai - Technology Tips, Tutorials, Articles and Updates”, n.d. http://techchai.com/2011/04/01/how-does-the-motion-detection-in-xbox-kinect-works-2/.

Tuesday, May 15, 2012

RFID tags and Linux

After the demonstration of the RFID tags on Monday I have been able to make an informative decision. There will be a high chance of them not working as there were connection problems from only very short distances between one sender and one receiver. The interference from people or objects also had a large impact on the distance that was being calculated. The price of one receiver would cost $500 and the sender $50. This would be too high of a cost for our budget as we would need at least 3 receivers for this to work.

 

















3 senders on the left, one using a magnetic switch. A receiver on the right.







Today I changed to another method of tracking using a Linux system and what would be connected to 3 cameras and programmed with C++. The creator made a very precise and working tracking system in the space he used. He was able to use at least 3 cameras to get a 3D position of the people. After installing Linux and spending half a day looking at just the first steps on how to create this, I began to realise that it was looking impractical to be able to follow and recreate this tracking system that has taken the creator 15 months to create.


http://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Tux.svg/170px-Tux.svg.png
The Linux icon
Upon looking back over all the different methods we have had on creating the indoor tracking I have seen this project too much focused on the tracking part. I will look at how we can develope this aspect of our project without it becoming the main focus. We still need to make sure this is a triggered unity project using humans that are put into their perception of being an ant, rather than an indoor tracking project.

 References

“Home | Ubuntu”, n.d. http://www.ubuntu.com/.
People Detection and Tracking Multiple Cameras. Method 2, 2009. http://www.youtube.com/watch?v=qmed-RBqpXg&feature=youtube_gdata_player.
Wikipedia contributors. “Linux.” Wikipedia, the Free Encyclopedia. Wikimedia Foundation, Inc., May 15, 2012. http://en.wikipedia.org/w/index.php?title=Linux&oldid=492647268.

Saturday, May 12, 2012

Radio frequency wireless communicator

I have created a simple RF transmitter and receiver that communicate but only one way.  I used two arduino boards with the RF transmitter and receiver chips. When the receiver receives the signal it then blinks LED pin 13.

The arduino RF transmitter on the left sending a signal to the receiver on the right. This sends off the blinking LED on the receiver arduino.

I followed this simple tutorial

As our trackers would have two parts (RF and ultrasonic) I started to look at the setup for the ultrasonic piezo transducers for arduinos. So far the only circuits I have found are for ultrasonic range finders that use both the receiver and the transmitter in the same circuit. It sends a signal and then waits to receive its echo to calculate the distance from the object it echoed off. Going by the ranges I have found for those it looks like they can only go a few metres. This means we will have to change our way of tracking to something that is stronger in signal or more costly. Other options that are still available is using IR, only problem with that may be also the signal strength and the direction of the transmitter.

Another group from my course are also looking into indoor tracking but to a different extent. They have been told that it is possible using only RFID tags that calculate the signal strength to find the position of the person. After finding some more indepth research I understand it is possible but may become expensive and not as precise. On Monday I will be able to understand this better as I will be meeting someone who has a vast knowledge in this area.

References

“Arduino - Ping”, n.d. http://arduino.cc/en/Tutorial/Ping?from=Tutorial.UltrasoundSensor.

“Hobby Robotics » Cheap Arduino Wireless Communications”, n.d. http://www.glacialwanderer.com/hobbyrobotics/?p=291.
 
Kaj Nummila, and Kaarle Jaakkola. “Rfid-based Indoor Positioning”, September 30, 2011. http://www.google.co.nz/url?sa=t&rct=j&q&esrc=s&source=web&cd=4&ved=0CJ8BEBYwAw&url=http%3A%2F%2F217.152.180.26%2Fupinlbs%2Fsites%2Fdefault%2Ffiles%2F3%2FRFID%2520based%2520indoor%2520positioning.pdf&ei=1MatT4eYHMfymAXt6OSiCQ&usg=AFQjCNHG6_tlrMHA8VZDDwSJFma8Vd385w&sig2=5BVCefNwoHpvvr2SYy3rTA.

Tuesday, May 08, 2012

Problems with the Picaxe

The area I have been focusing on over the last week and what has been consuming most of my time is the picaxe for the radio frequency transmitters. I have relentlessly been trying the simplest setup to get it to receive a program but there are still problems that follow it. I originally was using a ttl-232r-5v cable to send the program to the picaxe from the MacAXEpad software. After trying many troubleshooting ways around it using the manual I still was stuck at getting the 'picaxe not detected' error. I am not the only one who has had problems with the ttl-232r-5v cable and so moved onto making my own db9 cable connection for a db9 cable.

My first attempt at the radio transmitter
Unfortunately after testing this I am still stuck at the same error. Will see if there is any difference on a PC but will most likely change onto using mini arduino boards instead of picaxes. Our main concern is to make sure that the radio frequency transmitters can work first so we can take the right steps from there.
A DB9 cable attached to a D plug and 3 wire connectors.
References

“Picaxe Manual”, January 2012. http://www.google.co.nz/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CFsQFjAB&url=http%3A%2F%2Fwww.picaxe.com%2Fdocs%2Fpicaxe_manual1.pdf&ei=xbGnT_KWHuG1iQeos5TFAw&usg=AFQjCNGF71W90iap36CTsCguRRrWSC9vOA&sig2=Me2zOS9XSK_63MocIHHs3Q.

Friday, May 04, 2012

Silhouette Showdown Prototype

Our game is being created using processing. We were able to have a prototype version ready for Thursday for people to play. It included a title screen, 3 playable levels and a scoring system. It still has quite a few bugs that will need to be fixed but our biggest issue with making this game is the alteration in light. The way our game works so far is by first taking an image of the camera screen without anyone in the shot and then taking another one when the players have entered the shot and are in their silhouette position. It uses colour detection to determine what dots are in the right position and what ones are not. This is how the score is created.



 
  The feedback received so far has been welcoming and positive. We are now looking at steps to make the game visually appealing and to have more variation. This will include amount of players, difficulty, type of game and high scores.

Thursday, May 03, 2012

A perception to create collaboration

Over the last few weeks our work has been getting very technical and practical but we have always tried to stick to the conceptual part as to why we are choosing certain options. A lot of our decisions we have been making for this project were about how we wanted to immerse the user into our installation and how they will be experiencing this virtual imitation of a worker ant. For our installation to work and create the unified network that we wanted we then needed to understand what it is that would be happening. It would not be a human having this experience of an ant's life but rather a human's perception of what it would be like so they could act like the ant instead and feel as if they are part of this colony.

ant-glands
The structure of the ant.
http://blog.wildaboutants.com/2010/06/27/questions-about-ant-pheromones/

As the ants use their scent trails to trace back to their food we thought this would be difficult for the human users as they will not have antennas and their noses are not the best for detecting smells. For the users to move around in our virtual world comfortably they would have to be able to use their most important sense. Their vision. Otherwise they would not only be less mobile than an ant but they would also not know what they are doing and guessing where they are going. Having audio only as the trail would mean the users would move slowly and cautiously. We thought giving the users their vision in the virtual simulation would allow them to see a trails direction like an ant would smell it. We will limit the distance that the user can see so they are on par with the ants smell distance.

This is just one of the ways we will allow the user to feel as though they are like a worker ant. We are also looking into how they will look in reality and creating interaction with virtual ants.


References 


“Ants’ Body Odor, Physical Contact Get Worker Ants Working, Study Finds”, n.d. http://news.stanford.edu/news/2003/may7/antchat-57.html.
“Questions About Ant Pheromones « Wild About Ants”, n.d. http://blog.wildaboutants.com/2010/06/27/questions-about-ant-pheromones/.
“Questions About Ant Pheromones « Wild About Ants”, n.d. http://blog.wildaboutants.com/2010/06/27/questions-about-ant-pheromones/.
Wikipedia contributors. “Ant.” Wikipedia, the Free Encyclopedia. Wikimedia Foundation, Inc., May 11, 2012. http://en.wikipedia.org/w/index.php?title=Ant&oldid=490208767.