Archive for the ‘Announcements’ Category

Award Winning FIRST Robotics Robot Control Interface

Monday, April 8th, 2013

KwarqsDashboard is an award-winning control system developed in 2013 for FIRST Robotics Team 2423, The Kwarqs. For the second year in a row, Team 2423 won the Innovation in Control award at the 2013 Boston Regional. The judges cited this control system as the primary reason for the award.

It is designed to be used with a touchscreen, and robot operators use it to select targets and fire frisbees at the targets. Check out the shiny screenshot below:

Kwarqs Dashboard ScreenshotThere are a lot of really useful features that we built into this control interface, and once we got our mechanical and electrical bugs ironed out the robot was performing quite well. We’re looking forward to competing with it at WPI Battle Cry 2013 in May!  Here’s a list of some of the many features it has:

  • Written entirely in Python
    • Image processing using OpenCV python bindings, GUI written using PyGTK
    • Cross platform, fully functional in Linux and Windows 7/8
  • All control/feedback features use NetworkTables, so the same robot can be controlled using the SmartDashboard instead if needed
    • SendableChooser compatible implementation for mode switching
  • Animated robot drawing that shows how many frisbees are present, and tilts the shooter platform according to the current angle the platform is actually at.
  • Allows operators to select different modes of operation for the robot using brightly lit toggle switches
  • Operators can choose an autonomous mode on the dashboard, and set which target the robot should aim for in modes that use target tracking
  • Switches operator perspective when robot switches modes
  • Simulated lighted rocker switches to activate robot systems
  • Logfiles written to disk with errors when they occur

Target acquisition image processing features:

  • Tracks the selected targets in a live camera stream, and determines adjustments the robot should make to aim at the target
  • User can click on targets to tell the robot what to aim at
  • Differentiates between top/middle/low targets
  • Partially obscured targets can be identified
  • Target changes colors when the robot is aimed properly

Fully integrated realtime analysis support for target acquisition:

  •  Adjustable thresholding, saves settings to file
  • Enable/disable drawing features and labels on detected targets
  • Show extra threshold images
  • Can log captured images to file, once per second
  • Can load a directory of images for analysis, instead of connecting to a live camera

So, as you can see, lots of useful things. We’re releasing the full source code for it under a GPL license, so go ahead, download it, play with it, and let me know what you think! Hope you find this useful.

A lot of people made this project possible:

  • Some code structuring ideas and PyGTK widget ideas were derived from my work with Exaile
  • Team 341 graciously open sourced their image processing code in 2012, and the image processing is heavily derived from a port of that code to python.
  • Sam Rosenblum helped develop the idea for the dashboard, and helped refine some of the operating concepts.
  • Stephen Rawls helped refine the image processing code and distance calculations.
  • Youssef Barhomi created image processing stuff for the Kwarqs in 2012, and some of the ideas from that code were copied.

The included images were obtained from various places:

  • Linda Donoghue created the robot image
  • The fantastic lighted rocker switches were created by Keith Sereby, and are distributed with permission.
  • The green buttons were obtained via google image search, I don’t recall where

Download it on my FRC resources page!

Visual Studio styled Dockable Windows Component Library for .NET

Wednesday, January 2nd, 2008

Well, isn’t THAT a mouthful of a title.

This is another open source project created as a result of my Senior Design project. See, we had this nice GUI, but it seemed like it needed to be a lot more flexible than it was, since using it was really quite annoying. So, I got the idea to copy the interface from Visual Studio… since, in my opinion, the way the dockable windows work in VS is quite intuitive and useful. Some of you may cry out that there are other programs that do the same behavior… well, I copied it from VS.

So, thats what this component library implements. See a screenshot:


As you can see, its capable of fairly complex layouts, with each element completely resizable and movable and such.  It is not quite as polished as the interface for Visual Studio, but its still quite intuitive for the user to use, and a pretty decent approximation for most projects. More importantly, its open source!

A sample executable and source code/project files are included in the download package.

Please note that you can NOT drag new panes into the form designer, as implementing the appropriate designer support seemed to be more trouble than its worth. Refer to the PaneTest project for detailed implementation, and the source code for detailed documentation.

If you find any bugs or have any comments or questions, feel free to drop me an email!

Download: Link


Tuesday, December 18th, 2007

Finally! I’ve graduated with my Bachelor’s Degree in Computer Engineering from Western Michigan University. I’m quite excited about this, as you can imagine. At the moment, I’m out searching for jobs… ironically, I’ve had more fun constructing my computer engineering focused resume than actually searching for jobs. So if you’re looking for an embedded engineer, software engineer, or web developer, I may be your man. Check the resume out for more details.

