All Projects → prophesee-ai → prophesee_ros_wrapper

prophesee-ai / prophesee_ros_wrapper

Licence: Apache-2.0 license
ROS driver for Prophesee event-based sensors

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to prophesee ros wrapper

zhe
Lighter-than-air, peer-to-peer, bounded, non-blocking, non-threaded, etc., publish-subscribe networking
Stars: ✭ 44 (-30.16%)
Mutual labels:  low-latency, low-power
Micro-XRCE-DDS-Agent
Micro XRCE-DDS Agent respository
Stars: ✭ 58 (-7.94%)
Mutual labels:  low-latency, low-power
SPSC Queue
A highly optimized single producer single consumer message queue C++ template
Stars: ✭ 185 (+193.65%)
Mutual labels:  low-latency
changed-files
Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.
Stars: ✭ 733 (+1063.49%)
Mutual labels:  change-detection
salt iccv2017
SALT (iccv2017) based Video Denoising Codes, Matlab implementation
Stars: ✭ 26 (-58.73%)
Mutual labels:  low-latency
gochanges
**[ARCHIVED]** website changes tracker 🔍
Stars: ✭ 12 (-80.95%)
Mutual labels:  change-detection
monodepth
Python ROS depth estimation from RGB image based on code from the paper "High Quality Monocular Depth Estimation via Transfer Learning"
Stars: ✭ 41 (-34.92%)
Mutual labels:  machine-vision
Gcc Nmf
Real-time GCC-NMF Blind Speech Separation and Enhancement
Stars: ✭ 231 (+266.67%)
Mutual labels:  low-latency
dxram
A distributed in-memory key-value storage for billions of small objects.
Stars: ✭ 25 (-60.32%)
Mutual labels:  low-latency
LruClockCache
A low-latency LRU approximation cache in C++ using CLOCK second-chance algorithm. Multi level cache too. Up to 2.5 billion lookups per second.
Stars: ✭ 35 (-44.44%)
Mutual labels:  low-latency
low-latency-system
Everything about low latency system.
Stars: ✭ 48 (-23.81%)
Mutual labels:  low-latency
lt-mapper
A Modular Framework for LiDAR-based Lifelong Mapping
Stars: ✭ 301 (+377.78%)
Mutual labels:  change-detection
TCPD
The Turing Change Point Dataset - A collection of time series for the evaluation and development of change point detection algorithms
Stars: ✭ 91 (+44.44%)
Mutual labels:  change-detection
Directory
General information about the Open Markets Initiative
Stars: ✭ 31 (-50.79%)
Mutual labels:  low-latency
Nature-Inspired-Algorithms
Sample Code Collection of Nature-Inspired Computational Methods
Stars: ✭ 22 (-65.08%)
Mutual labels:  bio-inspired
mini-async-log-c
Mini async log C port. Now with C++ wrappers.
Stars: ✭ 69 (+9.52%)
Mutual labels:  low-latency
computer-vision-notebooks
👁️ An authorial set of fundamental Python recipes on Computer Vision and Digital Image Processing.
Stars: ✭ 89 (+41.27%)
Mutual labels:  machine-vision
imu 3dm gx4
Driver for Lord Corporation Microstrain 3DM GX4 25
Stars: ✭ 31 (-50.79%)
Mutual labels:  ros-driver
CDLab
Yet another repository for developing and benchmarking deep learning-based change detection methods.
Stars: ✭ 59 (-6.35%)
Mutual labels:  change-detection
vue-observable
IntersectionObserver, MutationObserver and PerformanceObserver in Vue.js
Stars: ✭ 24 (-61.9%)
Mutual labels:  change-detection

Prophesee ROS Wrapper

Event-based vision by Prophesee

This is a metapackage containing ROS wrapper and messages for Prophesee event-based sensors.

The aim of this metapackage is wrapping data access from event-based sensors using OpenEB software and publishing the event-based data to ROS.

The following packages and nodes are included:

  • prophesee_ros_driver - ROS wrapper, including
    • prophesee_ros_publisher - publishing data from Prophesee sensor to ROS topics
    • prophesee_ros_viewer - listening data from ROS topics and visualizing them on a screen
  • prophesee_event_msgs - Prophesee messages, including
    • Event - containing an event from a Prophesee camera (uint16 x, uint16 y, ros::Time ts, bool polarity)
    • EventArray - containing a buffer of events (Event[] events)

Supported Prophesee Evaluation Kit Cameras :

  • EVKV1 Gen3.0, Gen3.1, Gen4.0, Gen4.1
  • EVKV2 Gen4.0, Gen4.1
  • EVKV3 Gen3.1, Gen4.1
  • EVKV4 IMX636ES

Requirements

  • Ubuntu 20.04 or 18.04
  • ROS Noetic or ROS Melodic
  • OpenEB - starting from v2.2.0

Installation

First of all, retrieve and compile OpenEB.

If you want to use the ROS wrapper with live Prophesee cameras, then install Prophesee plugins as described in Prophesee documentation.

Then, compile the wrapper code:

  • Clone the source code to your catkin workspace (create a workspace, if needed)

        cd catkin_ws/src
        git clone https://github.com/prophesee-ai/prophesee_ros_wrapper.git
        cd ..
    
  • Compile

        catkin_make
    
  • Source the workspace

        source ~/catkin_ws/devel/setup.bash
    

Getting Started

Publishing data from a live camera and listening them

To publish data from Prophesee camera to ROS topics, run:

      roslaunch prophesee_ros_driver prophesee_publisher.launch

The following topics will be published:

  • /prophesee/camera/cd_events_buffer - buffer of CD (Change Detection) events
  • /prophesee/camera/camera_info - information about the camera

To listen data from ROS topics and visualize them:

      roslaunch prophesee_ros_driver prophesee_viewer.launch

Recording data from a live camera to rosbag

To record data from live camera to rosbag:

  • Start the publisher:
      roslaunch prophesee_ros_driver prophesee_publisher.launch
  • Start rosbag recording (choose the topics to record or record all available topics):
      rosbag record -a

Publishing data from a RAW file

To publish data from RAW file to ROS topics and view the data:

  • Update the prophesee_publisher.launch file to set the path to your RAW file (i.e. raw_file_to_read parameter)
      rosed prophesee_ros_driver prophesee_publisher.launch
  • Start the ROS core
      roscore
  • Start the viewer, at first to be sure to not miss any data:
      roslaunch prophesee_ros_driver prophesee_viewer.launch
  • Start the publisher:
      roslaunch prophesee_ros_driver prophesee_publisher.launch

At the end of the RAW file, the publisher will stop on its own, but the viewer won't stop, so it's up to you to quit the viewer.

Recording data from a RAW file to rosbag

To record data from RAW file to rosbag:

  • Update the prophesee_publisher.launch file to set the path to your RAW file (in raw_file_to_read parameter)
      rosed prophesee_ros_driver prophesee_publisher.launch
  • Start the ROS core
      roscore
  • Start rosbag recording (choose the topics to record or record all available topics):
      rosbag record -a
  • Start the publisher:
      roslaunch prophesee_ros_driver prophesee_publisher.launch

Contact

The code is open to contributions, thus do not hesitate to propose pull requests or create/fix bug reports. In case of any issue, please add it here on GitHub. For any other information contact us.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].