Computer vision for controller-less robot control

It is legal (currently) to use computer vision of humans during autonomous mode to command a robot in FRC. This has been accomplished before by other teams, such as The Cheesy Poofs. We designed a different algorithm that allows for control of speed as well.
The Ratchet Rockers have designed two different methods to accomplish this control. The first one implemented resembles 254′s more directly as it is OpenCV. It searches for an object (via color threshold) and uses its position to determine the speed and direction of the robot. This has been tested to work reliably.
We also worked on a similar method later using skeleton tracking. One hand tracked works the same way as the previous solution. The other can be used to send specific action commands to, for example, launch a ball at the target. There are some irregularities that occur if the program has been running long, which we haven’t been able to overcome yet. This program is alternatively written in C#.NET using Microsoft’s own kinect libraries on windows. We don’t have confirmed results on the robot yet, but it uses the same protocol as the previous solution.
Even in the off season time of summer, our team 1706 continues productivity in vision and control solutions.

Security in the face of SSL vulnerabilites

Just yesterday, the news broke of a large exploit in popular software that powers the security of large parts of the internet. Within minutes of hearing about it for the first time, I took action to protect my website, even though it was midnight and I was super tired.

My website was secured well before some other large ones were. For extra security, I generated new security keys (my certificate was to expire in a week anyway). Hopefully an exploit of this magnitude will not occur again anytime soon.

Why Norton AntiVirus sucks

Today I attempted to download a game I wrote many years ago as a little kid to play again for a small dose of nostalgia. What do I find? Norton removed the file not because it contained a virus, but due to a “reputation” algorithm. I would never inject malicious code into my applications, however the multitude of users relying on such “Anti-virus” software would see the alert and forever remember me as a person attempting to cause harm to their computers. A simple “helpful” algorithm intended to prevent viruses leads to lost trust in applications developers and hurt feelings for game makers simply attempting to replay their past creations.

Helpful guide to “Big O” notation

Being the type of person who learns by examples, reading information on Wikipedia and given a synopsis by another person is not enough to totally understand a concept. There is a guide that, in my opinion, gives a nice overview of how this measure of function efficiency works. I recommend visiting A Beginner’s Guide to Big O Notation. It was very helpful for me, and I hope it can be useful to you.

Debugging plugins on a live Bukkit server

<tommytony> “C:\Program Files\Java\jre7\bin\java.exe” -Xms2048M -Xmx2048M -Xdebug -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y -jar craftbukkit-1.6.4-R2.0.jar
<tommytony> then create a new Debug Configuration in eclipse
<tommytony> choose Remote Java Application
<tommytony> set port 8787
<tommytony> run that debug profile from eclipse
<tommytony> your server should start
<tommytony> and you can breakpoint

2013 0hgame

Me and vel0h made a game for the 0hgame initiative this year! This is a jam where you make a game in “zero hours”: the one hour loss during daylight savings time. As you can guess, the quality of the game won’t be the best, but that’s the whole point of a jam!

Download Cosmic Soccer Battle

Extract the ZIP, then run game.bat for windows or for mac/linux.

Instructions: use WASD to move, SPACE to fire your soccer ball. Avoid running into aliens. Shoot for the other team’s goal or aliens. The ball will travel in the direction you are currently moving.