Am I headed in the right direction?

Spot for your general beginner questions.
Post Reply
MelLandry
Posts: 4
Joined: Jan 5th, 2013, 11:27 am
Location: Geismar, Louisiana - USA

Am I headed in the right direction?

Post by MelLandry »

Here it is, my first post.

I've been trolling for a while now, mentally assembling my ROV. I've created a checklist of major components and wanted to see if (what are about to be) my first steps are steps in the right direction.

Background: I've been playing with RC planes, boats, and cars all my life, though they were most often assembled by my dad. I think I'm savvy enough to build an ROV, although programming will be a whole new world. I'm a marine biologist by trade, so it seems to be a logical next step. I'm in the US, if that helps you get a sense of parts availability/costs. I'm considering this first built as a learning step to an ultimate (future) goal (of a second or third build) of something I can launch in the Gulf of Mexico and descend to 75-100m. My goal with this build is to make it complex enough to force myself to learn the skills necessary, while keeping it inexpensive and easy enough to make it a task I can accomplish without being driven off in frustration. For instance, I'd rather be forced to do some programming than to simply utilize an off-the-shelf RC controller.

I plan to completely set up the operational components on the workbench before ever beginning to build the frame.

Here is what I'm thinking right now, with a few questions interspersed:

For my questions keep this in mind: 1) Easy, but complex enough to teach skills I can build upon 2) Relatively inexpensive compared to reasonable alternatives

Control:

I don't mind using a laptop computer as part of the control of the ROV. I have one running windows 7 that I can utilize for this purpose. I'd like the input to utilize some type of game controller/joysticks. I've read about people utilizing PlayStation controllers. It seems that the Ardunio platform has the most extensive support base for this type of applications.

1) Is it easier, or harder to utilize a laptop computer as part of the control?

2) If I'm utilizing the computer, what would be the best input controls to investigate. I think I've seen PS2 controllers mentioned a few times

3) From what I'm reading on here, it seems that if you're NOT using a computer, you'd need two Arduino's. I guess that is so one can receive and interpret the signal from the controller, then transmit it while only having to utilize three wires in the tether, then the other would decode the transmission and send the signals to the operational components on the ROV? Perhaps you could use only one on the ROV, but it would require more wires from the controller all the way to the ROV? Or is signal drop over the tether distance an issue? If I'm using the laptop computer, does this eliminate the need for the top-side Arduino?

Tether:

I'm thinking Cat5. Does this make sense? Do I need more wires than that? 2 Cat5 cables?

1) Can I go USB to Cat5 from the computer?

2) If I did go USB to Cat5, could I go back to USB in the ROV and use it like a hub to connect other components (cameras, control board, other sensors)?

3) If I'm utilizing the laptop, and on-board batteries on the ROV, do I need to send 12v power to the ROV? To power other components like lights, cameras, etc?

Batteries:

Thinking LiPo batteries on board to avoid the voltage drop issues I'm reading a lot about and to keep the tether size down.

1) What are most people running with on-board batteries? Everything? Just thrusters?

Thrusters:

I'm thinking brushless motors with brushless ESCs. I know there is a lot of debate about the use of brushless in water and especially in salt water. I have deep skepticism about these operating in salt water for long periods of time. The "test" I've seen have either been just setting a non-running motor in salt water, or by testing for a short period of time. I have a sinking suspicion that running current through these is going to do things in salt water that we haven't seen in test so far. Regardless, this is the first crack, and going brushless seems like the best way to save money and conserve on-board power. I can change direction on the second build if we find salt water tears these things apart.

I'm thinking three thrusters for this build. Two for forward and turning, and one for descending/ascending. I'm hoping that a good frame build will keep proper attitude, and I can live without having the ability to adjust attitude (in order to keep this build reasonably simple and inexpensive).

1) Anything I'm overlooking on thrusters?

Cameras:

I'd like 2 cameras. 1 looking forward, and one looking down. I'd like to be able to view a video feed from both cameras while operating the ROV. I'd like to be able to record the video. I'd use hacked LEDs for lighting.

1) If using the laptop, what considerations do I need to make? What should I be investigating? This seemed to be the best reason for using the laptop, as it would have the ability to manage the video feed and record. Is this misguided?

Other:

I think I'd like to know depth and heading. I'd like these displayed (on the laptop if I'm using it based on your guidance).

1) How much complexity should I expect this to add?



Thank you so much for your guidance. I'm looking forward to being a part of this community and learning from you!

Mel
fluxno
Posts: 83
Joined: Nov 24th, 2012, 9:52 am
Location: Norway

