isaac_ros_owl

Source code on GitHub.

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nova/li_owl_ar0234cs.png/

Overview

A camera provides images using an electronic image sensor as part of perception for understanding of the robot and its environment.

The isaac_ros_owl driver provides support for the LI-AR0234CS-GMSL2-OWL camera. This provides an ultra wide-angle (>200 degree) field of view with global shutter HD (1920x1200) color imager. Global shutter enables light sensing in the imager for all pixels simultaneously, reducing motion artifacts caused by rolling-shutter imagers which capture a row of pixels at a time. Color is used for AI-based perception functions. The ultra wide-angle lens provides a hemispherical image useful for perception of the environment near the robot, and for teleoperation applications to provide the remote robot operator with visibility near the robot. LI-AR0234CS-GMSL2-OWL is jointly developed with Leopard Imaging and NVIDIA.

https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/main/resources/isaac_ros_docs/repositories_and_packages/isaac_ros_nova/li_owl_ar0234cs_visual.jpg/

Example image captured using LI-AR0234CS-GMSL2-OWL with long exposure.

Quickstart

Set Up Development Environment

  1. Set up your development environment by following the instructions in getting started.

  2. 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
    
  3. (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_owl

  1. Launch the Docker container using the run_dev.sh script:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.sh
    
  2. Install the prebuilt Debian package:

    sudo apt-get update
    
    sudo apt-get install -y ros-humble-isaac-ros-owl
    

Run Launch File

  1. Continuing inside the Docker container, launch the OWL driver:

    ros2 launch isaac_ros_owl owl.launch.py
    

Visualize Results

  1. Open a new terminal inside the Docker container:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
       ./scripts/run_dev.sh
    
  2. Use image_saver to save the output images:

    ros2 run image_view image_saver --ros-args -r image:=/fisheye_camera/left/image_raw -p filename_format:="image.jpg"
    

Troubleshooting

Isaac ROS Troubleshooting

For solutions to problems with Isaac ROS, see troubleshooting.

API

Usage

ros2 launch isaac_ros_owl owl.launch.py target_container:=<Target Container> namespace:=<Namespace> camera_id:=<System device numeral for the camera. For example select 0 for /dev/video0.> mode:=<Supported Resolution mode from the camera. For example, 0: 1920 x 1200> fsync_type:=<Specifies what kind of Frame Synchronization to use. Supported values are: 0 for internal, 1 for external.> nvpps_dev_file:=<NVPPS Dev Name> use_time_since_epoch:=<Use Time Since Epoch>

OwLNode

ROS Parameters

ROS Parameter

Type

Default

Description

camera_id

uint

0

The video device index E.g. /dev/video0

module_id

uint

0

The camera module index in the device tree when there is more than one of the same camera module connected

mode

uint

0

The resolution mode supported by the camera sensor and driver.

fsync_type

uint

1

Specifies what kind of Frame Synchronization to use, supported values are 0 for internal and 1 for external. For e3653 boards (carter 2.3) choose 0, for p3762 boards (carter 2.4) choose 1

camera_link_frame_name

string

camera

The frame name associated with the origin of the camera body.

optical_frame_name

string

left_cam

The frame name associated with the imager inside camera body (for monocular camera).

camera_info_url

string

N/A

Optional URL of a camera info .ini file to read intrinsic information.

ROS Topics Subscribed

ROS Topic

Interface

Description

correlated_timestamp

isaac_ros_nova_interfaces::msg::CorrelatedTimestamp

Timestamp correlation data.

ROS Topics Published

ROS Topic

Interface

Description

left/image_raw

sensor_msgs/Image

The OWL image.

left/camera_info

sensor_msgs/CameraInfo

The OWL camera info.