Skip to content

Release Notes

Thomas Stucky edited this page Jun 4, 2024 · 7 revisions

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

Release 13.1

Release date June 3rd, 2024

Bugs Fixes

  • Fixed TF and RViz having the wrong transform of base_link. This enables utilizing TF and Rviz visualizations in ways that were not possible before.

Environment

  • Multi-material terrain can now be turned off at simulation start-up and sample collection can still be simulated without it.

Faults

  • Automatically cleared goal errors is now a setting that can be toggled on and off during the simulation in Dynamic Reconfigure. Defaults to on.

Lander

  • The normal parameter in ArmFindSurface now expects the surface normal where scoop will poke instead of the anti-normal.
  • At the start of a simulation, the lander's default spawn position can be changed with roslaunch parameters. If multi-material terrain is in use, the material voxel grid can be defined relative to the lander's position.

Release 13

Release date April 30, 2024

For this release we recommend that you update your PLEXIL installation. Instructions are found here.

Environment

  • Atacama_y1a terrain now simulates a distribution of materials.

  • A voxel grid of materials populate the terrain subsurface based on the color of the terrain texture above.

  • Each spawned regolith particle is marked with the material concentration of wherever it was collected from. A summary of concentrations ingested by the sample dock is published to the /ground_truth/material_ingested topic for verifying sample collection operations.

  • Performance and accuracy improvements made to both the dynamic terrain and regolith spawning systems.

  • Improved dig force realism.

  • Improved lighting realism.

Faults

  • Formalized the notion of goal and execution errors in the user guide, with more complete coverage of goal error modeling in the software.

  • Any lander operation in the category of Arm, Task, PanTilt, or Camera that fails, results in a goal error for that category.

  • A goal error must be cleared by autonomy or the user before any other actions within its category can execute.  (Previously, goal errors were automatically cleared by the simulator).

Lander

  • New lander action FaultClear that clears goal error faults.

  • New lander action ActivateComms that simulates the power draw of data uplink/downlink. 

  • TaskDiscardSample and other RRT* planning actions are now more likely to find a path solution. 

Power System

  • The active power draw of lights, camera, and communications are now simulated.

  • Baseline power draw values have been updated for realism and now properly distribute among the 4 parallel banks of cells. 

Autonomy

  • Extended PLEXIL Lookup interface to all available fault flags.

  • PLEXIL interface to new (dummy) ActivateComms action, and use of this action in example mission plans.

  • PLEXIL interface to new FaultClear action (used to clear goal errors only).

  • New plan to monitor for and clear goal errors, incorporated in example mission plans.

  • Improved fault handling pattern plans.

  • Improved sample target search in example mission plans.

  • Support for JPL's OWLAT Simulator 0.5.4.

Miscellaneous

  • Numerous bug fixes and small enhancements throughout system.

Release 12

This release requires you to update your PLEXIL installation. 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 is 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 implements mainly the OceanWATERS side of the interface.

**This release requires 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.