-
 

Package Summary

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

Repository Summary

Checkout URI https://github.com/bosch-engineering/off_highway_sensor_drivers.git
VCS Type git
VCS Version humble-devel
Last Updated 2024-12-04
Dev Status MAINTAINED
CI status No Continuous Integration
Released RELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Package Description

The off_highway_radar package

Additional Links

No additional links.

Maintainers

  • Robin Petereit

Authors

  • Robin Petereit
  • Marcus Huenerbein

off_highway_radar

The off_highway_radar package provides a receiver node to receive and decode CAN frames of the Bosch Radar Off-Highway into ROS messages - it implements an off_highway_can::Receiver. Furthermore, the package provides a sender node to encode and send needed radar input data as CAN frames - an implementation of an off_highway_can::Sender.

Further information on the Bosch Radar Off-Highway, it’s inputs, outputs and how they can be interpreted can be found in the corresponding Technical Customer Documentation (TCD) of the sensor system.

Supported devices

Device name Part Number Description
Radar Off-Highway - F037.000.127 (series - from software version F037SW0157V06.0001 )
- F037.B00.575-04 (sample - from software version F037SW0116V05.0004)
- Radar sensor with up to 40 objects (filtered & unfiltered)
- Object output on automotive CAN is supported

Further information: Radar systems for off-highway applications

Contact: off-highway.beg@bosch.com

Nodes

Receiver

The radar receiver decodes CAN frames into an object list, manages the current list and publishes it cyclically.

All received messages are checked for their cyclic redundancy check (CRC), rolling message counter and age (message not older than parameter allowed_age). If any of these checks do not succeed the received message is not further processed and skipped.

The relevant radar CAN frame IDs to process are specified by the object_base_id and info_id parameters. They should correspond to the first object frame ID and the info frame ID of the radar CAN node and need to be adapted for the specific bus setup. If multiple radar sensors need to be decoded on the same bus just launch multiple receiver nodes with individual *_id parameters.

The object list is published as a list of radar objects or as a point cloud and contains up to 40 objects (sensor limit). Only valid objects in the list are published (valid flag set).

The radar zone data is not processed in this version.

If the receiver node does not receive anything within a configured period (parameter timeout), it will publish a diagnostic error on /diagnostics. Also, the sensor information CAN frame gets published and is checked for the diagnostic status of the radar. On error, the node will publish a diagnostic error on /diagnostics.

Subscribed Topics

Published Topics

  • objects (off_highway_radar_msgs/Objects)
    • Update Rate: configurable with publish_frequency
    • Contains current object list of radar as custom message containing the same information as each object’s CAN frame. Mapping to the respective CAN frame is done via the id field.
  • objects_pcl (sensor_msgs/PointCloud2)
    • Update Rate: configurable with publish_frequency
    • Contains current object list of radar as point cloud.
  • info (off_highway_radar_msgs/Information)
    • Update Rate: On each sensor information CAN frame
    • Contains current sensor information message containing the same information as the respective CAN frame.
  • /diagnostics (diagnostic_msgs/DiagnosticArray)
    • Update Rate: On each sensor information CAN frame or if receiver timed out periodically with timeout period
    • Diagnostic status contains statuses from the latest received sensor information and timeout status.

Parameters

See receiver_params.yaml.

Sender

The radar sender listens for ROS twist messages as input, encodes them as CAN frames and publishes those as ROS messages.

Both radar input CAN signals only have a limited range:

  • Ego velocity signal: [-81.92 m/s, 81.9175 m/s]
  • Yaw rate signal: [-163.84 deg/s, 163.83 deg/s]

Input ROS messages with values outside of these ranges are discarded by the sender and not encoded / published. Furthermore, if the ROS twist message is too old (parameter allowed_age), it is discarded, too.

The relevant radar CAN frame IDs to publish the forward velocity and yaw rate are specified by the ego_velocity_id and yaw_rate_id parameters. These parameters need to correspond to the ego velocity and yaw rate CAN frame ID for the specific bus setup. If multiple radar systems are connected to the same bus, a single radar sender is sufficient as long as these radar systems expect the ego velocity and yaw rate CAN messages on the same IDs (in contrast to multiple receivers).

If the sender node does not receive anything valid within a configured period (parameter timeout), it will publish a diagnostic error on /diagnostics.

Subscribed Topics

Published Topics

Parameters

See sender_params.yaml.

Launch files

  • receiver_launch: Starts the receiver with the given parameters.
    • Arguments:
      • params: Path to ROS YAML parameter file to load for receiver. If not provided, default parameters from this package are loaded.
  • sender_launch: Starts the sender with the given parameters.
    • Arguments:
      • params: Path to ROS YAML parameter file to load for sender. If not provided, default parameters from this package are loaded.
CHANGELOG

Changelog for package off_highway_radar

0.7.0 (2024-12-04)

  • Do not force warnings as errors to fix rolling (#11)
  • Contributors: Tim Clephas

0.6.3 (2024-07-09)

  • Add missing dependency on PCL headers (#9) When I try to build this package on jazzy with rosdep, the PCL headers are missing. This package uses [find_package(PCL)]{.title-ref} and includes it in the headers. Therefore I think it would be best to add it to the [build_depend]{.title-ref} and [build_export_depend]{.title-ref} tags of the [package.xml]{.title-ref} files. In the buildfarm this is technically not needed because the PCL headers are a [build_export_depend]{.title-ref} of [pcl_conversions]{.title-ref}, but rosdep ignores this dependency so it misses the PCL headers.
  • Contributors: Ramon Wijnands

0.6.2 (2024-06-13)

0.6.1 (2024-06-04)

0.6.0 (2024-05-14)

  • Switch from deprecated signature to const shared_ptr reference while still supporting efficient intra-process communication See https://github.com/ros2/rclcpp/pull/1598.
  • Convert radar driver from node to component
  • Add launch argument for parameters and unify launch file names
  • Contributors: Robin Petereit, Sarah Huber

0.5.1 (2024-03-27)

Wiki Tutorials

This package does not provide any links to tutorials in it's rosindex metadata. You can check on the ROS Wiki Tutorials page for the package.

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_radar at Robotics Stack Exchange

No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.