Hi All,
I am sure that many of you have heard of the OpenROV Project which involves building your own ROV from a kit. I am an experienced model builder with plenty of experience and a reasonably equipped workshop, but I was a little taken aback at the complexity of assembling the OpenROV from their kit of parts. It seemed to me to be a high school to college level project requiring a small team of experienced modelers to successfully put the OpenROV together though I could be wrong.
It appeared to me that there were a number of critical assembly requirements that had to be performed spot on as there was no going back to realign or reseal once the assembly was completed. Therefore I have been looking around to see if there might be an easier way to design and build a ROV similar to the OpenROV without having to perform some of the critical assemblies required to complete the OpenROV.
One area of the OpenROV design that I took exception to was the thrusters. They were not going to last very long when immersed in seawater due to the exposed bearings and stator/armature. To me this was a kind of deal breaker as to the questionable lifespan of these thrusters. I know that commercial thrusters are not cheap (think Seabotics or CrustCrawler) and the OpenROV project was just trying to overcome the high price of commercial thrusters with their homebrew design. Still the unknown lifespan of the OpenROV design did not leave me with a warm feeling to say the least.
Then came along Blue Robotics and their T100 Thruster KickStarter Project Link. Their design approach looks good and they have actually tested and characterized prototypes of the thrusters they will deliver to the pledgers. With the addition of the in-thruster water cooled ESC this design becomes very attractive in that it reduces the number of wire penetrations in the Water Tight Compartment (WTC).
Great! Now we have a source of reasonably priced thrusters so what is next? Well, that is where you, the ArduBoat members, come in.
Let's start thinking about the WTC, navigation controller, communication, power, ballast, buoyancy, etc. and attempt to come up with a reasonably priced ROV that the average ArduBoat member might want to consider building.
Regards,
TCIII AVD
Replies
Hi All,
My Project Discussion Thread will be continued here
Regards,
Tom C AVD
Hi All,
Linus Penzlien and I have been working with Rusty at Blue Robotics to properly configure the ArduSub firmware to appropriately drive the horizontal and vertical Thrusters in my six thruster configuration depending on the desired ROV motion input from the GCS (QGC) gamepad joystick inputs.
Validation of the BBBMINI six servo outputs, when driven by the GSC gamepad joystick inputs, was accomplished by communicating with the BBBMINI over a UDP LAN connection and using a R/C receiver PWM output tester to verify the servo PWM output values in relation to the expected PWM values.
An example BBBMINI servo output verses expected output Correlation Chart is in an attached pdf file below. It can be seen that the BBBMINI servo outputs verses expected outputs are not correct for Thrusters 1, 3, and 4 for the Forward ROV direction. This discrepancy can be easily corrected using the MOTOR_MOTION parameters in the QGC default parameter list to reverse the BBBMINI servo PWM outputs to achieve the correct Thruster output direction.
Having validated the ArduSub firmware for my six Thruster ROV configuration, I moved on to completing the Navigation Controller Tray that will reside in the Navigation Controller WTC.
The Blue Robotics ROV-side Tether Interface Board and the BBBMINI are attached to a removable sub tray that is attached to the main Navigation Controller Tray. The Signal Junction Board is permanently mounted at the rear of the Navigation Controller Tray and is not attached to the sub tray. See photos below:
Navigation Controller Tray and Signal Junction Board at the rear with the BBBMINI and the ROV-side Tether Interface Board on the Sub Tray
Navigation Controller Tray mocked up in the Navigation Controller WTC
The next step will be to complete the mechanical and electrical installation of the Navigation Controller Tray in the Navigation Controller WTC. This will include connection of the Signal Junction Board individual thruster PWM control signal cables to their respective Thruster Cable Penetrator Control Signal cables, connection of the Tether four twisted pairs to the ROV-side Interface Board, and the connection of the ROV-side power input cable to the Cable Penetrator Power Cable wires coming from the Battery Compartment WTC.
More to come.
Regards,
TCIII AVD
Thruster Correlation Chart Forward Motion.pdf
Hi All,
After having second thoughts about powering the Power Control Board wit a live LiPo battery, I remembered that I have an AC powered 12 amp peak 13.8 vdc battery eliminator, complete with overcurrent and short circuit protection, that I can use to check out the integrity of the Thruster Power cable penetrator cable connections to the Power Junction Board. If all goes well, then I can switch over to the LiPo battery to simulate actual ROV operation.
Good news, there was no smoke and fire when I powered up the 6 Thrusters with the DC battery eliminator power supply which means the bullet connector connections between the Power Junction Board and the Thruster power cables have no shorts or opens.
I then hooked up my trusty servo tester to each Thruster PWM control input and tested each Thruster briefly as to CW and CCW operation and all of the Thrusters were found to be functional.
Now I can setup the Navigation controller and see if I can use the Gamepad along with QGC to command the BBBMINI to drive the Thrusters.
More to come.
Regards,
Tom C AVD
Hi All,
Hi All,
It turns out that we had the wrong thruster configuration version of ArduSub loaded on the BBBMINI. Once we corrected that issue, joystick input to QGC from the Xbox 360 game pad appears to be driving the BBBMINI thruster pwm outputs correctly for forward/reverse, yaw, and vertical assent/descent.
I have put together a wire harness that will connect the BBBMINI servo outputs to the Signal Junction Board that distributes the individual pwm signals to each Thruster. I created the wire harness by crimping seven servo female pins to a 7 wire cable to be able to connect the BBBMINI 6 servo pwm outputs plus ground to the BR thruster Signal Junction Board. I then soldered each wire in the cable to its appropriate pad on the Signal Junction Board and will be able to hopefully begin testing the six Thrusters this weekend.
More to come.
Regards,
Tom C AVD
Getting closer! I just received my parts from Rusty and am waiting on a PixHawk that should arrive next week. Once I have everything it'll be time for me to sort out the electronics for my build. Got to say I'm pretty impressed with both the hardware and software for ArduSub so far.
Hi All,
Today I have managed to get my Xbox 360 joystick calibrated in the QGC ground station. I was not as successful when calibrating the Radio using the joystick as the calibration failed when trying to calibrate the pitch and roll axis joystick.
However all was not lost as I was able to turnoff all of the pre-arming checks, which includes the RC Radio Check, and was then able to Arm the ROV. Rusty has suggested that the RC Radio Calibration be taken out of ArduSub for the ROVs.
After arming the ROV I proceeded to determine what RC output channels on the BBBMINI corresponded to which axis on the Xbox 360 controller:
On RC 1 I had pwm output when I moved the right joystick yaw axis.
I had throttle axis pwm output on RC 2 when I moved the right joystick throttle axis.
I had pitch axis pwm output on RC 3 when I moved the left joystick pitch axis.
I also had throttle axis pwm output on RC 4.
I had roll axis pwm output on RC 5 when I moved the left joystick roll axis and finally I also had throttle axis pwm output on RC 6.
I am now waiting on word from Rusty as to whether I have the correct RC output for each axis of the two controller joysticks.
More to come.
Regards,
Tom C AVD
Hi All,
Linus Penzlien and I have been busy porting the ArduSub firmware over to the BBBMINI and have been achieving a few successes so far.
We are presently using the latest version of Debian (2016-02-16) recommend by Mirko on the BBBMINI, QGC version 2.9.4 for the Topside Control, and the latest daily build of ArduSub for the ROV-side Control.
We have calibrated the BBBMINI's accelerometers and compass and are presently in the process of calibrating the radio using a gamepad input (Xbox Controller). We would have been much farther along by now, but we had a problem where the accelerometers on the BBBMINI were not calibrating according to QGC even though there were accelerometer offsets and calibration values in the QGC parameter list. The reason for the calibration failure was due to the fact that QGC had two INS units enabled while my BBBMINI presently only has one INS (MPU-9250). Once that error was corrected QGC indicated that the accelerometer calibration was successful as was the compass calibration.
I have also setup a Topside to ROV-side test bench on which I have mounted the Blue Robotics Topside and ROV-side Interface Boards and connected their Tether interfaces with a short piece of CAT5e LAN cable. I have successfully used QGC to communicate with the BBBMINI, running the ArduSub vectored thruster configuration firmware, through the Topside to ROV-side Interfaces and a 5 vdc to 3.3 vdc level shifter connecting the output of the ROV-side Interface serial port to the BBBMINI telemetry connection. A picture of the test bench setup can be seen below:
The Topside Interface Board has a USB connection that allows QGC running on either a PC or a laptop to communicate with the Topside Board,
Once the gamepad calibration is complete we can move ahead with testing the functionality of the ArduSub firmware using QGC.
More to come.
Regards,
Tom C AVD
Lookin good!!
David
Regards John