Re: Am I headed in the right direction?

Post by fluxno »

there is a ROV that furfills alot of your wishes: OpenROV - www.openrov.com

pc control with keyboard or gamepad(experimental with xbox 360 gamepad at the moment)
full-hd webcam connected to beaglebone via usb (i think its a bit lower resolution on the dashboard though.
either 2-wire 10mbit ethernet with proposed adapters, or 4-wire normal ethernet.
On board batteries - you choose yourself type to use, electronics compatible with 11.1v 3S lipo
off-the-shelf motors,servoes and ESC from hobbyking

the default setup uses laser cut 3mm acrylic sheets to build the structure, but there is no-one saying that you cant build your own structure - on the contrary please do.

there is a kit available for 830$ that provide most of the parts, or you can source parts yourself, and just buy the beaglebone cape thats one of the only "custom" part in the system.
I'm doing the later, buying the parts from distributers here in norway and europe, and getting the acrylic parts cut locally.
MelLandry
Posts: 4
Joined: Jan 5th, 2013, 11:27 am
Location: Geismar, Louisiana - USA

Re: Am I headed in the right direction?

Post by MelLandry »

fluxno wrote:there is a ROV that furfills alot of your wishes: OpenROV - http://www.openrov.com
Thanks for the response. The OpenROV is actually what got me excited about doing this. I was playing around on Kickstarter.com and came across their proposal there.

However, I think going that route would allow me to take shortcuts that I'd rather not allow myself to take. Most importantly, I'd rather do my control design and programming myself. I'm sure I could do that using the BeagleBone, but it seems like the most relevant community support (ROV-specific) would be available using the Arduino.
User avatar
thegadgetguy
Posts: 238
Joined: Feb 13th, 2011, 8:27 pm
Location: Pennsylvania

Re: Am I headed in the right direction?

Post by thegadgetguy »

MelLandry wrote: 1) Is it easier, or harder to utilize a laptop computer as part of the control?
It depends on how you look at it. I personally prefer a laptop over a microcontroller, for several reasons.

1) You don't need another microcontroller
2) An on-screen GUI can easily display data, useful while you are using your ROV and also during debugging
3) It's easier to edit code on a laptop than continually upload new code to a microcontroller
MelLandry wrote: 2) If I'm utilizing the computer, what would be the best input controls to investigate. I think I've seen PS2 controllers mentioned a few times
That's really up to your personal preference. I've used an Xbox 360 controller with multiple languages, and PS2 controllers and other joystick devices will often work as well. Using a computer gives you a few more options in that regard.
MelLandry wrote: 3) From what I'm reading on here, it seems that if you're NOT using a computer, you'd need two Arduino's. I guess that is so one can receive and interpret the signal from the controller, then transmit it while only having to utilize three wires in the tether, then the other would decode the transmission and send the signals to the operational components on the ROV? Perhaps you could use only one on the ROV, but it would require more wires from the controller all the way to the ROV? Or is signal drop over the tether distance an issue? If I'm using the laptop computer, does this eliminate the need for the top-side Arduino?
Pretty much. I don't think trying to extend the controller wires would work all that well. Assuming your controller had enough buttons for all ROV functions. A topside Arduino is not necessary if you are using a laptop.
MelLandry wrote: 1) Can I go USB to Cat5 from the computer?

2) If I did go USB to Cat5, could I go back to USB in the ROV and use it like a hub to connect other components (cameras, control board, other sensors)?
I believe you are asking if you can use a USB over CAT5 extender? If so, that should work fine. You'll probably need a powered USB hub, though, if the devices don't have their own power supplies.
MelLandry wrote: 3) If I'm utilizing the laptop, and on-board batteries on the ROV, do I need to send 12v power to the ROV? To power other components like lights, cameras, etc?
You should be able to power lights + cameras from your on-board batteries, assuming they run at the right voltage. You can convert if they don't. You shouldn't have to send any power down your tether. Just make sure your communication and video lines are all grounded correctly.
MelLandry wrote: 1) What are most people running with on-board batteries? Everything? Just thrusters?
I don't run on-board batteries, though if I did, I'd run everything with them. Hopefully someone who does can give a more in-depth answer.
MelLandry wrote: 1) Anything I'm overlooking on thrusters?
I don't run brushless thrusters, so hopefully someone who does can chime in.
MelLandry wrote: 1) If using the laptop, what considerations do I need to make? What should I be investigating? This seemed to be the best reason for using the laptop, as it would have the ability to manage the video feed and record. Is this misguided?
If you aren't using webcams, you'll need a video capture device. There are many ranging from $30 to $100 that should work fine. You'll either need two capture devices and appropriate software to view both cameras at the same time, or a simple switch that would allow you to manually choose which camera feed gets sent into the capture device. You will most likely only be able to record one camera at a time in either case.
MelLandry wrote: I think I'd like to know depth and heading. I'd like these displayed (on the laptop if I'm using it based on your guidance).

1) How much complexity should I expect this to add?
This shouldn't be too hard if you are using an Arduino. There are a few compass circuits available that are pretty easy to interface with Arduino. Here's a link to one by Parallax:
http://www.parallax.com/Store/Sensors/C ... fault.aspx
For depth, you would need a pressure sensor. Most of the available ones are fairly easy to interface with an Arduino as well. Both of these capabilities are definitely doable.

