Monday, June 11, 2012
Update: ROV-suite (short)
Hey! I'm super tired right now, so this post will be pretty short even though it covers some good material. I'll go more in depth into these topics at a later date. First, check out the latest screenshot of Monterey! Like the new compass? It's my first time embedding a QML widget in a QWidget application. I personally like it, although the ring around the compass has a few rough spots that I need to (and will) take care of soon. Nothing a little Pixelmator can't handle.
Also, Monterey is now multithreaded! Yay!!! You'll see a smoother, more responsive UI now on systems with a slower clock speed but with multiple cores. Granted, Monterey currently doesn't take up *that* much power, but who knows how intensive it'll be in the future. Monterey is admittedly my playground for learning about new technologies and new techniques.
If you haven't checked out OpenROV, check it out! It's a pretty awesome open source (hardware and software) ROV project. I'm working on making an Arduino binary that can act as a bottomside software for Monterey that is compatible with the current OpenROV setup. That way, if you get that hardware, you can still use ROV-suite.
A friend of mine, Nick Sopwith, who is a whiz at electronics (although I will have to take some credit for helping teach him some C++), has recently taught me how to etch my own circuit boards in my garage using a laserjet printer, an iron and some ferric chloride. He and I have a few surprises up our sleeves for our robotics team's ROV next year (he's a year younger than me and he's on the team). Can you say Arduino Mega 2560 Ethernet plus lockable breakouts for sensors, ESCs and more? With a built in digital video switcher? And some IP addressable cameras? It'll be fun stuff! Speaking of robotics, when this current season is over, I'm gonna post some articles about the awesome control application that I've been working on for the team. It's just about 5,000 lines of code and can help the ROV pilot itself. I won't open source it (the code is kinda messy because I wrote the foundation code before learning much about how to split up my code into classes), but it has some interesting features and though processes behind it.
Woah.... I just realized that I still have features to add to Monterey before I can feel comfortable removing the "beta" tag. That's after heavy testing, of course! I need to link it better with Tahoe and just make sure it is polished. I need to add more information to the debug tab as well. I'm thinking having a grid of squares and progress bars that show motor value percentages, servo percentages and relay states. Maybe I'll even through in a QVectorDecoder widget so that you can try your hand at coming up with a vector drive formula and be able to test it entirely within Monterey's UI.
Finally, I'd like to welcome my friend, Nick Sopwith, to the ROV-suite crew! Like I said earlier, he is quite talented with electronics (custom PCBs, homemade Arduinos, etc), so he will be able to help us develop an entire control system based on ROV-suite's software and his circuitry! Welcome aboard, Nick!
Thanks for stopping by,
P.S. I'll post some pictures of our PCB etching and describe the process in more depth at a later date.