Thursday, June 12, 2014

Lights, camera, go?

Over the last few nights I have had a few minutes to fix some lingering problems on our ROV. I'm flying solo at the moment (sorry team) due to scheduling and illness.

Lately we had been stuck at getting the camera working reliably and there was a bunch of other need-to-fix items piling up. Somehow the camera was the least of my worries. I did figure out how to troubleshoot it though, so read on..

The lasers were dragging on the main tube and scratched it up. I ground down the edges of the lasers' lenses with a dremel so that they don't dig into the acrylic main tube.

This makes the camera arm move much more freely, allowing our quite stripped little servo to keep operating the assembly.

In this area we still need to get the laser (p2 power switch) working remotely and replace the servo.

Tilt and lights are working properly.

Our port side battery tube didn't work at all. I had to use the dremel again to file away quite a bit of epoxy from the battery terminal to make it work.

Fixing this lead to several other problems being fixed, presumably due to voltage instability with only one battery tube ever working.

Then there was the motors, still somewhat unpredictable. Sometimes they didn't respond at all. At other times the port side motor is the only one not working. I focused on the port side motor and re-calibrating it seems to have cleared up the issues. Sometimes the starboard side motor doesn't spin but I can't find any pattern to it and it might work under higher torque loads (such as being in water) but I'm not sure.

And the camera, our old friend, who decided to work pretty much most of the time that I messed with it. I did find an interesting bug in the OpenROV software but it didn't affect us (yet). First I wanted to make sure that mjpg_streamer was running (this sends the mjpeg stream to your browser, or not).

The command "ps aux | grep jpg" found it straight away. Great. Now is it working? Next the command "netstat -tulnap | grep jpg" shows the listening port of 8090. This page told me how to use it. Open the URL in VLC (or a browser) to view the video and bypass the cockpit.

I didn't hook up the IMU yet.

Charging the batteries is all that stands between us and a pool dive, I think. 

Who is ready?

1 comment:

  1. As most of the team remembers, the camera was a huge pain before. Some of those members are going to want an explanation. My current understanding is that the USB port on the BeagleBone is a bit weak and can cause the camera to disconnect. That problem then breaks the stream, which doesn't get restarted until the user restarts the cockpit. I think that is why a lot of users were restarting their cockpits to get the camera working. The bug that I identified in the post should resolve that problem, when someone writes the code to do it.

    I think we'll run into the problem again, maybe we'll hack together our own solution by then and submit it to OpenROV.