Skip to content

Release Notes

Mike Dalal edited this page Oct 2, 2023 · 7 revisions

This file is a compilation of OceanWATERS release features, in reverse chronological order.

Upcoming Release

The following features are planned for Release 13, sometime in 2024. They are currently available on the noetic-devel branches of the OceanWATERS repositories. While the noetic-devel branch should be usable, it is not assuredly stable since it has not been as rigorously tested as the Release 12 based master branch.

  • TBD

Release 12 (current release)

**This release requires you to update your PLEXIL installations. Instructions are found here.

Simulator (ow_simulator)

General

  • Improvements and refinements to many ROS action scripts.
    • For pose commanding arm actions, the relative flag now interprets the pose as additive within the selected frame.
  • Improved arm trajectory planning.
    • Refactored arm trajectory planner.
    • Improved trajectory and goal error reporting.
    • Improved depth accuracy of dig commands.
  • Improved digging fidelity.
    • New Balovnev-based digging model.
    • Increase in regolith collection.
  • Various topic publication rates were corrected to be more consistent.
  • Several improvements and fixes in graphics.
    • Fixed dynamic terrain coordinate system mistakes, leading to terrain holes with incorrect poses.
  • Expanded coverage of automated tests to nearly all lander commands.

Fault Injection and Modeling

  • New power system faults
    • Battery node disconnection, which disconnects some nodes of the battery pack and distributes power load across remainder.
    • Artificial power faults, which force the predictions into states that trigger their associated fault flags. Unrealistic behavior, but important for testing.
      • Low state-of-charge
      • Instantaneous capacity loss
      • Thermal failure
  • Updated custom fault profile formatting for simplicity.

Power System Model

  • Single-cell battery model upgraded to a multi-cell model.
    • Maximum power draw significantly increased; power consumption is distributed across four 6S1P models.
    • Battery lifetime is now much higher.
    • Runtime configuration of many new aspects of the power system.
  • Significant improvements to mechanical power application.
  • Option to control the performance load of the power system, from increasing the number of simulated nodes to disabling the power system altogether.

Autonomy (ow_autonomy)

  • ow_plexil package upgraded to use PLEXIL v6 (PLEXIL 4.6 will no longer work).
  • Complete PLEXIL interface to JPL's OWLAT Simulator (actions, telemetry), with new and refactored test plans.
  • Greatly refactored and reorganized PLEXIL adapter and plan directories.
  • Fault dependencies framework and demonstration plan.
  • System health monitor and demonstration plan.
  • New PLEXIL commands for stochastically injecting and clearing faults.
  • Many PLEXIL plan improvements.
  • A new script ow-compile-plan  for compiling a single PLEXIL plan.
    • Much faster than catkin build and allows plan editing while running ow-plexil launches.

Miscellaneous

  • Numerous bug fixes and small enhancements throughout system.

Release 11

Release date: March 2023

The central theme of Release 11 was a lander operational interface (commands, telemetry) that is more unified with JPL's Ocean World Lander Autonomy Testbed (OWLAT), a physical testbed that compliments OceanWATERS. Release 11 implemented mainly the OceanWATERS side of the interface.

**This release required you to update your PLEXIL and GSAP installations. Instructions are found here.

Simulator

ROS Actions

  • The ow_lander action servers and robotic arm interface were largely refactored:
    • Most classes and methods were reworked as modules and moved into a Python package named ow_lander. Thus they can now be imported and used in other ROS packages.
  • A framework for creating new ROS Actions that interface with the lander has been developed.
  • The Python scripts that invoke each ROS action were renamed and modified for the updated actions.  They also now have detailed help messages.
  • ROS Action error handling and logging were rewritten and made more consistent across commands.

Commands

  • Existing commands have been unified with OWLAT's interface:
    • Unstow is replaced with ArmUnstow
    • Stow is replaced with ArmStow
    • Stop is replaced with ArmStop
    • Deliver is replaced with TaskDeliverSample
    • Discard is replaced with TaskDiscardSample
    • DigCircular is replaced with TaskScoopCircular
    • DigLinear is replaced with TaskScoopLinear
    • AntennaPanTiltAction is replaced with PanTiltMoveJoints
  • New commands have been added:
    • ArmMoveCartesian - Moves the end-effector to the commanded pose.
    • ArmMoveCartesianGuarded - Moves the end-effector to the commanded pose and stops when resistance is encountered.
    • ArmMoveJointsGuarded - Sets position of all arm joints and stops when resistance is encountered.
    • ArmFindSurface - Pokes the surface with the end-effector.
    • CameraCapture - Captures images with both mast cameras.
    • CameraSetExposure - Sets the mast camera exposure level.
    • LightSetIntensity - Sets the intensity of either mast spotlights.
    • PanTiltMoveCartesian - Pans and tilts the lander mast to point the stereo-cameras at a point in space.
    • Pan - Changes only the pan position of the lander mast.
    • Tilt - Changes only the tilt position of the lander mast.
  • There are still OceanWATERS-only commands, and some have been renamed:
    • DockIngestSampleAction is now DockIngestSample
    • Grind is now TaskGrind

Telemetry

  • Existing telemetry has been unified with OWLAT's:
    • /faults/system_faults_status is replaced with /system_faults_status
    • /faults/arm_faults_status is replaced with /arm_faults_status
    • /faults/cam_faults_status is replaced with /camera_faults_status
    • /faults/power_faults_status is replaced with /power_faults_status
    • /faults/pt_faults_status is replaced with /pan_tilt_faults_status
    • /ft_sensor_dist_pitch is replaced with /arm_end_effector_force_torque
    • /joint_states is supplemented with /arm_joint_positions, /arm_joint_velocities, /arm_joint_torques, and /pan_tilt_position
    • /power_system_node/battery_temperature is replaced with /battery_temperature
    • /power_system_node/state_of_charge is replaced with /battery_state_of_charge
    • /power_system_node/remaining_useful_life is replaced with /battery_remaining_useful_life
    • /StereoCamera/points2 is supplemented with /camera_point_cloud
  • New telemetry added:
    • /arm_tool - This topic exists to support OWLAT. When using OceanWATERS, the value will always be 4, which denotes the scoop end-effector.
    • /arm_joint_accelerations - Angular accelerations of each arm joint.
    • /arm_pose - Cartesian position of end-effector in the base_link frame.

Fault Injection and Modeling

  • Improved camera fault detection.
  • Refactored fault publishing code.

Physical Lander Model

  • Improved pan/tilt operation: angle limits are enforced, angles are better compared and normalized.

Power System Model

  • A long-standing bug in which battery remaining useful life went to 0 within seconds of high power draw has been fixed by a newer version of GSAP (prognostics engine).

Automated Testing

  • Refactored ROS Action call methods for rostest python scripts into a module.
  • Created a Python script that statistically computes ROS Action Result expected values.

Autonomy (ow_autonomy)

  • PLEXIL now commands the lander entirely through its ROS action interface; interfaces were developed or modified for all new and changed ROS actions.

Miscellaneous

  • Numerous bug fixes and small enhancements throughout system.

Older Releases

Older releases are are not described here, since this page was started with Release 12.