Giter Site home page Giter Site logo

zhao9122 / zed-ros-wrapper Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stereolabs/zed-ros-wrapper

0.0 0.0 0.0 11.15 MB

ROS wrapper for the ZED SDK

Home Page: https://www.stereolabs.com/docs/ros/

License: MIT License

CMake 2.51% C++ 95.61% Python 1.77% Shell 0.11%

zed-ros-wrapper's Introduction

Stereolabs ZED Camera - ROS Noetic Ninjemis Integration

This package lets you use the ZED stereo camera with ROS. It outputs the camera left and right images, depth map, point cloud, pose information and supports the use of multiple ZED cameras.

More information

Note: The zed_interfaces package has been removed from this repository and moved to its own zed-ros-interfaces repository for allowing better integration of the ZED Wrapper on remote ground stations that do not require the full package to be installed. To update your repository please follow the new update instructions. For more information please read issue #750.

Getting started

Prerequisites

or

Build the repository

The zed_ros_wrapper is a catkin package. It depends on the following ROS packages:

  • nav_msgs
  • tf2_geometry_msgs
  • message_runtime
  • catkin
  • roscpp
  • stereo_msgs
  • rosconsole
  • robot_state_publisher
  • urdf
  • sensor_msgs
  • image_transport
  • roslint
  • diagnostic_updater
  • dynamic_reconfigure
  • tf2_ros
  • message_generation
  • nodelet

Open a terminal, clone the repository, update the dependencies and build the packages:

$ cd ~/catkin_ws/src
$ git clone --recursive https://github.com/stereolabs/zed-ros-wrapper.git
$ cd ../
$ rosdep install --from-paths src --ignore-src -r -y
$ catkin_make -DCMAKE_BUILD_TYPE=Release
$ source ./devel/setup.bash

Update the local repository

To update the repository to the latest release you must use the following command to retrieve the latest commits of zed-ros-wrapper and of all the submodules:

$ git checkout master # if you are not on the main branch  
$ git pull --recurse-submodules # update recursively all the submodules

Remember to always clean the cache of your catkin workspace before compiling with the catkin_make command to be sure that everything will work as expected:

$ roscd
$ cd ..
$ rm -rf build
$ rm -rf devel
$ catkin_make -DCMAKE_BUILD_TYPE=Release

Run the ZED wrapper

To launch the ZED node use

ZED camera:

$ roslaunch zed_wrapper zed.launch

ZED Mini camera:

$ roslaunch zed_wrapper zedm.launch

ZED2 camera:

$ roslaunch zed_wrapper zed2.launch

ZED2i camera:

$ roslaunch zed_wrapper zed2i.launch    

To select the ZED from its serial number:

 $ roslaunch zed_wrapper zed.launch serial_number:=1010 #replace 1010 with the actual SN

Rviz visualization

Example launch files to start a pre-configured Rviz environment to visualize the data of ZED, ZED Mini and ZED 2 cameras are provided in the zed-ros-examples repository

SVO recording

SVO recording can be started and stopped while the ZED node is running using the service start_svo_recording and the service stop_svo_recording. More information

Object Detection

The SDK v3.0 introduces the Object Detection and Tracking module. The Object Detection module is available only with a ZED 2 camera.

The Object Detection can be enabled automatically when the node start setting the parameter object_detection/od_enabled to true in the file zed2.yaml.

The Object Detection can be enabled/disabled manually calling the services start_object_detection and stop_object_detection.

Spatial Mapping

The Spatial Mapping can be enabled automatically when the node start setting the parameter mapping/mapping_enabled to true in the file common.yaml. The Spatial Mapping can be enabled/disabled manually calling the services start_3d_mapping and stop_3d_mapping.

Diagnostic

The ZED node publishes diagnostic information that can be used by the robotic system using a diagnostic_aggregator node.

With the rqt plugin Runtime monitor, it is possible to retrieve all the diagnostic information, checking that the node is working as expected.

2D mode

For robots moving on a planar surface it is possible to activate the "2D mode" (parameter tracking/two_d_mode in common.yaml). The value of the coordinate Z for odometry and pose will have a fixed value (parameter tracking/fixed_z_value in common.yaml). Roll and pitch and relative velocities will be fixed to zero.

Examples and Tutorials

Examples and tutorials are provided to better understand how to use the ZED wrapper and how to integrate it in the ROS framework. See the zed-ros-examples repository

Examples

Alongside the wrapper itself and the Rviz display, a few examples are provided to interface the ZED with other ROS packages :

Tutorials

A few tutorials are provided to understand how to use the ZED node in the ROS environment :

zed-ros-wrapper's People

Contributors

myzhar avatar adujardin avatar nesnes avatar rbonghi avatar eric-wieser avatar vincentrou avatar furushchev avatar frk2 avatar civerachb-cpr avatar kjaget avatar affonso-gui avatar gsorf avatar tongtybj avatar v-do avatar actions-user avatar wjzhou avatar pvishal avatar tonybaltovski avatar simonenardi avatar kilonovemberdelta avatar fujimo-t avatar christofdubs avatar bjsowa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.