Your own Remotely Operated Vehicle (ROV) Project

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

1 Like

This Discussion Thread is a continuation of the original Discussion Thread, “Your own Remotely Operated Vehicle (ROV) Project”, that was originally located in the DIY Drones ArduBoat User Group.
Regards,
TCIII AVD

1 Like

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 (188.4 KB)

2 Likes

Great work as we are used to see from you Tom :slight_smile:
Keep up the good work!

Hi Linus,
In a lot of cases great hardware is only as good as the firmware that makes it functional.
Without your excellent massaging of the ArduSub firmware, it would be just another piece of hardware without any true functionality.
Regards,
Tom C AVD

1 Like

Great Job !!
Now I know where Linus was hiding !! :laughing:

Tom, How does the magnetic fiels woks under waters, I mean does the MPU_9250 magnetometer react the same over and under water ?

Best Regards

1 Like

@ppoirier,
Due to a lot of inclement weather here in southern Florida and the my association’s pool being closed for repairs, I have been unable to get the ROV into the pool for testing.:disappointed:
Regards,
Tom C AVD

Tom, Can’t you find a gator infested canal somewhere to test. I finally got logged in over here. Good job as always.

Regards,
David R. Boulanger

Hi David,

You would not believe how polluted the lateral canals here are that come off the West Fork of the New River not to mention our Association mini-lake. The amount of trash and floating debris is appalling unfortunately. However I have not seen any wayward alligators recently :grin:

I think that I will stick to the Association swimming pool for my test dives.

Regards,
Tom C AVD

Hi Tom. Any updates? I’d be interested if you could even fill a bath tub and put the ROV in it and see how it goes.
Thanks, Grant.

Hi All,
It has taken about a month to get the baseline ArduSub software working with the BBBMINI. Much of the time was spent debugging the various updates to the software and coping with several changes to the ROV Thruster configuration layout.
Since this ROV is a six Thruster Vectored configuration, Horizontal Thruster #1 is located in the front right corner of the chassis, Horizontal Thruster #2 is located in the front left corner of the chassis, Horizontal Thruster #3 is located in the rear right corner of the chassis, Horizontal Thruster #4 is located in the rear left corner of the chassis, Vertical Thruster #5 is located in the middle of the right chassis side, and Vertical Thruster #6 is located in the middle of the left chassis side. All the Thruster locations are viewed from the top of the ROV chassis.
I am attaching a Thruster layout diagram below:
ROV Thruster Layout_20160416.pdf (186.4 KB)
If you decide to duplicate my BR T100 BlueESC Thruster layout, please note the orientation of the Thrusters in relation to the centerline of the chassis. The “U” shaped protrusion with the two small holes in the top is the front of the Thruster.
Once the Thrusters were mounted in the chassis I used a servo tester to determine the PWM input to the Thrusters that would provide forward thrust and noted it on the Thruster ROV Chassis layout diagram. This came in handy when verifying the servo output PWM values of the BBBMINI for forward/reverse, yaw right/left, and strafe right/left joystick inputs from the Xbox 360 joysticks.
Rusty at BR has provided these instructions to get the software up and running on your ROV and to use QGC to communicate with your favorite Navigation Controller which in my case is the BBBMINI. I am presently using UDP over my LAN to allow QGC to communicate with the BBBMINI for bench testing purposes. However I have communicated with the BBBMINI using BR’s Topside USB Interface to ROV-side serial Interface using BR’s Tether.
There are several ROV control functions that should be assigned to the various buttons on the gamepad. I assigned the Arm function to the Start button, the Disarm function to the Back button, the Stable Flight Mode to the B button, the Altitude Hold Flight Mode to the Y button, the Input Gain Increase to the A button, the Input Gain Decrease to the X button, the Trim Roll Right to the right Bump button and the Trim Roll Left to the left Bump button.
The Input Gain buttons can be used to raise or lower the servo output PWM range of each Thruster in 25% increments. I found that I had to increase the Input Gain to 100% to get QGC to be able to calibrate the R/C Radio Channels.
The Trim Roll Right/Left buttons can be used to raise or lower the Trim PWM input to the two Vertical Thrusters when there is no input from the Y axis of the right joystick on gamepad. I found that the input to the two Vertical Thrusters would drift down to ~1300us from a neutral of ~1500us with no input from the Y axis of the right joystick of the gamepad which is used for vertical ascend/descend control. Using the Trim Roll Right/Left buttons I was able to trim the PWM input to the Vertical Thrusters to around ~1500us with no input from the Y axis of the right joystick of the gamepad.
Once the BBBMINI sensors, the gamepad joysticks and the R/C Radio Channels were calibrated per the BR instructions, I verified, using the QGC MavLink Inspector and the Info Viewer, that the BBBMINI PWM servo outputs to each Thruster were correct for forward/reverse, yaw right/left, and strafe right/left joystick inputs from the Xbox 360 joysticks and that the Input Gain, Trim Roll Right/Left, and Flight Mode buttons performed as expected.
The next step will be to test the ROV in my Association’s swimming pool using a short Tether.
More to come.
Regards,
Tom C AVD

