Stable Software for v2.4 ROV


#1

Hey all-

Recently several people have completed version 2.4 OpenROV kits and have been having trouble getting software to work properly on their new ROVs.

It turns out that in the process of preparing software for 2.5, we got a bit sloppy with our revisions so it's taken us a bit of time to recover a stable version of BeagleBone and Arduino code that work together.

I'm happy to say that last night, we got what seems to be a stable version of software working, so I've made an image of it which will hopefully get people with built-up v2.4 OpenROVs up and running. Conveniently, this version of software will even let you program the Atmega328 on the OpenROV Cape using Cockpit, so you won't need to pull the chip off. If you have a 2.4, please help us test this out and let us know if it works!

Here's how to get the SW running on your 2.4 OpenROV

---------Applying the image to your micro SD card-----------------

Step 1: Download OpenROV_2_4_Stable.zip

Step 2: (For windows) Download SDFormatter and Win32DiskImager to your computer

Step 3: Format a microSD card using SDFormatter. "Quick Format" will work fine

Step 4: Unzip OpenROV_2_4_Stable

Step 5: Run Win32DiskImager and select the image file (ending in *.img) you just unzipped. Make sure that the drive you select under "Device" is the SD card you've inserted.

Step 6: Write the image file to your formatted SD card by pressing the "Write" button in Win32DiskImager. This process will take around 5 or 10 minuets.

Step 7: Once the image has been successfully applied to the microSD card, eject the card and put in in your BeagleBone.

----------------------------Connecting to the ROV--------------------------

Step 8: Turn your ROV on and allow about 60 seconds for it to boot.

Step 9: Make sure your computer's LAN port is set to a static IP address that looks like "192.168.254.x" where "x" is any value less then 254 and not 1

Step 10: Plug your ROV into your computer, open Google Chrome, and go to the following address: 192.168.254.1:8080

Step 11: OpenROV Cockpit should come up after several seconds (it may take a moment for the video to appear). Because the Cape has not yet been programmed you will not be able to control the lights or motors, and you won't see any valid telemetry.

------------------------Programming the OpenROV Cape---------------

Step 12: In Cockpit, press the "Settings" button in the upper right-hand side of the screen, and press "Upload" (you don't need to select anything under "choose file").

Step 13: A window called "Upload Arduino Firmware" will pop up. Press the blue "Apply New Firmware" button in the lower right side of the window. This will upload the Arduino Code necessary for the Cape to work.

Step 14: Once the Arduino Firmware has been uploaded (the window will stay open, but the green progress bar will have made it all the way to the right) you can close the window.

Step 15: Restart the ROV

Step 16: Once the ROV has restarted, verify that you can read telemetry data, control the lights, and control the thrusters. You may need to program and calibrate the thrusters before they respond properly to commands.

Step 17: Let us know how it works out!

-E


#2

It works! mostly...

The cockpit software has the file selection button, but no "upload" button available - (older version I think?)

Fortunately my Arduino was (at least reasonably) up to date from a previous manual upload, and motors/lights/servo now work like a charm.

Thank you!

Brad


#3

Make that "working completely". The upload button looks greyed out but still clickable - doh :-)

Thanks.


#4

Works perfectly! arduino upload even ;-)

tried it on a 2.3/2.4 electronics:

BBB "white"

OpenRov Cape "white"

TS powerboard with ACS712 current monitor and correct voltage reading.




#5

Questions: After step 7 I assume that the normal boot from SD card prodedure should be used. When I press the boot button it starts ok with the 4 across solid led lights. I release the boot button after about 30 sec and give it plenty of time to boot but it never gets to an end point with 4 solid leds again..(which I think it is supposed to do right?).

Everything on Beaglebone seems to work ok...except the arduino still won't take the image. See attached info file. I tried multiple times. I tested the cape using my posted standalone Cape test .ino program and it seems ok.

Using Cape "white"

BB "black"

Is the 2.4 stable image ment to work for the BB "black"?

Also, how do I know if I have the 2.4 stable software operating on the Beaglebone? Any solid clues around?

1074-2.4stablearduinoupload11.285pm.txt (6.72 KB)

#6

I have been having lots of problems trying to get the 2.5 board and imu sensor to work, spent the last 2 days.

Will this image work on the 2.5 board with the IMU sensor?

I went through the above steps and it failed on the Arduino firmware up load. It complied but did not burn to the the chip. I figure I need to change the configuration file for the Arduino, telling it what hardware I have. When I try to get into the Beaglebone firmware (SD card) with Putty or WinSCP I cannot get by the login and password. Is it still login "OpenROV" and pw "OpenROV"? I have also tried root and root which used to work, but with no luck.

The motors and lights work with the above code, but I want IMU and temperature sensor working which don't work.

thanks,

John


#7

Hey John,

username: rov

password: OpenROV


#8

I figured that out on Sunday.

Why doesn't "root" work anymore, I have been using it since the beginning?

The 2.5 image allows me to log in with Putty and drops out after 15 sec. A message comes up on the screen telling you it is disconnecting. The open cockpit screen never comes comes up. What was this tested on????????????????? So I have never seen the 2.5 image work with the 2.5 board, UGH!

