ROV Suite 30.0.2 released

release-notice

#1

A minor release, 30.0.2 for the OpenROV ROV Software Suite is available here:

Installation Instructions

Release Notes:

The significant changes since 30.0.0. are:

  • Support for the new OpenROV IMU2
  • Support for an external servo/pwm device such as the water proof servo
  • Support for external lights
  • Internet connectivity for downloading plugins and such all fixed Minor updates via browser update process working again

IMU support

Both the new Bosh BNO055 based IMU and the original MPU9150 based IMU are enabled by default in the software. The system will auto detect whichever version is installed. For the new IMU, the system will automatically find north after a few seconds of rotating around the ROV.

Errants

  • This release has a minor conflict between the I2C bus and the motor’s that cause occasional twitching of the motors. This will be addressed in the next point release.

(Note, 30.0.1 was never widely released)


openROV V 2.6 software
OpenROV IMU 2.0
#2

I just uploaded this release and am no longer able to access the cockpit. All lights are on topside and the ROV seems to have booted up (LEDs flashing and the motors are twitching as mentioned), but the cockpit won’t load and I’m not getting a ping response. Suggestions?


#3

Are you connected via direct ethernet to your computer from the topside adapter? I realize that it was working before, but I would double check for loose connections from the installation of the SD card.

If your not getting a ping on 192.168.254.1 then either the computer is not configured with a working static IP or there is something preventing ethernet connection to the ROV. Other things to try include double checking that you have connection lights on the topside adapter.

If you run through one of the the troubleshooting guides, it should hopefully help isolate where the problem is in which case we might be able to help some more.


#4

@badevguru Thanks for the hard work on this! I loaded up the new software last night and here’s a bit of a review/feedback:

  1. My first time using the “flash” version vice the SD card. Great instruction documentation! It was very easy to follow and know when the software was completely flashed.

  2. AUX servo works great! I connected a spare servo to D9 and was able to easily control the back and forth movement. This is exactly what I had in mind for servo control. And now that I’m thinking about it, using the Alt+Q/Z makes sure that you don’t accidentally hit it and lose whatever you’re grabbing etc. Any chance of getting D10 to be in a similar setup using Alt+W/X keys?

  3. The AUX/External lighting was a bit weird when I tried it. Alt+I worked fine to turn the external lighting on and off, but it would not increment for Alt+O/P.

  4. Which of the 6 grey AUX wires can we use for external lighting? Can we get a set of instructions for how to use or configure them?

  5. Edit: Installed the IMU2 and it works great so far. The auto-calibration is dead on and holds very well after you rotate the ROV 360 degrees after start-up.


#5

@badevguru, I just wanted to echo @Kevin_K 's thanks for taking the time to release this feature-laden interim flash version. Kevin’s news about servo and external lighting is useful and encouraging.

I’ve installed the upgrade from IMU to IMU2 on my modified 2.6, and so far, it has been all but seamless. I mounted the IMU traditionally, just starboard of center structure handle and flash installed Suite 30.0.2.

  • On first reboot:
    BNO055 selftest2 passed for acc, mag, and gyro.
    No BNO055 selftest2 for mcu - appears to be bypassed in this release?
    Showed BNO055 Initial_mode 16.

  • Minor problems with thruster controls disappeared after subsequent reboots.

  • Compass heading seems to still use ROV direction at initialization for 0 degrees. When auto-calibration of heading becomes active, will the orientation (placement) of the IMU be critical, e.g., is there a “frontward” and a “backward” direction for the IMU2 that we should use for mounting the sensor?

  • I ran a preliminary dive yesterday to about 3 meters. Roll, pitch, yaw, compass orientation and depth readings seemed responsive and spot on the mark!!

  • On Monday, we’ll try to use Constant Heading and Constant Depth to fly transects without guide lines for aquatic organism counts in smaller pools. This wasn’t possible with IMU1. So many thanks again for the great upgrades and support.


#6

Checkout my explanation of the auto calibration in this thread:


#7

Thank you for your work.

I managed to successfully flash this release 30.0.2 with no problems.
Cockpit and controls work flawlessly.
AUX servo works good.

Internet connectivity still doesn’t work.
Cloud9 still doesn’t work.

This is probably not related to this release, but I don’t remember if this worked before or not: How can I enable the “Download” button for telemetry data?


#8

Hi Kevin:

The 30.0.2 SW was designed to be compatible with the hardware for the upcoming OpenROV 2.8, which is in prototyping right now. One of the changes in 2.8 is that it will be pre-wired for external lights and an external servo, to save the user the work of modifying the Controller board to do so. If you want to make your wiring fully compatible with OROV 2.8, here’s how to do so:

  • The external light is powered by PWM3, and the external servo is controlled by D9 (Servo4).

  • On your controller board, run a jumper wire from TP20 to PWM3+ on the headers.

  • Run a jumper wire from TP21 to PWM3- on the headers

  • Take a small piece of wire, and solder it between the two pads marked R32. This will activate the PWM3 channel with battery voltage.

  • Find an old servo and cut off the 3-pin connector and the accompanying 3-conductor wire. Take the connector, make sure it will stretch on the controller from the test points to the servo outputs. Wire the ground to TP25, the power to TP24, and the servo signal to TP23. Plug this connector into position D9 on the bank of six servo outputs.

  • If you haven’t previously labeled the six grey wires, take an ohmmeter, figure out which wire corresponds to test points TP20-TP25, and label them accordingly.

  • You can now seal up the electronics tube again.

  • External to the ROV, connect the external lights (+) lead to the TP20 wire, the external lights (-) lead to the TP21 wire, servo ground to the TP25 wire, servo power to the TP24 wire, and the servo signal to the TP23 wire. That will leave one spare wire.

Hope this helps.

-W


#9

Yes it will!
Thank you!


#10

Just tried to install this on a 2.5B controller board and firmware would not load. See:

undefinedstaging: build dir is /tmp/tmp.d0UjkC6K4g
staged src in to build folder
src/OpenROV.ino
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Scanning dependencies of src
Scanning dependencies of arduino
Scanning dependencies of EEPROM
Scanning dependencies of SPI
Scanning dependencies of Wire
src/Device.cpp
src/openrov_servo.cpp
src/inv_mpu_dmp_motion_driver.cpp
src/inv_mpu.cpp
src/controllerboard25.cpp
src/Timer.cpp
src/ThrustersAndFins2XTrailing2.cpp
src/Thrusters2X1.cpp
src/Settings.cpp
src/Pin.cpp
src/Pilot.cpp
src/Motor.cpp
src/MinIMU_matrix.cpp
src/MinIMU_Vector.cpp
src/MinIMU_Output.cpp
src/MinIMU_LSM303.cpp
src/MinIMU_L3G.cpp
src/MinIMU_I2C.cpp
src/MinIMU_DCM.cpp
src/MinIMU_Compass.cpp
src/MinIMU9AHRS.cpp
src/MinIMU9.cpp
src/MS5803_14BALib.cpp
src/MS5803_14BA.cpp
src/MPUVector3.cpp
src/MPUQuaternion.cpp
src/MPU9150Lib.cpp
src/MPU9150.cpp
src/Lights.cpp
src/Lights.cpp:10:22: error: ‘ELIGHTS_PIN’ was not declared in this scope
make: *** [.build/uno/src/Lights.o] Error 1
Searching for Board description file (boards.txt) … /usr/share/arduino/hardware/arduino/boards.txt
Searching for Arduino lib version file (version.txt) … /usr/share/arduino/lib/version.txt
Detecting Arduino software version … 1.0.5 (1.0.5)
Searching for Arduino core library … /usr/share/arduino/hardware/arduino/cores/arduino
Searching for Arduino variants directory … /usr/share/arduino/hardware/arduino/variants
Searching for Arduino standard libraries … /usr/share/arduino/libraries
Searching for make … /usr/bin/make
Searching for avr-gcc … /usr/bin/avr-gcc
Searching for avr-g++ … /usr/bin/avr-g++
Searching for avr-ar … /usr/bin/avr-ar
Searching for avr-objcopy … /usr/bin/avr-objcopy
Make failed with code 2
firmware-build.sh: : Compile of the Arduino image failed.
firmware-installfromsource.sh: Building Firmware Failed! Aborting


#11

Hey Jim, try rebooting. The system failed to detect the SPI connection and fell back to trying to upload the code via the serial port which won’t work.


#12

re-powered unit and has the same issue. Note I am running just the controller board - nothing connected to the db-25 and no-video.

I am powering the BBB via the usb cable. Does the controller board get powered from the BBB or do I need to supply


#13

Turns out it must have been something going wrong in the SD card or upload process. Did everything again and it works! The only issue I’m having now is that once the ROV is done booting, it beeps as normal, then about 5 seconds go by and it beeps again. If the cockpit is open at the first beep, all the IMU2 info is reported and my data looks like this:

hdgd 359.94
deap 0.00
pitc 2.38
roll -0.50
yaw 359.94
fthr 0.00
motorAttached 1
servo 1500
starg 1500
fmem 3542.00
vout 8.62
iout 0.58
atmp 0.00
ver b1ccff3fc29c1f3676bb773083295d449f526985 -
cmpd Jul 14 2015, 21
cpuUsage 0
time 101327.00
pres 0.00
temp 0.00
dlms 0|27351|72442|26833|18434|266615|60746|20077|23688|33659|705910|473011|9333
alps 2558
BRDT 40.08
SC1I 0.03
SC2I 0.06
SC3I 0.03
BRDI 0.52
BT1I 0.30
BT2I 0.39
BRDV 8.62
AVCC 5209
mtarg 1500,1500,1500
mtrmod 1.00,1.00,1.00,2.00,2.00,2.00
log setting dev #11
BNO055.CALIB_MAG 0
BNO055.CALIB_ACC 0
BNO055.CALIB_GYR 3
BNO055.CALIB_SYS 0
BNO055.MODE 12
MPU9150.status Not found
MS5803.status reset
Depth Calibration constants are
Depth.C0 0
Depth.C1 0
Depth.C2 0
Depth.C3 0
Depth.C4 0
Depth.C5 0
Depth.C6 0
Depth.C7 0
BNO055.Address 40
BNO055.WHO_AM_I 0
BNO055.IAM_160 160
BNO055.status step2
BNO055.SW_Revision_ID FF.FF
BNO055.bootloader 255
BNO055.selftest.acc passed
BNO055.selftest.mag passed
BNO055.selftest.gyro passed
BNO055.selftest.mcu passed
BNO055.selftest2.acc passed
BNO055.selftest2.mag passed
BNO055.selftest2.gyro passed
BNO055.Initial_Mode 255

Once the second beep happens, all that disappears and it looks like this:

hdgd 0.00
deap 0.00
pitc 0.00
roll 0.00
yaw 0.00
fthr 0.00
motorAttached 1
servo 1500
starg 1500
fmem 3542.00
vout 8.5
iout 0.51
atmp 0.00
ver b1ccff3fc29c1f3676bb773083295d449f526985 -
cmpd Jul 14 2015, 21
cpuUsage 0.2934782608695652
time 50223.00
pres 0.00
temp 0.00
dlms 0|63851|33712|12483|8784|126565|27606|9647|10858|17109|331410|231411|1597
alps 2696
BRDT 38.58
SC1I 0.02
SC2I 0.10
SC3I 0.03
BRDI 0.57
BT1I 0.32
BT2I 0.46
BRDV 8.64
AVCC 5185
mtarg 1500,1625,1500
mtrmod -1.00,1.00,-1.00,-2.00,2.00,-2.00
log Failed to read Depth from I2C
BNO055.CALIB_MAG 0
BNO055.CALIB_ACC 0
BNO055.CALIB_GYR 3
BNO055.CALIB_SYS 0
BNO055.MODE 12
MPU9150.status Not found
MS5803.status reset
Depth Calibration constants are
Depth.C0 0
Depth.C1 0
Depth.C2 0
Depth.C3 0
Depth.C4 0
Depth.C5 0
Depth.C6 0
Depth.C7 0
BNO055.Address 40
BNO055.WHO_AM_I 0
BNO055.IAM_160 255
BNO055.status failed
BNO055.SW_Revision_ID FF.FF
BNO055.bootloader 255
BNO055.selftest.acc passed
BNO055.selftest.mag passed
BNO055.selftest.gyro passed
BNO055.selftest.mcu passed
BNO055.selftest2.acc passed
BNO055.selftest2.mag passed
BNO055.selftest2.gyro passed
BNO055.Initial_Mode 255
boot 1
rawcmd AD,6C,69,66,74,28,32,35,29,3B,
crc pass
cmd lift(25)
CAPA 206
LIGT 0
LIGP 0.00
pong 1,49896
motors 1500,1500,1500

Is this the internal reset mentioned in the IMU2 post? If so, what might be going on with mine? It was potted , connected, and mounted as instructed.


#14

I powered the controller board and BBB via the db-25 plug with 12 V DC and jumpered the PWR Switch (J12) and was able to get the firmware loaded.


#15

The image takes ages to download. I’m also getting a larger file (1.1GB .gz -> 3.9GB .img). Is this normal?


#16

That is the same file size that I am seeing. It is larger than previous versions. @badevguru may be able to shed some light on this.