Hi Grant,
Unfortunately my ROV is too tall for a standard bath tub to be able to float it in a full tub.:grin:
That is why I will use my Association’s swimming pool which is only five feet deep at its deepest.
Regards,
Tom C AVD

@ppoirier,
The magnetic compass should work well underwater since the BBBMINI is in a nonmetallic WTC.
My real concern is the fact that the BBBMINI is surrounded by six brushless motors which could cause some interference during operation.
However Rusty, at BR, has indicated that this will not be an issue based on, I assume, his experience with his BlueROV which uses a Pixhawk/APM2.x to provide IMU and compass sensors as well as drive the Thruster brushless motors.
Regards,
Tom C AVD

Cool, I might add scuba diving on my next trip in Sunny Florida :slight_smile:

@ppoirier,
In my way of thinking the hobby ROV is a kind of proxy scuba for those of us who cannot scuba dive, but would like to explore the depths between the surface and 100 feet.:slight_smile:
Regards,
Tom C AVD

1 Like

Hry Thomas. . I’ve been kicking around the idea of a arduino under water ROV for years and we spoke about it in the past.

I’ve been doing some 3d printing and now.have the capability to look at.this project again.

I’m looking to perhaps use some brushless motors or other diy thruster setups… any ideas on that specifically? Any ideas on the cheapest controller board to use? Will a apm 2560 still do the job?

@Grips,

If you like to do your own programming, then an Arduino 2560 will work, but there are other better navigation controller solutions out there like the Pixhawk 1 and 2 and the control firmware, ArduSub, has already been developed and is maturing.

You can also get an OpenROV 2.8 Developer’s Controller Kit which uses a BBB and an Arduino 2560 for the navigation controller and even includes the tether. It is not cheap, but gets the job done and includes robust open source firmware.

You can use brushless motors from HK like OpenROV has done, but they take a lot of preparation initially and a lot of maintenance after each dive.

The way I look at it, you get what you pay for in the way of ROV hardware. Since I am a Systems Integrator, I prefer Blue Robotics hardware as it has been performance and depth tested, but is by no means inexpensive.

If you plan to operate down to 100 meters, I would not cheap out in relation to the WTCs or the navigation control systems if you want the hardware to survive.

Regards,
Tom C AVD

Hi All,

The reason that I have not moved the ROV Project forward as of late is the fact that it is 92 degrees F by 9 am in the morning here and sometimes reaches as high as 98 degrees F by 2 pm.:confounded:

Also, there is a problem with the BBBMINI recognizing and communicating with the BR MS5837 pressure sensor on the external BBB I2C bus which Mirko is presently investigating.

Once Mirko has updated the BBBMINI firmware to work with the pressure sensor and we get an occasional break from the hot weather, I will begin testing in my Association’s swimming pool.:grin:

Regards,
TCIII AVD

Hi All,

Mirko’s latest BBBMINI baro build, https://github.com/bluerobotics/ardusub/tree/pr/bbbminibar30, has gotten the MS5837 pressure sensor working correctly with the BBBMINI.

See ArduSub Gitter for additional information.

Regards,

TCIII AVD

1 Like

So I have decided to stick with freshwater for my first ROV. I figured what I learned from this I can apply to a saltwater setup.

The one thing that I’m wondering about is a dry compartment for the electronics. I know that there are commercially available solutions like that used in the openROV but I’m wondering if there’s a DIY solution? I am only interested in going down to the depth of a GoPro dive case. Maximum 120 to 150 feet. If it is limited further by a diy seal… I am ok with that for now. If I could do 30ft I would be happy just to start in the water.

Also curious about the absolute cheapest spot for a pixhawk or clone to run ardusub?

I have some photos of my brushless thrusters starting to be assembled… it’s a start!