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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

Package symbol

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange

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

imu_bno055 package from ros-imu-bno055 repo

imu_bno055

ROS Distro
github

Package Summary

Tags No category tags.
Version 2.0.0
License BSD
Build type CATKIN
Use RECOMMENDED

Repository Summary

Description ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)
Checkout URI https://github.com/dheera/ros-imu-bno055.git
VCS Type git
VCS Version master
Last Updated 2024-07-24
Dev Status UNKNOWN
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

I2C driver for a BNO055 IMU. Tested on Jetson TX2.

Additional Links

No additional links.

Maintainers

  • dheera

Authors

No additional authors.

ROS1/ROS2 C++ driver for Bosch BNO055 IMU (I2C)

This is a light weight, C++ ROS node for the BNO055 IMU that communicates via I2C and without any dependencies besides libi2c-dev. It is specifically targeted at using a BNO055 with NVIDIA Jetson (Xavier, Orin, etc.) platforms but should work with a Raspberry Pi 5, or in an earlier Raspberry Pi using the software I2C mode.

The BNO055 supports I2C and UART communication. This driver supports I2C only. If you are looking for a UART driver, see this driver by mdrwiega instead.

Where to buy

Installation

Install the prerequisites:

sudo apt install libi2c-dev

and then you are ready to drop this package into a catkin (ROS1) or colcon (ROS2) workspace.

How to run

rosrun imu_bno055 bno055_i2c_node        # for ROS1
ros2 run imu_bno055 bno055_i2c_node      # for ROS2

Parameters:

  • device – the path to the i2c device. Default is /dev/i2c-1. Use i2cdetect in the i2c-tools package to find out which bus your IMU is on.
  • address – the i2c address of the IMU. Default is 0x28.

Outputs topics:

  • /data (sensor_msgs/Imu) – fused IMU data
  • /raw (sensor_msgs/Imu) – raw accelerometer data
  • /mag (sensor_msgs/MagneticField) – raw magnetic field data
  • /temp (sensor_msgs/Temperature) – temperature data
  • /status (diagnostic_msgs/DiagnosticStatus) – a DiagnosticStatus object showing the current calibration, interrupt, system status of the IMU

Service calls:

  • /reset (std_srvs/Trigger) – resets the IMU
  • /calibrate (std_srvs/Trigger) – not yet implemented

Usage notes

Raspberry Pi

The Raspberry Pi <=4 hardware I2C does not support clock stretching. You have a few options:

NVIDIA Jetson platforms

You may need to add your user to the i2c group, e.g. sudo usermod -aG i2c nvidia. It should just work after that.

CHANGELOG
No CHANGELOG found.

Package Dependencies

System Dependencies

No direct system dependencies.

Dependant Packages

No known dependants.

Launch files

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged imu_bno055 at Robotics Stack Exchange