Companion 0.0.28 features in DVL branch

Can vehicles with the Water Linked version of Companion upgrade?

1 Like

As far as Iā€™m aware there isnā€™t a Water Linked specific version of Companion - all our companion software since 0.0.18 has the Water Linked driver functionality (wldriver service). This update doesnā€™t remove that support, so I believe it should be fine, but Iā€™ve asked the software team just in case and will get back to you tomorrow once theyā€™ve responded :slight_smile:

1 Like

Will the DVL companion software get updated too?

There are no changes affecting the dvl support for now. We rebased the branch on top of these changes for the bugfixes, but this will only affect new installs.

2 Likes

Can you help me understand where the Water-Linked companion page resides? Iā€™m trying to get my head around how it will still exist after the upgrading Companion to 0.0.28? Is it some type of plug-in that resides along side Companion in the Pi? Or, is it a standard part of 0.0.28 and everyone will see the Water Linked page, even if they donā€™t have the USBL or DVL?

Companion has a waterlinked page in the web interface thatā€™s part of the standard image, which enables connecting specifically to the Underwater GPS. Companion 0.0.28 fixes an issue that was caused by the default hostname not working correctly.

That same waterlinked page has been modified in our dvl branch to include DVL integration. I had a meeting with the software team today and was told DVL integration/support is still a beta feature (experimental), so it isnā€™t in any official releases. If thatā€™s what you were asking about then my apologies for missing that - I didnā€™t know the details of it until the meeting. As per Willianā€™s comment

Essentially, the bug fixes from this update are now also available in the dvl branch, but the installation process for it is the same as before (canā€™t use the standard release buttons). I believe you should be able to get the updated version using the dvl install instructions.

Iā€™m unsure if our pre-built image has been updated yet (Option 1), so if youā€™re wanting to use that instead of git you may need to wait until tomorrow.

Hopefully that clears things up :slight_smile:

Following up on this, the pre-built dvl image has now been updated, and is available at the link in the dvl install instructions :slight_smile:

I got this when i tried to update from 0.0.24 to 0.0.28 the DVL branch in git.

Please be patient and DO NOT REMOVE POWER FROM THE ROV!
adding lock
skipping backupā€¦
stashing local changes
No local changes to save
tagging revert-point as 33651de023931b941d1e36ba3d9a70b5412056e1
Check for local changes to save.
No local changes to save
using branch reference
error: object file .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b is empty
error: object file .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b is empty
fatal: loose object 1972e134416bc600e06be1bc899e488d29d5343b (stored in .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b) is corrupt
fatal: The remote end hung up unexpectedly
moving to 1972e134416bc600e06be1bc899e488d29d5343b
error: object file .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b is empty
error: object file .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b is empty
fatal: loose object 1972e134416bc600e06be1bc899e488d29d5343b (stored in .git/objects/19/72e134416bc600e06be1bc899e488d29d5343b) is corrupt

How can I fix this?

I may be incorrect, but Iā€™d guess that this means you lost internet connection while updating. Does the web interface still work if you restart the companion? If so Iā€™d suggest trying to update again.

If itā€™s not working at all then Iā€™d suggest you try flashing the latest dvl image from the install instructions, which should already include the updates :slight_smile:

I was hoping not to do that, my internet connection is fine.

I installed the 0.0.24 dvl img on another ROV and updated it to 0.0.28 with no problem. But to day on the main ROV with the same 0.0.24 DVL img was not so easy.

I wasnā€™t suggesting your wifi itself is dodgy or dropping out - I was thinking the Raspberry Pi might have briefly lost the connection given you have an error saying ā€˜the remote end hung up unexpectedlyā€™.

As far as Iā€™m aware the dvl image hasnā€™t changed since @williangalvani rebased it to sit on 0.0.28 a few days ago, so Iā€™d expect the process that worked for you a couple of days ago should also work now. Iā€™d recommend you try again if possible, as mentioned.

