Cross Platform Qt Topside Application
Posted: Nov 15th, 2011, 10:52 pm
Hey homebuiltROVs community,
I've been working on writing an open source topside application in Qt for the past few months, and I think it is finally ready to be released. It uses a USB joystick to drive the motors on an ROV, and it talks to the ROV over ethernet (using UDP). It has a bunch of fancy featurs (a PID algorithm for holding depth, vector drive support, tank drive support, etc), which you can find out about here: http://code.google.com/p/rov-suite/wiki/Monterey
It uses a UDP to communicate to the ROV, which means that it would be extremely easy to write your own bottomside application that interfaces with Montery. However, if that is not your cup of tea, there is an already working bottomside application (CoreBuild), but it does not support all of the features of Monterey. Instead, I recommend that you use CoreBuild with LegacyController. But like I said, interfacing with Monterey via the UDP packet is extremely easy and I'd be more than happy to answer any questions regarding it.
The compiled application in Windows specific right now, but the source is available here: http://code.google.com/p/rov-suite/source/checkout and is able to be compiled on Linux and OSX.
The joystick is read using QJoystick (found here: http://code.google.com/p/joypick/), which uses SDL, which means that it is cross-platform as well.
If you have any questions regarding the application at all, please don't hesitate to ask me. If you'd like to port it to another platform or would to like help out with it, please let me know!
Finally, if you have any input or any suggestions (new features, a better way of handling or displaying things, etc), I'd love to hear them!
Have fun and happy ROVing!
Chris K
I've been working on writing an open source topside application in Qt for the past few months, and I think it is finally ready to be released. It uses a USB joystick to drive the motors on an ROV, and it talks to the ROV over ethernet (using UDP). It has a bunch of fancy featurs (a PID algorithm for holding depth, vector drive support, tank drive support, etc), which you can find out about here: http://code.google.com/p/rov-suite/wiki/Monterey
It uses a UDP to communicate to the ROV, which means that it would be extremely easy to write your own bottomside application that interfaces with Montery. However, if that is not your cup of tea, there is an already working bottomside application (CoreBuild), but it does not support all of the features of Monterey. Instead, I recommend that you use CoreBuild with LegacyController. But like I said, interfacing with Monterey via the UDP packet is extremely easy and I'd be more than happy to answer any questions regarding it.
The compiled application in Windows specific right now, but the source is available here: http://code.google.com/p/rov-suite/source/checkout and is able to be compiled on Linux and OSX.
The joystick is read using QJoystick (found here: http://code.google.com/p/joypick/), which uses SDL, which means that it is cross-platform as well.
If you have any questions regarding the application at all, please don't hesitate to ask me. If you'd like to port it to another platform or would to like help out with it, please let me know!
Finally, if you have any input or any suggestions (new features, a better way of handling or displaying things, etc), I'd love to hear them!
Have fun and happy ROVing!
Chris K