Saturday, June 1, 2013

Week 9

YAY!  Search algorithm issues have been resolved.  After several weeks of tweaking this part of the code for the robot we've finally got it acting in a manner that we'd like.  The issue before is that the robot would sweep past the target several times before noticing it there or it would notice the target and when approaching the target the angle wouldn't be good and the robot would then miss the target and go back to searching again.

The Fix:
A piece of code was inserted that had the robot sweep the the right until it noticed and object and then to continue sweeping until no more object was found.  A beep would then sound to indicate that the robot found the right most edge of the object.  The robot would then begin to sweep in the opposite direction until it past the object and would sound a beep indicating it has located the left most edge of the target.

Now the robot would take that distance, divide by 2 and move that number back to the right.  This positioned the robot nearly centered to object every time and then the robot would approach the object without missing it, perform a function as desired depending on the type of target and then continue its way throughout the building.

Now that we've got this underway the robot is complete and ready for presentation!

Week 8

New targets have been constructed to aid the robot in locating the targets better.  A small target was taking to long to locate and the robot would sweep past it several times before noticing it was there.

The new targets are larger squares that were marked with different colors so the robot can determine which target is which and take the correct actions.

As mentioned last week our robot's search code is still not where we'd like it to be.  While the robot can perform the functions intended inside the room it isn't performing as well as we'd like.  The code for this area still needs some work and it is the only thing left for the completion of this project.

Over the next week we hope to have the rest of the bugs worked out of this part of the code and be ready for presentation!

Week 7

We've been running into issues with our code as of late and haven't quite been able to get the robot to react as intended once inside a room.  From the testing we've done we have decided to make the target the robot is looking for bigger to help with this issue.

So far we've got the code pretty solid for navigating to the room and to begin the search algorithm. Once the robot gets in the room it takes far to long to locate and object, the search pattern is incredibly inefficient and we're working on bringing that up to speed.

The good new is that we have some ideas on how to fix it and will be trying out 2 different algorithms in the next coming weeks and see how that affects the robots performance.

Friday, May 10, 2013

Week 6

With the robot programming underway and working pretty well, we needed to being construction of the building so that we can begin running more in-depth tests with the robot.

We began by cutting two pieces of wood into 4 quadrants that will act as the floor of the building and then began cutting foam board and using hot glue to attack the foam board to the wood floors.  The foam board will be the walls of the building.

We used a thinner foam board for the perimeter walls and a thicker foam board for inner walls.  With just hot glue, we were quite surprised how solid the construction felt and will continue this process an have the full floor plan laid out by the end of this weekend.

We also are expecting to at the very least have the robot enter one room and perform its search function to locate, identify, and either download/subdue the target.  Once this is complete its just a matter of extending the program so that the robot will continue to the other rooms in the building and perform the same function.

We are expecting a well rehearsed prototype to show off by our next class.

Week 5

Week 5 was a successful week working on the program of the robot.  The line follow algorithm was already working well but we needed to integrate other functions into the program so that the robot could do more than just follow a line.

After a few iterations, we've got the robot able to follow a line into a room.  Once in the room, the robot will begin to search for an object, find said object, and then identify the object.  If the object is the intel (marked by something blue) the robot will then begin to "download" the information.  If the object is hostile (marked by a red object) the robot will whack it with a hammer.

This set of functions is up and running pretty well as of now.  We also discussed ways of having the robot find its way back to the line so that it can follow it onward into the other rooms.  We're going to have the robot locate a wall in the room and begin following this wall until it finds the entrance to the room, where the line will be, and then get back on track with the line.

Saturday, April 27, 2013

Week 4


With the physical design completed, its time to turn to the programming of the robot.  This is the more difficult task of the project.  The robot will be performing several functions and the program needs to be written so that each function can execute without interfering with other functions.

So far a line follow algorithm has been established.  This is the primary way the robot will be navigating the building.  The color sensor is used to determine a black line against a white surface.  The robot will then follow this line.  The video here shows the robot following a line pretty well.

Up next, we'll need to have the robot interrupt it's line following algorithm to allow it to perform other functions and then resume the line follow algorithm upon completion of these functions.  Hopefully we can have an update next week that will allow this.


So far the team is on schedule with the project and barring any setbacks should complete the project with all desired functions on time.

Week 3

Week 3 has come and gone and the final design for the SpyBot is complete.  A few changes were made to the way we wanted to robot to perform its functions and this affected our overall design.  We've decided that instead of physically extracting the sensitive information discovered while exploring the building, the SpyBot will now "download" the information.  Upon locating a target, the robot will determine if the target is hostile or a piece of information relative to the mission.  Hostile targets will be subdued with a hammer like weapon and sensitive information will be downloaded for retrieval at the extraction point.

In order to do this the physical design was simplified by only utilizing 1 NXT Brick to perform all functions.