Unfortunately I donā€™t have a system thatā€™s on the previous version of the dvl branch so canā€™t test that update process. For what itā€™s worth I tried going from my normal system (which was on 0.0.28) to the dvl branch, and that worked without issues. Iā€™ve just downgraded to the normal 0.0.24 release (not dvl), and am updating to the dvl branch again now, which also seems to be working fine. Iā€™ll confirm in ~20 minutes once itā€™s finished building the updated mavlink.

But it also says it is corrupt? I have cable connection down to the ROV and a stable ping to google. So i think something happen in the pi. I was only wondering if someone have had the same problem. But thanks for the info, Im gonna install the image on Monday.

I also go a ā€œlockā€ symbol on the ā€œorigin (GitHub - bluerobotics/companion: Companion computer startup scripts and examples) :lock:ā€
if that mby have something to say? It says I need to enter a username if i click on it.

Thanks for the fast feedback @EliotBR, much appreciated

Yeah, Iā€™m not sure why thatā€™s the case unfortunately, which is why I was trying to reproduce the problem on my end. The update from normal 0.0.24 to latest dvl also worked fine, so I think something may have just gone unexpectedly wrong in your update process. Definitely a frustrating situation.

The software team is currently working on a major rewrite of companion, which should significantly improve the robustness and ease of use/modification of several components, including the update system. Weā€™re all keen to have fewer companion-related issues in future :slight_smile:

Fair enough, hope that goes well :slight_smile:

I have that too, and itā€™s been mentioned before. Iā€™m not sure why itā€™s there, and I got around it by just adding a new remote with the same address (https://github.com/bluerobotics/companion.git), and that seems to work fine. Iā€™ll raise that with the software team though, because it shouldnā€™t be locked and makes it less intuitive to do the relevant updates.

Out of interest, how were you updating without that origin being available?

No worries :slight_smile:

On this ROV I have not been able to get it updated. But I was able to select the DVL on git origin, but I got the error.

Yesterday I install the 0.0.24 DVL img on a brand new ROV and updated in the git section to 0.0.28 DVL with no problem.

I have the same image on the main ROV so I thought it was easy to update when everything went so well yesterday.

But you should test update from regular companion 0.0.27 or 0.0.26 in git. Than I wasnā€™t able to get the DVL driver to start after the update to 0.0.28 DVL companion. Same with 0.0.24 DVL companion.

Got this error when I tried to start it manually
pi@rov:~ $ ./companion/services/waterlinked/dvl-a50/main.py
Traceback (most recent call last):
File ā€œ./companion/services/waterlinked/dvl-a50/main.pyā€, line 7, in
from dvl import DvlDriver
File ā€œ/home/pi/companion/services/waterlinked/dvl-a50/dvl.pyā€, line 6, in
from mavlink2resthelper import Mavlink2RestHelper
File ā€œ/home/pi/companion/services/waterlinked/dvl-a50/mavlink2resthelper.pyā€, line 1, in
from companionhelper import request, post
File ā€œ/home/pi/companion/services/waterlinked/dvl-a50/companionhelper.pyā€, line 2, in
import requests
ModuleNotFoundError: No module named ā€˜requestsā€™

Now I have updated i manually and the DVL not working at allā€¦

Im getting these error messages in dvl script

bā€™Json deserialize error: unknown variant VISION_POSITION_DELTA, expected one of HEARTBEAT, SYS_STATUS, SYSTEM_TIME, PING, CHANGE_OPERATOR_CONTROL, CHANGE_OPERATOR_CONTROL_ACK, AUTH_KEY, LINK_NODE_STATUS, SET_MODE, PARAM_REQUEST_READ, PARAM_REQUEST_LIST, PARAM_VALUE, PARAM_SET, GPS_RAW_INT, GPS_STATUS, SCALED_IMU, RAW_IMU, RAW_PRESSURE, SCALED_PRESSURE, ATTITUDE, ATTITUDE_QUATERNION, LOCAL_POSITION_NED, GLOBAL_POSITION_INT, RC_CHANNELS_SCALED, RC_CHANNELS_RAW, SERVO_OUTPUT_RAW, MISSION_REQUEST_PARTIAL_LIST, MISSION_WRITE_PARTIAL_LIST, MISSION_ITEM, MISSION_REQUEST, MISSION_SET_CURRENT, MISSION_CURRENT, MISSION_REQUEST_LIST, MISSION_COUNT, MISSION_CLEAR_ALL, MISSION_ITEM_REACHED, MISSION_ACK, SET_GPS_GLOBAL_ORIGIN, GPS_GLOBAL_ORIGIN, PARAM_MAP_RC, MISSION_REQUEST_INT, MISSION_CHANGED, SAFETY_SET_ALLOWED_AREA, SAFETY_ALLOWED_AREA, ATTITUDE_QUATERNION_COV, NAV_CONTROLLER_OUTPUT, GLOBAL_POSITION_INT_COV, LOCAL_POSITION_NED_COV, RC_CHANNELS, REQUEST_DATA_STREAM, DATA_STREAM, MANUAL_CONTROL, RC_CHANNELS_OVERRIDE, MISSION_ITEM_INT, VFR_HUD, COMMAND_INT, COMMAND_LONG, COMMAND_ACK, COMMAND_CANCEL, MANUAL_SETPOINT, SET_ATTITUDE_TARGET, ATTITUDE_TARGET, SET_POSITION_TARGET_LOCAL_NED, POSITION_TARGET_LOCAL_NED, SET_POSITION_TARGET_GLOBAL_INT, POSITION_TARGET_GLOBAL_INT, LOCAL_POSITION_NED_SYSTEM_GLOBAL_OFFSET, HIL_STATE, HIL_CONTROLS, HIL_RC_INPUTS_RAW, HIL_ACTUATOR_CONTROLS, OPTICAL_FLOW, GLOBAL_VISION_POSITION_ESTIMATE, VISION_POSITION_ESTIMATE, VISION_SPEED_ESTIMATE, VICON_POSITION_ESTIMATE, HIGHRES_IMU, OPTICAL_FLOW_RAD, HIL_SENSOR, SIM_STATE, RADIO_STATUS, FILE_TRANSFER_PROTOCOL, TIMESYNC, CAMERA_TRIGGER, HIL_GPS, HIL_OPTICAL_FLOW, HIL_STATE_QUATERNION, SCALED_IMU2, LOG_REQUEST_LIST, LOG_ENTRY, LOG_REQUEST_DATA, LOG_DATA, LOG_ERASE, LOG_REQUEST_END, GPS_INJECT_DATA, GPS2_RAW, POWER_STATUS, SERIAL_CONTROL, GPS_RTK, GPS2_RTK, SCALED_IMU3, DATA_TRANSMISSION_HANDSHAKE, ENCAPSULATED_DATA, DISTANCE_SENSOR, TERRAIN_REQUEST, TERRAIN_DATA, TERRAIN_CHECK, TERRAIN_REPORT, SCALED_PRESSURE2, ATT_POS_MOCAP, SET_ACTUATOR_CONTROL_TARGET, ACTUATOR_CONTROL_TARGET, ALTITUDE, RESOURCE_REQUEST, SCALED_PRESSURE3, FOLLOW_TARGET, CONTROL_SYSTEM_STATE, BATTERY_STATUS, AUTOPILOT_VERSION, LANDING_TARGET, FENCE_STATUS, ESTIMATOR_STATUS, WIND_COV, GPS_INPUT, GPS_RTCM_DATA, HIGH_LATENCY, HIGH_LATENCY2, VIBRATION, HOME_POSITION, SET_HOME_POSITION, MESSAGE_INTERVAL, EXTENDED_SYS_STATE, ADSB_VEHICLE, COLLISION, V2_EXTENSION, MEMORY_VECT, DEBUG_VECT, NAMED_VALUE_FLOAT, NAMED_VALUE_INT, STATUSTEXT, DEBUG, SETUP_SIGNING, BUTTON_CHANGE, PLAY_TUNE, CAMERA_INFORMATION, CAMERA_SETTINGS, STORAGE_INFORMATION, CAMERA_CAPTURE_STATUS, CAMERA_IMAGE_CAPTURED, FLIGHT_INFORMATION, MOUNT_ORIENTATION, LOGGING_DATA, LOGGING_DATA_ACKED, LOGGING_ACK, VIDEO_STREAM_INFORMATION, VIDEO_STREAM_STATUS, GIMBAL_MANAGER_INFORMATION, GIMBAL_MANAGER_STATUS, GIMBAL_MANAGER_SET_ATTITUDE, GIMBAL_DEVICE_INFORMATION, GIMBAL_DEVICE_SET_ATTITUDE, GIMBAL_DEVICE_ATTITUDE_STATUS, AUTOPILOT_STATE_FOR_GIMBAL_DEVICE, GIMBAL_MANAGER_SET_TILTPAN, WIFI_CONFIG_AP, PROTOCOL_VERSION, AIS_VESSEL, UAVCAN_NODE_STATUS, UAVCAN_NODE_INFO, PARAM_EXT_REQUEST_READ, PARAM_EXT_REQUEST_LIST, PARAM_EXT_VALUE, PARAM_EXT_SET, PARAM_EXT_ACK, OBSTACLE_DISTANCE, ODOMETRY, TRAJECTORY_REPRESENTATION_WAYPOINTS, TRAJECTORY_REPRESENTATION_BEZIER, CELLULAR_STATUS, ISBD_LINK_STATUS, CELLULAR_CONFIG, RAW_RPM, UTM_GLOBAL_POSITION, DEBUG_FLOAT_ARRAY, ORBIT_EXECUTION_STATUS, SMART_BATTERY_INFO, SMART_BATTERY_STATUS, GENERATOR_STATUS, ACTUATOR_OUTPUT_STATUS, TIME_ESTIMATE_TO_TARGET, TUNNEL, ONBOARD_COMPUTER_STATUS, COMPONENT_INFORMATION, PLAY_TUNE_V2, SUPPORTED_TUNES, WHEEL_DISTANCE, OPEN_DRONE_ID_BASIC_ID, OPEN_DRONE_ID_LOCATION, OPEN_DRONE_ID_AUTHENTICATION, OPEN_DRONE_ID_SELF_ID, OPEN_DRONE_ID_SYSTEM, OPEN_DRONE_ID_OPERATOR_ID, OPEN_DRONE_ID_MESSAGE_PACK at line 9 column 35ā€™
Error in request: http://127.0.0.1:4777/mavlink: HTTP Error 400: Bad Request
bā€™Json deserialize error: missing field signal_quality at line 31 column 1ā€™

On the /waterlinked site i says ā€œrunningā€ but i cant set it to pos_hold modeā€¦

Do someone have the 0.0.24 DVL img?

Iā€™ve asked the software team to follow up on this error message since I donā€™t have access to a dvl to test with so canā€™t replicate it.

The old image is still available at https://s3.amazonaws.com/downloads.bluerobotics.com/Pi/experimental/ardusubdvl0.img.zip

1 Like

Update on this, thereā€™s apparently a compatibility issue between the dvl branch and the mavlink2rest version used by 0.0.28 that fixes the failsafe issue. That will hopefully be sorted out soon - Iā€™ll comment here once the relevant update has been completed and confirmed to work as expected :slight_smile:

1 Like

Confirming this has now been fixed, and the rebased DVL image is now built and confirmed working :slight_smile:

You should be able to update by following the dvl installation instructions, either downloading and flashing the pre-built image, or using git to get the latest code directly.

1 Like

Thanks for the update, im gonna test it later today.

1 Like