What about the first part of the question. WILL THE 2.4 IMAGE WORK ON THE 2.5 BOARD AND IMU IF I COULD CONFIGURE ARDUINO SETUP to match my hardware?

I now have 4 days in to trying to get the 2.5 board and IMU sensor working on my ROV #241 that worked with the old electronics.

The 2.5 image that was put up does not even show the open cockpit screen and that is why I am trying the 2.4 code.

Its not like I am new to this project and find this very frustrating. When you put the hardware up for sale the firmware should have a chance of working.

John


#9

The 2.4 image theoretically will work with the 2.5 board if you use the Arduino code from the 2.5 BETA image in the process.

The connection issues I have heard about in the past have all been wiring issues. With the 2.5 BETA on the white beagle bones, the largest concern is potetially running out of ram, so I would suggeat monitoring that closely. I have personally run the 2.5 beta image on the 2.4 kit rov for short intervalls to confirm firmware updates worked correctly.

Last thing I can suggest is to ensure the 2.5 beta image that you test with be the one from the releases page on github as an earlier version that folks were downloading via google docs had a tweak the was breaking firmware uploads for cape based ROVs.

-Brian


#10

When I try and change AConfig.h it won't let me as user rov.

the owner is root[0] according to properties using WinSCP

what is the password for root. I asked above....

As far as connections be wrong. That does not seem possible to me for my problem. I said the motors work, the lights work, and the beaglebone plugs directly into the 2.5 controller card, so what connections could be wrong. And how can that stop the firmware from uploading? And I pulled down the latest version.

So the new question is how do I change AConfig.h in WinSCP as user rov?

Boy this is painful and taking hours

John


#11

I figured out how to change the AConfig.h file and make the changes. I just updated the Arduino firmware in the 2.5 board and seem to have things working including the motors, lights, depth, temperature, and heading data with the 2.5 board and new sensor.

I do appreciate your help, even as I was losing it.

even the laser pointers work with the new "l" command

thanks

John


#12

Hi John

If I recall the password for user:root is root but it looks like you have already tried this.

did you try using sudo when logged in with user rov

sudo vi filename

and password OpenROV


#13

I have OpenROV #315. I have followed your directions and loaded OpenROV-2-4-Stable.img onto my SD card and the arduino software load successfully from the Cockpit. But I have some problems. Now the photo button does not work and I still have the same problems that I had when I loaded the image (OpenROV-05-09-2013.img). Which are video and game pad problems.

