Version 45 (modified by 17 years ago) ( diff ) | ,
---|
This journal is maintained by Winlab summer interns Vamsi and Aniket, who are working on robotmobility. Unless otherwise noted, the entries are typed up by me (Aniket) and I refer to myself in first person for simplicity.
7/3/07 - Day 21
We are continuing to work on our algorithms to improve their speed and reliability. We have some time on the grid reserved for tomorrow morning as well as 2pm on Thursday and Friday.
We are currently focusing our efforts on finding the best curve fits for our data. Currently I am measuring data in a triangle and fitting it to a plane, and Vamsi is measuring his data along a strait line and fitting to a parabola. Both have their strengths and weaknesses.
There are many useful tools in the packages numpy, scipy, and matplotlib. We can generate high quality plots directly from python, which is easing the data analysis process.
7/2/07 - Day 22
We have begun working on a new grand solution to the access point locating challenge. We are working on an intellegent python program which combines different types of regression analysis to locate the AP.
A previously written bit of code, bigtri.py, was successful in locating the access point within a few meters. We are taking the idea from this code and working it into a larger project which meausures the signal strength at various locations around the room and remembers them all. This new program will form multiple "guesses" on the location of the AP using a few different techniques and also try and narrow down its guesses to a single best guess.
Ivan has suggested three guessing possibilities:
- Have the robot make several triangles aroudn the room and guess the location of the AP based on each one. Average the locations
- Sample some data points from each of the triangles visited and make a guess based on that
- Use every point observed and make a guess
We are using matplotlib to visualize the map the robot generates of the room and numpy to work with the data. So far we have written some fundamental functions to plot the robot's progress as it works, and the final product will allow us to see the robot's guesses on a map. We also have assembled code to perform the curve fit data to a 3D cone using scipy's leastsq() function.
Another fundamental difference between this project and previous algorithms is that we are making more careful decisions about data structures. I am trying to use numpy's arrays as much as possible. All of the data collected, since it all needs to be stored and recalled, will be held in a single array. Functions are in place to add new data points to this array and extract from it lists of X,Y, and S values.