Post Project Thoughts
We did a very good job in deciding which path we wanted to take in representing the maze and designing sensor array of the robot in our initial brain storm. Our final environment was very close to the original proposed and the final robot was the same as the proposed robot design. At times this seemed challenging, but ultimately was the best solution, since we we able to reach our proposed project. The robot can navigate the maze in a somewhat intelligent manner. Meaning it will map the environment and know where it has been, past paths it can take, and where it can not go based on previous paths taken.
In conducting this project there are a few things we would like to have known sooner. One such thing was that one of the web compilers for legOS did not work. However, we thought it was our code. Only when the second web compiler came online again (repeatedly stopped working), could we determine that is was in fact the compiler and not the code. If we had known this we would have spent the time we wasted trying to compile in building the legOS compiler on our machine. However, the links were broken for the actual download of the cross compiler for a long time as well.
Another piece of information we would like to have known sooner was that we could or multiple sensors on the same input. This means you can have greater than three sensors for the robot. This was helpful but in one stage of the design process. In addition knowing that using more than two processes in legOS is very difficult. It requires using many sleep statements to prevent some processes from taking over.
Finally, we would have liked to have known how difficult it would be to interact with the environment! We thought this would be a much simpler task than it was. It turned out to be the most difficult and the roadblock many times. We ultimately had to modify the environment to provide more information to the robot to reduce the uncertainty of its movements in the environment. Therefore, we were fighting the environment in this case. Another problem in dealing with the environment was changing light brightness. During the day the values for gray, and white would change drastically. This would completely throw off our line following algorithm. Therefore in order for the follow line function to work correctly, we have to experiment until we find values that will allow the robot to follow the gray line.
Some future tasks to help improve our robot can be done. One such thing is to have the robot calibrate itself to the light. This would prevent us from having to test various light values for on that works. If this were accomplished then we would be fighting the environment less. Another improvement would be if we could get rid of the gray grid lines. This is also fighting the environment. However, at this time we have no ideas on how to solve this problem. This would require a lot more testing and work. The greatest improvement we could make would be to remove the black grid lines as well. The robot should be able to map the environment based on different objects and situations in the environment. Again for this we have no ideas on how to solve the problem. This is because we have not been able to figure out how to distinguish different points on the maze without marking them some way. One wall looks exactly the same as the next and one turn could look the same as another if the robot is in a different orientation. Again this is the greatest challenge in improving our robot.