The worst problem is video freeze!
The video image freezes when the light levels are at normal room brightness (4 overhead tube florescent light,and also the exposure gets over exposed on some frozen frames. The exposure can vary from normal exposure to a whiteout. If I turn the ROV lights on I get more freezes. When I turn off the room lights and just use the OpenROV's Leds (10 - 100%) the video camera image pretty much stops freezing and exposure appears good.

I have tried 2 different computers and I use Chrome as the browser:

Using the Toshiba Qosmio Lap Top (the one I plan to use in the field) the video in normal room light appears to run at ~3 fps and will have some freeze frames when lighting is just right. I move my hand in front of the camera (6-10 inches and backlit) to get freeze frames. I think it freezes just under the right lighting conditions. Cockpit displayed voltage is 12.4v, displayed current is .835A with no LEDs or motors on. Cockpit keeps changing the time, voltage, current and CPU usage when a frame is frozen. The CPU usage may drop to as low as 4% during a frozen frame. The current also will drop a little. Most of the time if I move my hand the frame will unstick and start running at ~3 fps and exposure will look good. If I move my hand in the same area where it froze it will freeze and unfreeze until the lighting changes enough.

With the room lights off and the LEDs set to 10% the video does not appear freeze and it runs at ~3fps. If I turn the LEDs up to 100% I can get it to freeze some times by waving my hand close to the camera (6 inches).


Using the HP Pavilion Elite HPE the video in normal room light appears to run at ~5 fps and will have some freeze frames when lighting is just right. I move my hand in front of the camera (6-10 inches and backlit) to get freeze frames. I think it freezes just under the right lighting conditions. Cockpit displayed voltage is 12.4v, displayed current is .835A with no LEDs or motors on. Cockpit keeps changing the time, voltage, current and CPU usage when a frame is frozen. The CPU usage may drop to as low as 4% during a frozen frame. The current also will drop a little. Most of the time if I move my hand the frame
will unstick and start running at ~5 fps and exposure will look good. If I move my hand in the same area where it froze it will freeze and unfreeze until the lighting changes enough.

With the room lights off and the LEDs set to 10% the video rearly freezes if I wave my hand close to the camera (6 inches) and it runs at ~5fps. If I turn the LEDs up to 100% I can get it to freeze some times by waving my hand close to the camera (8 inches).

I think the video freezes are caused by light level differences.

I have tested the camera on the 2 computers plugging it directly into to the USB port and the camera work properly.


I did not have video freeze when using an older image (I think it was from around 5/2013).. But when running this older image the video from time to time would turn to a small black rectangle in the upper left corner of the video window and I would have to refresh the cockpit from the browser to get the video back.


Also now when I use my game pad the two rear thrust motors will not stop when the joy stick is in the center position. I have to move it slightly to the right to stop the motors. The vertical thruster does not run when its joy stick is centered and the joy stick works correctly. I have calibrated the game pad many times but the rear thrust motors still run when the joy stick is centered. This did not happen with the older image.


Computer used for the tests:

Toshiba Qosmio Lap Top with Intel Pentium M processer 1.86GHz with 1.0 GB of RAM
running Microsoft Windows XP Media Center Edition Version 2002, Service Pack 3

HP Pavilion Elite HPE model HPE-447c, AMD Phenom II X6 1045T processer, 2.700GHz 6 Cores, 8.00GB
of RAM running Microsoft Windows 7 Home Premium Version 6.1.7601, Service Pack 1 Build 7601

I need help. Does anyone have the same problems

Frank


#14

Hi Frank

I did not see in your message what you were using for a power source. Are you using the LiPo Batteries or another power source. I see 12.4v mentioned which suggests you are using them but not sure.


#15

Hi David,

I'm using 12V 6aH gel cel battery when I'm working on the bench. The testing was on the the bench. When I'm operating in water I use four 11.1V (12.6V full charge) 1.5aH lithium polymer batteries in parallel. These batteries were used by my AR drone 2.0 quadcopter so I decided to killing 2 birds with 1 stone and use them for both vehicles.


I forgot to mention that I can operate the OpenROV using the 300' of single twisted pair wire with Homeplug adapters or a direct connection with a 5 ft. ethernet cable. I the video freeze and other problems act the same.

Frank


#16

Hi Frank:

I know Brian is working on finding the root cause of the video freezing issue, and the last time I talked to him he said he was making good progress.

Just out of curiosity, have you dialed your camera resolution back down to SVGA? I did this with my 2.4 ROV and have not been having issues (I'm running with the September 2013 image, not the latest 2.4 stable). The earliest OpenROV builds came out-of-the-box set to SVGA, and that might be part of the reason they did not suffer from this issue.

Previous threads for reference:

Changing video size

Another thread on video freezing

-Walt


#17

Thanks Walt

I'm not good at the software so I would need step up step instruction on changing the video size.

Frank


#18

Log into the BB using putty.exe can be downloaded from http://www.putty.org/
use the IP address of the BB 192.168.254.1 in putty to get to the console.
User name is rov
Password OpenROV

cd /openrov/src/lib >config.js >this is the file you are looking for but the path
>to this file may have changed from the version I am looking at.

Use the vi editor to open config.js

sudo vi config.js
Password: OpenROV

Below is an older file of config.js but gives you an idea of what it should look like.
There is a line entry for Video_Resolution that you can look for.

To find the vi editor commands to use: http://www.lagmonster.org/docs/vi.html
I hope this helps a little bit



/*
*
* Description:
* Configuration file. Manage frame rate, port, etc.
*
*/

var OpenROVCameraPath = "./lib/OpenROVCamera";
var OpenROVControllerPath = "./lib/OpenROVController";
var FirmwareInstallerPath = "./lib/FirmwareInstaller";

var getLibPath = function(lib) {
var result = lib;
if (process.env.USE_MOCK === 'true') {
result += '-mock';
}
return result;
}

module.exports = {
debug: process.env.NODE_DEBUG !== 'false',
debug_commands: false, //process.env.NODE_DEBUG_COMMANDS === 'true',
production: process.env.NODE_ENV || true,
sample_freq: (process.env.SAMPLE_FREQ && parseInt(process.env.SAMPLE_FREQ)) || 20, //Hz
dead_zone: process.env.DEAD_ZONE && parseInt(process.env.DEAD_ZONE) || 10,
video_frame_rate: process.env.VIDEO_FRAME_RATE && parseInt(process.env.VIDEO_FRAME_RATE) || 15,
video_resolution: process.env.VIDEO_RESOLUTION || 'SVGA',
video_device: process.env.VIDEO_DEVICE || '/dev/video0',
video_port: process.env.VIDEO_PORT || 8090,
port: process.env.PORT || 8080,
serial: process.env.SERIAL || '/dev/ttyO1',
serial_baud: process.env.SERIAL_BAUD || '115200',
OpenROVCamera: getLibPath(OpenROVCameraPath),
OpenROVController:getLibPath(OpenROVControllerPath),
FirmwareInstaller:getLibPath(FirmwareInstallerPath),
};

console.log("config", module.exports);


#19

Hey guys. I have more elaborate solutions that will be in the next beta drop. In the meantime, you are more likely to get improved performance by lowering the video_frame_rate than video_resolution. Every time a frame comes in the browser is currently sucking down resources to paint it on the screen and on slower equipment, it can easily max out the available cpu to the browser (which can only use one core).


#20

Hi David & Brian,

I have logged into BB but when I type on the command line "cd/openrov/src/lib" then "enter" I get back "no such dir or file".

I'm using the "OpenROV-2-4-Stable.img" if that was anything to do with it?

I'm stuck,

Frank