Skip to content

Latest commit

 

History

History
70 lines (50 loc) · 3.01 KB

README.md

File metadata and controls

70 lines (50 loc) · 3.01 KB

GSCam (support for ROS 2 Eloquent Elusor)

This ROS2 package based on GSCam supports the Jetbot Pro robot with ROS 2 Eloquent Elusor, the last possible version for Ubuntu 18.04, officially supported by NVIDIA Jetson Nano 4GB.

GStreamer Library Support

GSCam supports the following versions of ROS2 and GStreamer:

ROS2 version Ubuntu version GStreamer version
Eloquent 18.04 1.00

Dependencies

These dependencies will be picked up by rosdep and are required to compile:

  • libgstreamer1.0-dev
  • libgstreamer-plugins-base1.0-dev

These additional packages are often useful:

  • gstreamer1.0-tools
  • libgstreamer-plugins-good1.0-dev

Ubuntu install:

sudo apt-get install gstreamer1.0-tools libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-good1.0-dev

License

GSCam for ROS2 is licensed under the Apache 2 license.

Note that GStreamer is licensed under the LGPL, and GStreamer plugins have their own license requirements.

API

Nodes

  • gscam

Topics

  • camera/image_raw
  • camera/camera_info

Services

  • camera/set_camera_info

Parameters

  • camera_name: The name of the camera (corrsponding to the camera info)
  • camera_info_url: A url (file://path/to/file, package://pkg_name/path/to/file) to the camera calibration file
  • gscam_config: The GStreamer configuration string
  • frame_id: The tf2 frame ID
  • reopen_on_eof: Re-open the stream if it ends (EOF)
  • sync_sink: Synchronize the app sink (sometimes setting this to false can resolve problems with sub-par framerates)
  • use_gst_timestamps: Use the GStreamer buffer timestamps for the image message header timestamps (setting this to false results in header timestamps being the time that the image buffer transfer is completed)
  • image_encoding: image encoding ("rgb8", "mono8", "yuv422", "jpeg")
  • use_sensor_data_qos: The flag to use sensor data qos for camera topic(image, camera_info)

Examples

See example launch files and configs in the examples directory.

These examples have been tested and work well: