Marwan's Journal


March 23, 2002

Concentration area: "Getting There group". Names: Hasan Al-Aref, Hassan Halta, Marwan Aburdeneh



Thursday 3/21/02.

Major issues/problems: -Starting from a known initial position. (next to the white board). -Ending point? Where to stop, or where other groups want us to be for their objectives. Dealing with objects along the way, and how to react with various landscapes if required to change location of experiment. Since directions will be given, we decided to write functions for basic operations like "turn right, left, 90 degrees, etc) that takes time as an argument. So, even if our starting position has been changed, we can just change the parameters given at the starting point. We have to implement different experiments to decide on a speed for the robot. The speed of the robot will depend on the topology of the ground in the building. We found out that we need to make one wheel go faster than the other in order to make the robot go faster. That's why we need a standard design for the robot so we will have the same distribution of the weight on the wheels.

Dependencies: - need to know where other groups (mapping group) need the robot stop in order to start their code. - Where to put them before they start going back to the base. - Need directions before we start. - Directions to come back will be generated using an array, but it is under debate at the moment.

Who is responsible for what? The three of us discuss the project ideas and techniques as we go. There is not really a set part for each one, but probably as we go there will be different pieces of the code done by different members of the group.

Spokesman: To be announced in a press conference. Temporarily till the end of the semester, it will be a joint effort among the three of us.

Shopping list: There is not really an item that we need badly, but if something comes up, we will email the list ASAP




Monday, March 25th, 2002

We did not have a formal meeting over break, but we exachanged ideas to refresh our memories and have ideas for next meeting and think about future questions to raise. The next meeting we had was in class, when all the groups shared their information together, and what each group would like from the other, so we had very minor changes to do after that talk.




Thursday, March 28th, 2002

Another class, we spent ppart of the class explaining how we are to implement a final approach of the problem, but we had to change a bit to meet some expectations from the mapping group, for instance in parking the robots in line in front of the beacon light source. One of our questions was for us to know in our way to the target, are we going to face obstacles in the way or what? We made arragnments to start testing for speed of the robot, and for turning angles.




Saturday, March 30th, 2002

We started with the architecture itself, and agreed to have functions for going forward that takes distance as an argument, turning left and right, adjusting itself in case the robot hit an obstacle in the way ( although it shouldn't ). Going back was an issue raising by it self, the idea of using an array and storing ints in it for the way back was the first idea that came to us, having 0 for lets say going forward, 1 for left and 2 for right. The idea had few more details, but its changed now to having an array of chars, and just storing the letters 'L' and 'R' for each direction with the amount its going in that direction next to it. Arrangements was made for the next meeting to starting coding.




Monday, April 1st, 2002

A rough draft of the code started to take place, as we started implementing some functions. Some details for coding was still ambigous and minor stuff were to be taken care of later on when more things will be clearer, such as the speed of the robot, because we need to get a speed that all the robots will be driving at, and we are hoping to get as close as possible to make them all drive at the same speed, turning 90 angles testing was also to taken care of later on, in a different meeting. Questions that rose as we were implementing was first where do we need to stop during our movement of "getting there" becuase the maping group mentioned that they would us to line up the robots someplace infront of the beacon, plus we need to ask how directions will be given to us, as a file or tell us in person where to go, in order to hard code them down in the code??.




Tuesday, April 2nd, 2002

A good discussion tooke place during class time, as we got more things cleared and Charlie explained to us a better efficient way of using the array for the directions and how to save space. We gathered around in our small group and gathered more ideas of how to implement this and to continue on with the code.






Thursday, April 4th, 2002

Just like each class, each group shared with the others their progress and if they have questions or concerns. Our group started testing the speed and the 90 degrees angles and continue coding and compiling. We are going to meet again during this coming weekend to do further coding and testing.





Tuesday, April 49th, 2002

We met in groups as usual, and we exchanged information and each groups progress. Then our group gathered around to continue on with our mission. We started testing for the 90 degrees angle and moving the robot straight forward. One of the obstacles that we faced while testing is low battery on the robot, so the robot did not work as we wanted it to, so we had to give it time to recharge, in the mean time, we continued writing code, and we made good progress with our functions.
One of the problems we faced during testing with turning 90 degrees was alot of friction from the wheels, since the back wheels are turning and the smaller front ones are not, which makes the turn less than 90 degrees. This was due having hard rubber on the wheels, so we started looking for solutions and Charlie suggested to get some crazy wheels in which it will be better from friction wise and it wont cut the paper.
We decided to meet again on Wednesday, the following day to continue with both the testing and coding.
br>




Wednesday, April 10th, 2002

We met outside class, we continued with our coding and testing. We made some productive aspects in coding and resolved some of the obstacles we are facing with testing, and it looks like everytime we do some testing, something new comes around. We doing our best to keep resolving, although sometimes it gets annoying since if we solved something in a meeting and put the effort and the time, and the next time, something else comes up, for instance, one of the repetitive problems that we keep facing are the wheels. Some times they work just fine and the other, the dont. And when we move from one robot to the next, this thing differs. Another problem we sometime run into is the battery problem, since no everybody charges the battery once they leave from the ENI lab. We made a productive progress in making the robot go forward, turn 90 degrees. The biggest thing that took some time was solving the issue of making the robot drive in a straight line. We first tried having both motors work at full speed, but that did not work as we wanted it to be, there was a little tilt to the right, and then we started decreasing the motor speed of one of the them and then the other, in order to see how much close can we get the robot to drive in a straight line. Then we came up with the idea of having the robot drive as we got it till this point, and then after 1 meter, it will rearrange it self, as if it was driving in a curve and then it will go back to its track again.
Once we had a good grab on that, we testing long distance traveling by the robot, in which another error arose from the robot itself. The error was due large numbers when entering long distance. We then decided to change our algorithm in which divide the traveling into intervals of 1 meter, and having a loop till we reach our goal.
We continued testing and solving the conflict with the code for a while.



Thursday, April 11th, 2002
Meeting took place in class, We did some work with the array to make sure it is updated and things are going well. Did more work with the come_back function. The problem that rose here was that the robot was only going forward and not reading correctly. We come up with another function to print out the reading of the array in order to see if the array is reading and writing correctly. The problem was solved, since it was a coding problem with different counters.



Sunday, April 14th, 2002
Doing some finishings we can have something ready to share with the class. We are basically in a good shape, despite the fact that every now and then we run through the same problem over and over again, which is sometimes the batteries are not well charged and sometimes the wheels are not working properly, and the last thing is the floors surface, which sometimes gives us hard time. But at this time, we have some ready code to run robots from.




Tuesday, April 16th, 2002
Everybody started gathering data and code together. The only thing that needed some clearance is the use of the correct variables with all the groups.




Monday, April 22th, 2002
Things started getting messed up since the last time we met and people left. We started getting errors when we tried the code on the bot. There was some problem, and we started gethering ideas to solve out problem since there wasn't much enough time left. The problem was found in the code. It was when we make the robot correct its way, we used the turn and advaance functions within the main advance function which means that these functions will also update INDEX, this messed up everything in the array. The problem was cuase due to small number that we tried on, cause we were testing on less than 1 meter.
The other problem that were were facing is that we were not working with the actual robot that we are going to use in the final project, it did not have all the stuff on it. This cause a leaning to the left, others to the right ( later on). We worked more on this, and we made a successful runs from a random starting point to the an end-point. of course there was error, but we did out best to decrease that amount. We had to do some more work with the 90 degrees turn, as we faced some problems in different parts in the room, since our major crisis here came when the robot was on its way to go to the other room, its started messing up from the left turn and started shaking, which cuase it to loose power and speed.
The problems that we are facing at the moment are more as a robot thing than a code thing. The code looks fine, we just find more obstacles that come in front of us each time we leave the ENI and come back. br>



We met ofcourse in class and people were working on different thing. We uploaded the code into the robots, since we got 6 ready to go and start testing. There were few errors while compiling that we had to solve. Plus we started doing some calibration.




We did some finished in the last weekend that we had before saturday, the time for the project. We tested each robot alone, and gave them direction in order to see that they actaully can go from point X to point Y. Calibration continued and more testing and more problems rose and we stayed till we thought it was doing a good job. Basically, turning 90 degrees ofcourse differed from one robot to the other and the amount that it tilts and to which direction differes as well, and that is what we worked on.




Saturday 5th, May 2002

People were in the lab at 10am, we had to do some last finishes because when we worked the night before, the batteries of the robots were not well charged, so we did our best to see what we can do with what we have, and in the next morning when we had the batteries well charged, things did not seem like they were the night before that, so we had to spend more time with calibration and testing.

Project Done!!!