Well, I hope I answered at least a few of your questions. ;) Good luck on your build!
MelLandry
Posts: 4
Joined: Jan 5th, 2013, 11:27 am
Location: Geismar, Louisiana - USA

Re: Am I headed in the right direction?

Post by MelLandry »

thegadgetguy wrote:
Well, I hope I answered at least a few of your questions. ;) Good luck on your build!
You certainly did answer a few of my questions! Thank you so much.


Mel
User avatar
KR2_Diving
Posts: 391
Joined: Aug 30th, 2012, 11:43 am
Location: Currently: NW Suburbs of Chicago. Originally: NE Wisconsin

Re: Am I headed in the right direction?

Post by KR2_Diving »

thegadgetguy wrote:
MelLandry wrote: 1) Is it easier, or harder to utilize a laptop computer as part of the control?
It depends on how you look at it. I personally prefer a laptop over a microcontroller, for several reasons.

1) You don't need another microcontroller
2) An on-screen GUI can easily display data, useful while you are using your ROV and also during debugging
3) It's easier to edit code on a laptop than continually upload new code to a microcontroller
I considered this point for some time myself, however, I chose the route of two Arduinos. One of the main reasons for this was that I didnt want my laptop to be used in an environment where it could get wet! If I splash either of my Arduinos, the most I would be out of pocket it $60. However, if my laptop gets wet, I would be out a considerable amount more. HOWEVER, it also means that I need to buy some sort of external LCD display to view my video feeds. I have found a few options for less the $100 that seem to fit the bill.

Another thought, you will not be modifying any code while you are actually controlling your ROV, so changing code on site is not necessaries (assuming you do plenty of testing on the bench first!)
thegadgetguy wrote:
MelLandry wrote: 2) If I'm utilizing the computer, what would be the best input controls to investigate. I think I've seen PS2 controllers mentioned a few times
That's really up to your personal preference. I've used an Xbox 360 controller with multiple languages, and PS2 controllers and other joystick devices will often work as well. Using a computer gives you a few more options in that regard.
I'm currently going with the PS2 controller, mainly because I stumbled across an article that gave me all the details I needed on interfacing it with my Arduino including code! That being said, I am sure the same resources are available for the X-Box Controllers. It is worth noting that I have found a few limitations with my PS2 controller. It is NOT Sony branded, so some of the functionality is lost. Mainly, the analog push buttons on the left part of the controller. As i understand, this is the penalty for opting for the $5 Amazon controller versus the $15 controller!
thegadgetguy wrote:
MelLandry wrote: 3) From what I'm reading on here, it seems that if you're NOT using a computer, you'd need two Arduino's. I guess that is so one can receive and interpret the signal from the controller, then transmit it while only having to utilize three wires in the tether, then the other would decode the transmission and send the signals to the operational components on the ROV? Perhaps you could use only one on the ROV, but it would require more wires from the controller all the way to the ROV? Or is signal drop over the tether distance an issue? If I'm using the laptop computer, does this eliminate the need for the top-side Arduino?
Pretty much. I don't think trying to extend the controller wires would work all that well. Assuming your controller had enough buttons for all ROV functions. A topside Arduino is not necessary if you are using a laptop.
Agree with all points above! As I have mentioned, I'm going with two Arduinos. An Uno on the Surface, and a Mega in the ROV.
http://arduino.cc/en/Main/Products
I could probably get away with an Uno in the ROV and a Mini on the surface, but I wanted to "future proof" my design! (Read: have room for other sensors and controls...)
thegadgetguy wrote:
MelLandry wrote: 1) Can I go USB to Cat5 from the computer?