Update: I have a job! More details to be announced in the future.

Improved innovative Javascript/CSS enhanced resume

Monday, November 19th, 2007

I mentioned earlier this year that I had created an enhanced resume web page for myself, by using javascript and css to display either a ‘full’ or ‘condensed’ (one-page) version of the resume, and mentioned also that it would be pretty trivial for someone to make it work for different categories if they wanted.

Well, I did just that, and you can see my newly updated innovative computer engineering javascript/CSS resume on this site now! I’ve spent a lot of this weekend working on categorizing each part, and reducing each category so that they fit into one printed page (on most systems, anyways). Its pretty unique, you should check it out.

One of the things I’ve done with this is tried to refocus it to highlight my strengths in particular areas, and focus a lot more on my security/engineering background, as opposed to just my web background. I haven’t begun my job hunt yet, but with graduation in December, that may start soon if my graduate applications don’t work out. (more…)

OWS v0.8.0.1 released

Tuesday, August 14th, 2007

There was a huge issue with the ows_aggregate plugin in version v0.8..
sorting just did not work at all. v0.8.0.1 has been released to resolve
this issue. Thanks to Jon for pointing this out.

OWS Download Link 

Major Release of Obsessive Website Statistics

Tuesday, August 14th, 2007

Note: This announcement can also be found in the obsessive-compulsive mailing list and the OWS news archives at sourceforge.

The first open source Web 2.0 website log analyzer, Obsessive Website Statistics (OWS) uses PHP and jQuery to provide a powerful and intuitive interface to manipulate website log data stored in a MySQL database via easy to create plugins.

This is a major release of OWS. All users are strongly encouraged to upgrade. v0.7.x is completely not compatible with v0.8, as the database structure has totally changed for performance and flexibility reasons. You will need to totally delete your old databases and upload logfiles from scratch. This is not expected to happen again in the future.

OWS v0.8 now stores its data in a multidimensional OLAP-style data schema that has shown huge performance gains for data retrieval in our initial testing, and also promises to scale better than the previous releases of OWS. Additionally, OWS plugins have been enhanced to take advantage of the new data schema, and the manual analysis option is now much more intuitive to use for individuals not familiar with SQL.

Download link for OWS
Sourceforge Project Page

Obsessive Web Statistics: Open Source Web 2.0 Website Statistics System

Wednesday, July 18th, 2007

For the last month or so, I’ve been working on a new PHP/MySQL/jQuery web application that I’ve decided to call “Obsessive Web Statistics” (OWS). A project has been created on Sourceforge for it, and I’m happy to finally announce the first file release for OWS! There are a number of features about OWS that give it an advantage over existing website statistics software.

Instead of generating static HTML reports like most website statistics programs, OWS takes your Apache logfiles and puts them into a MySQL database. A dynamic jQuery driven interface with a PHP backend allows you to manipulate the data and display it in useful ways. The interface is mostly intuitive and simple to use while providing powerful options to manipulate the data. For more information, you can visit the Sourceforge page or subscribe to the obsessive-compulsive mailing list (how crazy of a name is that? LoL. FYI: Its only about development and help for OWS) . Archived version of the list is available at Sourceforge as well.


Sourceforge website: 

Demo Site: 

Many thanks to my friend Tony Mattas ( for providing hosting for the OWS demo site!

LOLCat Generator in PHP

Friday, June 29th, 2007

Last night I had a discussion with my roommate and decided that it would be pretty trivial to make a php script that generated LOLCats, since everyone else was doing it. Of course, as far as I know there are no free LOLCat generator scripts, so without further ado, I present to you my open source LOLCat generator script. It includes a demo page to show how its supposed to work. There are a number of parameters you can adjust… its intended to be used as a library. You can download it from my software page.

LOLCats Generator page

Download Page:


Let me know if you find any bugs. 🙂

Carputer Pictures Updated!

Thursday, June 28th, 2007

I’d like to point out that I just added some new pictures of the carputer and the AWESOME case that I was able to convince my dad to make! Seriously, the picture of the case does not do it justice. Heres one of them:

View of the carputer case.

You can view the other pictures of the linux carputer (including pictures of it mounted in my car, finally) at the carputer portion of the site.

Carputer Project Site

Thursday, April 26th, 2007

For my CS 4540 class, we had to do something related to Linux… but, really, theres not a whole lot of things that are particularly interesting to me that I haven’t done yet in Linux. So, instead me and my partner built a tiny computer and stuck it in my car! Its Linux based, tiny, and shiny! Its not quite done yet, but the pictures are quite neat! Check it out.