Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro jazzy showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro kilted showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro rolling showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro github showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro galactic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro iron showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro melodic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange

No version for distro noetic showing humble. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.9.0
License Apache-2.0
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description This project provides ROS drivers for Bosch Off-Highway sensor systems. (Radar Off-Highway Premium, Radar OHW, General Purpose Radar Off-Highway (GPR), Ultrasonic Sensor System OHW Entry & Premium)
Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2025-06-18
Dev Status MAINTAINED
Released RELEASED
Tags construction automation agriculture radar driver ultrasonic amr agv ultrasonic-sensor ros2 autonomous-mobile-robotics autonomous-mobile-robots off-highway radar-off-highway ultrasonic-sensor-system-ohw-premium ultrasonic-sensor-system-ohw-entry surround-sensing mobile-machines high-imaging-radar
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

The off_highway_premium_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit

off_highway_premium_radar

:warning: The Radar Off-Highway Premium is not available yet. The content in the off_highway_premium_radar packages is preliminary and subject to change.

:information_source: The off_highway_premium_radar packages are for the Series version of the Radar Off-Highway Premium sensor. For the Sample version go to off_highway_premium_radar_sample.

The off_highway_premium_radar package provides a driver node to receive and send UDP datagrams from / to the Bosch Radar Off-Highway Premium via a ROS interface.

Further information on the Bosch Radar Off-Highway Premium can be found here.

Supported devices

Device name Part Number Description
Radar Off-Highway Premium - F037.000.158 - Radar sensor with up to 1024 locations

Contact: off-highway.beg@bosch.com

Nodes

Driver

The radar driver opens an UDP socket, decodes all UDP protocol data units (PDUs) from the radar and publishes its data as ROS messages. Moreover, it can send all required input for the radar as UDP PDUs. See the following figure for an overview:

Sensor Driver Architecture

The split location data PDUs per measurement are assembled by the driver as single location data measurement and published as single ROS point cloud message. There is no built-in recovery in the driver for out-of-order or dropped UDP packets for such a sequence of packets. A warning will log such cases which result in a drop of the location measurement (and eventually the following one if out-of-order packet). Such cases will also result in a publishing frequency drop for the output message which is detected in the built-in ROS diagnosis. Reducing the load on the sensor network and receiving device will minimize the risk of such cases.

A location data measurement may contain zero locations if the data measured flag is not set or zero number of contained locations are measured. In addition, only locations are contained in the drivers output which have the first bit of their measurement status set (measured and range check passed).

Each cyclic output topic of the driver is monitored via ROS topic diagnostics, which checks its frequency and timestamp and publishes on /diagnostics the current status. As soon as the driver is not receiving UDP packets with the expected frequency (see UDP interface documentation) or not updated timestamps, the corresponding topic diagnostics will produce an error.

In order that the driver can communicate to the sensor, one needs to configure the connection via the network parameters. The host IP, port and sensor IP, port need to be set to the settings configured in the sensor. The defaults are stated in the UDP interface documentation and in the parameters.

One can connect the used socket via the connect_sensor parameter to already filter for UDP packets from the sensor before the driver process receives them. This has the main benefit of being able to run multiple driver processes for different sensors in parallel for the same host port ([established-over-unconnected technique]).

The driver node is written as library in a modular fashion so that one can extend its functionality with custom converter classes. See design for an overview.

Subscribed topics

  • ~/ego_vehicle_data (off_highway_premium_radar_msgs/EgoVehicleData)
    • Optional, subscription is deactivated per default. Can be activated via send_ego_vehicle_data ROS parameter.
    • Expected cycle time: 10 ms
    • Contains current velocity with covariance and acceleration. Only forward speed, forward speed variance, forward acceleration and yaw rate are used by the driver / sensor.
    • Uses SI units, so yaw rate is in [rad/s], will be converted by driver into [deg/s] of UDP interface specification!
    • Is converted and sent to the sensor as UDP PDU.
    • Logs error if not all bytes of UDP PDU were sent.

Published topics

  • ~/locations (sensor_msgs/msg/PointCloud2)
    • Cycle time: 70 ms +/- 20 ms
    • Contains location measurement of radar as point cloud. Fields (all float for PCL filter compatibility, mapped Technical Customer Information signal name is specified in brackets):
      • x, y, z: Position of location
      • radial_distance (LocData_RadDist_i_j): Radial distance
      • radial_velocity (LocData_RadRelVel_i_j): Radial relative velocity
      • azimuth_angle (LocData_AziAng_i_j): Azimuth angle
      • elevation_angle (LocData_EleAng_i_j): Elevation angle
      • radar_cross_section (LocData_Rcs_i_j): Radar Cross Section
      • signal_noise_ratio (LocData_Snr_i_j): Strength of the received power
      • radial_distance_variance (LocData_RadDistVar_i_j): Variance of radial distance measured
      • radial_velocity_variance (LocData_RadRelVelVar_i_j): Variance of radial relative velocity measured
      • azimuth_angle_variance (LocData_VarAzi_i_j): Variance of azimuth angle measured
      • elevation_angle_variance (LocData_VarEle_i_j): Variance of elevation angle measured
      • radial_distance_velocity_covariance (LocData_DistVelCov_i_j): Covariance of radial distance and velocity measured
      • velocity_resolution_processing_probability (LocData_ProVelRes_i_j): Probability of velocity resolution processing
      • azimuth_angle_probability (LocData_ProAziAng_i_j): Probability for correct signal model

File truncated at 100 lines see the full file

CHANGELOG

Changelog for package off_highway_premium_radar

0.9.0 (2025-06-16)

  • Adapt expected frequencies of diagnostic messages
  • Adapt documentation of sensor state information
  • Adapt documentation of measurement program
  • Remove measurement cycle synchronization PDU Measurement cycle synchronization will be handled via diagnosis in series sensor.
  • Remove sensor DTC information PDU
  • Remove sensor feedback PDU
  • Remove sensor mode request PDU
  • Update README
  • Disable publishing of diagnosis for sensor feedback PDU PDU is not implemented yet in sensor software but will be available again in a future release.
  • Fix review findings
  • Adapt diagnostic messages
  • Switch to custom message for sensor mounting position This removes the dependency to tf2.
  • Remove Sensor Broadcast message
  • Remove signal range checks as this should be done in sensor and / or application software
  • Set IP addresses in default configuration to default values of series sensor
  • Replace PCL point struct with message modifier and iterator
  • Implement LGP interface changes for series sensor
    • Add sensor coating information (blindness)
    • Add additional misalignment indicator
    • Strip down sensor state information
  • Add partial unit tests for sensor state information and blindness indicators
  • Add premium radar driver for series sensor
  • Contributors: Gabriela Adriana Lapuste, Robin Petereit, Sarah Huber

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged off_highway_premium_radar at Robotics Stack Exchange