Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 1.2.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 | jazzy-devel |
| Last Updated | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
1.2.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 1.2.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 | rolling-devel |
| Last Updated | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
1.2.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged off_highway_mm7p10 at Robotics Stack Exchange
Package Summary
| Version | 0.11.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 | 2026-01-26 |
| Dev Status | MAINTAINED |
| Released | RELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Gabriela-Adriana Lapuste
Authors
- Gabriela-Adriana Lapuste
off_highway_mm7p10
The off_highway_mm7p10 package provides a receiver node to receive and decode CAN frames from the Bosch
MM7.10 Inertial Measurement Unit (IMU) into ROS messages - it implements an off_highway_can::Receiver.
Further information on the Bosch MM7.10 IMU, its inputs, outputs and how they can be interpreted can be found on the Bosch Rexroth Homepage.
Supported devices
| Device name | Part Number | Description |
|---|---|---|
| MM7.10 IMU | R 917 013 362 | - 6-axis IMU (3-axis gyroscope, 3-axis accelerometer) - IMU data output on automotive CAN is supported |
Contact: off-highway.beg@bosch.com
Nodes
Receiver
The MM7.10 receiver decodes CAN frames into IMU data and publishes it as ROS sensor messages.
The MM7.10 sends its data in three synchronized CAN frames (TX1, TX2, TX3) containing:
- TX1 (Z_AY): Yaw rate, lateral acceleration (Y), temperature, status bits
- TX2 (X_AX): Roll rate, longitudinal acceleration (X), status bits
- TX3 (Y_AZ): Pitch rate, vertical acceleration (Z), hardware index, status bits
All three frames must be received with matching message counters before the data is published. If frames are missed or message counters don’t match, a warning is logged and the data is not published.
The receiver validates message counters across the three frames to ensure synchronization. Messages with all-zero IMU values are filtered out as invalid.
The IMU data is published as a standard sensor_msgs/Imu message. The orientation field is not
populated (covariance set to -1), as the MM7.10 only provides angular velocities and linear
accelerations, not orientation estimates.
Additionally, diagnostic information including sensor status bits and temperature is published as an
Information message and monitored for errors. If any status bits indicate an error (IMU not
available, signal failure, or initialization in progress) or if the temperature is invalid, a
diagnostic error is published on /diagnostics.
If the receiver node does not receive any CAN messages within the configured timeout period, the watchdog will detect this
and publish a diagnostic error on /diagnostics. The watchdog checks for timeouts at the frequency
specified by watchdog_frequency (default 100 Hz).
Subscribed Topics
-
from_can_bus
(
can_msgs/Frame)- MM7.10 CAN frames to decode
Published Topics
-
imu
(
sensor_msgs/Imu)- Update Rate: On each complete set of synchronized CAN frames (typically 100 Hz), but only if IMU data is not all zeros
- Contains angular velocity (rad/s) and linear acceleration (m/s²) data from the MM7.10
- Orientation field is not used (covariance set to -1)
- Roll rate sign is inverted to match ROS coordinate system conventions
-
info
(
off_highway_mm7p10_msgs/Information)- Update Rate: On each complete set of synchronized CAN frames (when IMU is published)
- Contains current sensor status information including status bits for all channels (yaw, roll, pitch rates and accelerations) and temperature data
-
/diagnostics
(
diagnostic_msgs/DiagnosticArray)- Update Rate: On each complete set of synchronized CAN frames or when watchdog detects timeout
- Diagnostic status contains:
- Timeout status (monitored by watchdog timer at
watchdog_frequency) - Sensor status bits from all six channels (yaw, roll, pitch rates and X, Y, Z accelerations)
- Temperature validity status
- Timeout status (monitored by watchdog timer at
Parameters
See receiver_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.
- Arguments:
Changelog for package off_highway_mm7p10
0.11.0 (2026-01-26)
- Add ROS2 Bosch MM7P10 inertial measurement unit sensor driver
- Contributors: Gabriela Adriana Lapuste
Package Dependencies
| Deps | Name |
|---|---|
| ament_cmake | |
| ament_lint_auto | |
| tf2_geometry_msgs | |
| ament_lint_common | |
| ament_cmake_ros | |
| rclcpp | |
| rclcpp_components | |
| sensor_msgs | |
| can_msgs | |
| tf2 | |
| off_highway_can | |
| off_highway_mm7p10_msgs |