isaac_ros_imu_bmi088
Source code on GitHub.
Overview
An IMU provides raw inertial data using an accelerometer and gyroscope as part of a perception for understanding of the robot and its environment.
The isaac_ros_imu_bmi088
driver provides support for BMI088 IMU that provides a high-performance 6-axis inertial sensor that allows for highly accurate measurement of orientation and detection of motion along three orthogonal axes.
Quickstart
Set Up Development Environment
Set up your development environment by following the instructions in getting started.
Clone
isaac_ros_common
under${ISAAC_ROS_WS}/src
.cd ${ISAAC_ROS_WS}/src && \ git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
(Optional) Install dependencies for any sensors you want to use by following the sensor-specific guides.
Note
We strongly recommend installing all sensor dependencies before starting any quickstarts. Some sensor dependencies require restarting the Isaac ROS Dev container during installation, which will interrupt the quickstart process.
Build isaac_ros_imu_bmi088
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Install the prebuilt Debian package:
sudo apt-get update
sudo apt-get install -y ros-humble-isaac-ros-imu-bmi088
Clone this repository under
${ISAAC_ROS_WS}/src
:cd ${ISAAC_ROS_WS}/src && \ git clone -b release-3.2 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_nova.git isaac_ros_nova
Launch the Docker container using the
run_dev.sh
script:cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Use
rosdep
to install the package’s dependencies:sudo apt-get update
rosdep update && rosdep install --from-paths ${ISAAC_ROS_WS}/src/isaac_ros_nova/isaac_ros_imu_bmi088 --ignore-src -y
Build the package from source:
cd ${ISAAC_ROS_WS} && \ colcon build --symlink-install --packages-up-to isaac_ros_imu_bmi088 --base-paths ${ISAAC_ROS_WS}/src/isaac_ros_nova/isaac_ros_imu_bmi088
Source the ROS workspace:
Note
Make sure to repeat this step in every terminal created inside the Docker container.
Because this package was built from source, the enclosing workspace must be sourced for ROS to be able to find the package’s contents.
source install/setup.bash
Run Launch File
Continuing inside the Docker container, launch the BMI088 driver:
ros2 launch isaac_ros_imu_bmi088 bmi088.launch.py
Visualize Results
Open a new terminal inside the Docker container:
cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh
Echo the IMU data:
ros2 topic echo /imu/imu
Troubleshooting
Isaac ROS Troubleshooting
For solutions to problems with Isaac ROS, see troubleshooting.
API
Usage
ros2 launch isaac_ros_imu_bmi088 bmi088.launch.py target_container:=<Target Container> namespace:=<Namespace> bmi_id:=<BMI ID> imu_frequency:=<IMU Frequency> nvpps_dev_file:=<NVPPS Dev Name> use_time_since_epoch:=<Use Time Since Epoch>
Bmi088Node
ROS Parameters
ROS Parameter |
Type |
Default |
Description |
---|---|---|---|
|
|
|
IMU(Accelerometer and Gyroscope) Update Frequency (Hz) |
|
|
|
ID selecting which BMI088 IMU to use |
ROS Topics Subscribed
ROS Topic |
Interface |
Description |
---|---|---|
|
Timestamp correlation data. |
ROS Topics Published
ROS Topic |
Interface |
Description |
---|---|---|
|
The IMU data from BMI088. |