Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ROS-119: ouster-ros driver automatic reconnection [HUMBLE/IRON/JAZZY] #362

Merged
merged 10 commits into from
Aug 31, 2024

Conversation

Samahu
Copy link
Contributor

@Samahu Samahu commented Aug 29, 2024

Related Issues & PRs

Summary of Changes

  • Implement sensor reconnection behavior
  • Handle sensor reconfiguration from a cold start
  • Add a flag to enable sensor reconnect (default disabled)
  • properly handle config change outside of the ros driver
  • only persist config startup config if persist_config was set
  • only auto_udp if startup config didn't set an address
  • added a parameter to set the dromant period between re-connection attempts
  • added a parameter to set the maximum number of subsequent failed re-connection attempts
  • added ROS Jazzy to the build 🎉
  • added auto_start flag

Known Issues

  • Doesn't handle invalid configurations gracefully

Validation

  • Use the driver with default configuration to connect to a sensor & verify normal activity
  • Enable the attempt_reconnect parameter and verify that it works as expected for the following scenarios
    • Starting from an under powered or unconnected sensor
      • Connect or power up the sensor
      • Verify the driver connects successfully within 10-15 seconds
    • Using a powered up and connected sensor
      • Disconnect the sensor and reconnect it
      • Verify the driver connects successfully within 10-15 seconds
    • Using a powered up and connected sensor
      • power down the sensor and power it up
      • Verify the driver connects successfully within 10-15 seconds (and adjusts to sensor persisted config if different)
    • Using a powered up and connected sensor
      • Use set_config to change sensor configuration
      • Verify the driver reconnects successfully within 10-15 seconds
    • Using a powered up and connected sensor
      • Change some setting on through the sensor configuration page
      • Verify the driver reconnects successfully within 10-15 seconds

Additional parameters to test

# dormant_period_between_reconnects[optional]: wait time in seconds between
# reconnection attempts
dormant_period_between_reconnects: 1.0
# max_failed_reconnect_attempts[optional]: maximum number of attempts trying
# to communicate with the sensor. Counter resets upon successful connection.
max_failed_reconnect_attempts: 2147483647

@Samahu Samahu added the enhancement New feature or request label Aug 29, 2024
@Samahu Samahu self-assigned this Aug 29, 2024
@Samahu Samahu changed the base branch from master to ros2 August 29, 2024 01:41
@Samahu Samahu changed the title ROS-119[HUMBLE/IRON]: ouster-ros driver automatic reconnection ROS-119[HUMBLE/IRON/JAZZY]: ouster-ros driver automatic reconnection Aug 30, 2024
@Samahu Samahu changed the title ROS-119[HUMBLE/IRON/JAZZY]: ouster-ros driver automatic reconnection ROS-119: ouster-ros driver automatic reconnection [HUMBLE/IRON/JAZZY] Aug 30, 2024
@Samahu Samahu marked this pull request as ready for review August 30, 2024 01:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[ROS2] Launching nodes when the lidar is not yet powered
2 participants