Subversion Changeset now equals 1337:
Sending PyCode/Brain.py
Sending tables/labHighSlow/table.mtb
Transmitting file data ..
Committed revision 1337.
We are So Elite.
Subversion Changeset now equals 1337:
Sending PyCode/Brain.py
Sending tables/labHighSlow/table.mtb
Transmitting file data ..
Committed revision 1337.
We are So Elite.
offline vision processing?
A long while back I applied for a Google Analytics account and sometime during the Germany crunch it came through. So, finally, I’ve gotten it installed via this incredibly easy plug-in called, astonishingly, Google Analytics plug-in for WordPress.
Analytics will allow us to figure who and where you robotics fiends come from and organize it in the typical Google-awesomeness way.
We aren’t the only Northern Bites around–it’s also what is I’m sure a fine cafeteria at Northern Lights College in British Columbia.
Northern Bites is also a ‘meals-for-purchase’ plan on Alaska Airlines.
C3PO is doing laps upon laps in our Robot Lab this afternoon in hopes of finding a walk faster than all previous ones.
The poor guy is trying really hard. We’ve experimented with policy-gradient algorithms, but now we’re running a hill-climber algorithm, which is essentially the easiest machine learning algorithm to digest and write.
Machine Learning works like this: you want to find an optimal solution to a problem, and you want the computer (or dog) to find it for you. Computers are very good at doing things over and over again, and so we can leverage this ability and have the computer try many variations of one solution until we find an optimal one.
Machine Learning algorithms guide these solutions and dictate how and when these variations occur. Flashy algorithms these days have flashy titles like Genetic Algorithms and Downhill Simplex Methods. But ours is much simpler.
Hill Climber algorithms start with a base solution and then vary this solution a certain amount of times, gauge each variation’s success, and then simply chose the best solution so far and repeat. For us, our ‘base solution’ is a walk — a set of inverse kinematic parameters — that we hope to optimize.
Right now C3PO is in lap 258 of possible 800. Come on, C3PO!!
What is SLOC? It means Source Lines of Code–and we’ve generated a lot of them. So we ran this program called sloccount on our bulky our entirely fresh, brand-spanking new code base as of last fall. It came up with some interesting numbers:
Total Physical Source Lines of Code (SLOC) = 33,716 –Ed.: 10,000 of this is Python 2.3 source code (and not ours)
Development Effort Estimate, Person-Years (Person-Months) = 8.04 (96.48)
Schedule Estimate, Years (Months) = 1.18 (14.19)
Estimated Average Number of Developers (Effort/Schedule) = 6.80
Total Estimated Cost to Develop = $ 1,086,099 (average salary = $56,286/year).
I can only conclude that I have been vastly underpaid over the last year.
Here’s how it broke down in terms of languages:
cpp:Â Â Â Â Â Â Â Â Â 16838 (49.94%)
python:Â Â Â Â Â Â 10995 (32.61%)
ansic:Â Â Â Â Â Â Â Â 5421 (16.08%)
sh:Â Â Â Â Â Â Â Â Â Â Â Â 462 (1.37%)
So overall we’ve done quite a lot of work. Roll, nBites!
*generated using David A. Wheeler’s ‘SLOCCount’.*
So in the long list of cleaning house on the team–the code base, the robots, the lab, the ferd–I’ve finally come to the website. Here’s our grand idea: we’ll take an old linux box from downstairs and make it into our own personal webserver. Jeremy is in the process of wiping it, installing debian, mysql, php, etc, and then I will install wordpress and port over this website.
Our own webserver will provide a bunch of substantial functionality boosters–we’ll have our own dns (probably robocup.bowdoin.edu), a much faster loading website, and much more control over it as well. We’ll be able to do things like access our code base via httpd and even stream video–and we’ve accumuluated a lot–to our adoring fans.
In the meantime, I’ve created a Media page that’s currently in progress which will hold some of our things to come.
Blogging Platform updated to 2.0.3 (2.0.4 and 2.1 coming soon).
Just committed our 400th revision to our SVN repository code base for this year’s team. And it’s a goody: the dog really finds and moves to the ball well, and traps are up to about 75% accuracy.
Gone is the ‘os’ script–just use the ‘ins’ script from now on. The ‘os’ script will remain if you want to wipe the mem stick and keep our code off of it.