2) If I did go USB to Cat5, could I go back to USB in the ROV and use it like a hub to connect other components (cameras, control board, other sensors)?
I believe you are asking if you can use a USB over CAT5 extender? If so, that should work fine. You'll probably need a powered USB hub, though, if the devices don't have their own power supplies.
I have no experience with any of this. Sorry.
thegadgetguy wrote:
MelLandry wrote: 3) If I'm utilizing the laptop, and on-board batteries on the ROV, do I need to send 12v power to the ROV? To power other components like lights, cameras, etc?
You should be able to power lights + cameras from your on-board batteries, assuming they run at the right voltage. You can convert if they don't. You shouldn't have to send any power down your tether. Just make sure your communication and video lines are all grounded correctly.
MelLandry wrote: 1) What are most people running with on-board batteries? Everything? Just thrusters?
I don't run on-board batteries, though if I did, I'd run everything with them. Hopefully someone who does can give a more in-depth answer.
I plan on running everything with on board LiPo batteries. At the moment, I am planning on 4 or 5 independent LiPo batteries.
1 LiPo for every two Thrusters. (6 thrusters = 3 LiPos)
1 LiPo for Lights
1 LiPo for Camera's and all on board controls and sensors.

I may combine the Lights and Controls/Sensor batteries, IF I can find a lighting system that has a low enough consumption.
thegadgetguy wrote:
MelLandry wrote: 1) Anything I'm overlooking on thrusters?
I don't run brushless thrusters, so hopefully someone who does can chime in.
I am using brushless, and plan on running in Fresh and Salt water. I am going on the assumption that a proper clean after each use will allow for the use of brushless, regardless of the water type.
thegadgetguy wrote:
MelLandry wrote: 1) If using the laptop, what considerations do I need to make? What should I be investigating? This seemed to be the best reason for using the laptop, as it would have the ability to manage the video feed and record. Is this misguided?
If you aren't using webcams, you'll need a video capture device. There are many ranging from $30 to $100 that should work fine. You'll either need two capture devices and appropriate software to view both cameras at the same time, or a simple switch that would allow you to manually choose which camera feed gets sent into the capture device. You will most likely only be able to record one camera at a time in either case.
This is the main reason I would consider using a Laptop! (Recording Video Streams). However, as I am trying to avoid a laptop, I needed to come up with a different solution. At the moment, I am considering hacking a used security system DVR set up. I am considering a 3 camera set up, with 2 of the 3 feeds being viewed at any one time, and all three feeds being recorded. I hope to achieve this using a security system control box, hacked to run off battery power.
thegadgetguy wrote:
MelLandry wrote: I think I'd like to know depth and heading. I'd like these displayed (on the laptop if I'm using it based on your guidance).

1) How much complexity should I expect this to add?
This shouldn't be too hard if you are using an Arduino. There are a few compass circuits available that are pretty easy to interface with Arduino. Here's a link to one by Parallax:
http://www.parallax.com/Store/Sensors/C ... fault.aspx
For depth, you would need a pressure sensor. Most of the available ones are fairly easy to interface with an Arduino as well. Both of these capabilities are definitely doable.
At the moment, I am having this data displayed on a separate LCD display connected to my surface Arduino. I picked up a cheap 2x16 LCD display from HobbyKing before the holidays. I may be upgrading to a LCD that uses less wires, as my cheap one requires 6 pins. There are versions out there that use far less.

I have gone into a bit more detail on some of my elements throughout the forum. If you have any futher questions on any of the elements of my build, please do not hesitate to ask!

Really sounds like you have a pretty good grasp on what you want! I hope the comments made above will help you when considering the various methods of control!

Ryan
"KR2_Diving"
MelLandry
Posts: 4
Joined: Jan 5th, 2013, 11:27 am
Location: Geismar, Louisiana - USA

Re: Am I headed in the right direction?

Post by MelLandry »

Thanks Ryan. I've been following your build on here and you've given me a lot of inspiration.

Another question for everyone:

I have been thinking about this more over the last week and doing a bit more research.

It seems that if I want to use the laptop, I'm going to have to build the GUI to communicate with the Arduino on the ROV. Something like a webpage running java. Is this correct? Is anyone aware of a platform that already exist for doing this that I could borrow? Considering I know NOTHING about programming, and I'm already having to learn the Arduino programming, taking on a GUI build requiring that I learn another programming language may push this beyond the frustration level.

My take (at the moment) is that using the laptop to control the ROV has it's advantages, but it will also require additional programming to build the GUI.

If this is the case, I'm beginning to lean toward the two Arduino style setup.
Post Reply