Giter Site home page Giter Site logo

zyadan / phoxi_camera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from photoneo/phoxi_camera

0.0 0.0 0.0 4.26 MB

ROS Package for PhoXi Scanner/Camera. If you like us, STAR US! :P

License: MIT License

Shell 0.02% C++ 76.01% Python 21.06% CMake 2.91%

phoxi_camera's Introduction

phoxi_camera

This package enables interfacing Photoneo PhoXi 3D Scanner/Camera from ROS.

Installation

phoxi_camera package depends on:

Installation steps

  • Download latest PhoXi Control
  • Add rights to execute downloaded file
sudo chmod +x PhotoneoPhoXiControlInstaller-xxxxx.run
  • Install downloaded file
sudo ./PhotoneoPhoXiControlInstaller-xxxxx.run
  • clone phoxi_camera repository to your ROS workspace (usually catkin_ws/src)
cd catkin_ws/src
git clone https://github.com/photoneo/phoxi_camera
  • Update rosdep
rosdep update
  • Change working directory to your root ROS workspace folder (usually catkin_ws )
cd catkin_ws
  • Install all dependencies needed by phoxi_camera package
rosdep install --from-paths src --ignore-src -r -y

Parameters

~/scanner_id                - Default PhoXi 3D Scannet to connect after startup. Default value: "InstalledExamples-PhoXi-example"
~/frame_id:                 - Frame id to which captured data relies to. Default value: "PhoXi3Dscanner_sensor"
~/latch_topics              - Default value: false
~/topic_queue_size          - Default value: 1
~/init_from_config          - Default value: false # if true all following parameters will be initialized from this config otherwise from PhoXi control application.
~/organized_cloud           - Default value: true  # if true organized point cloud will be published, other otherwise unorganized

## All following parameters are for PhoXi Control and they can override all dynamic_reconfigure parameters in cfg file.
#  This values are set to scanner after successful connection only if init_from_config parameter is true.
~/resolution                - Default value: 1  # 0 = Low, 1 = High
~/scan_multiplier           - Default value: 1
~/confidence                - Default value: 3.0
~/send_confidence_map       - Default value: true
~/send_depth_map            - Default value: true
~/send_normal_map           - Default value: true
~/send_point_cloud          - Default value: true
~/send_texture              - Default value: true
~/shutter_multiplier        - Default value: 1
~/timeout                   - Default value: -3    # in ms, special parameters: 0 = Zero, -1 = Infinity, -2 = Last stored, -3 = Default
~/trigger_mode              - Default value: 1     # 0 = Free run, 1 = Software

## Setting available only for PhoXi Control 1.2 and higher. Also for dynamic reconfigure
~/coordinate_space        - Default value: 1 # 1 = Camera, 2 =  Mounting, 3 = Marker, 4 = Robot, 5 = Custom
~/ambient_light_suppression - Default value: false  # Ambient light suppression samples the scene multiple times during one pattern exposure.
                                  # This multiple samples are then used to suppress the effect of ambient illumination by eliminating most of the shot noise caused by longer exposure of ambient light.
                                  # Enabling the mode will set Shutter multiplier to fixed value of 2.
~/single_pattern_exposure   - Default value: 20       # The time for projection of one pattern. Use only provided values form PhoXi control settings.
~/camera_only_mode          - Default value: false    # With this mode you can use the scanner internal camera to capture only 2D images of the scene. 

Available ROS services

For input and output parameters of each service please see coresponding service file in srv folder.

~/V2/is_acquiring
~/V2/is_connected
~/V2/start_acquisition
~/V2/stop_acquisition
~/connect_camera
~/disconnect_camera
~/get_device_list
~/get_frame
~/get_hardware_indentification
~/get_supported_capturing_modes
~/is_acquiring
~/is_connected
~/save_frame
~/set_parameters
~/start_acquisition
~/stop_acquisition
~/trigger_image

Services available only for PhoXi Control API version 1.2 and higher

~/V2/save_last_frame
~/V2/set_coordinate_space
~/V2/set_transformation

Available ROS topics

~/confidence_map
~/depth_map
~/normal_map
~/parameter_updates
~/pointcloud
~/rgb_texture
~/texture

Test PhoXi ROS interface

Rostests are used to test ROS node interfaces. These tests will try to connect and check if there are topics, services, and some basic parameters.

In config file tests/interfaces/config.py set camera ID. You can set up real scanner or file camera. For more information read tests/README.md

Launch test for phoxi_camera node interfaces:

rostest -t phoxi_camera phoxi_camera_interfaces.test 

Test PhoXi ROS interface without real 3D scanner

It is possible to test PhoXi ROS interface without real hardware.

  • Start PhoXiControl application
  • Launch simple test exampleroslaunch phoxi_camera phoxi_camera_test.launch
  • Application should connect to the camera and start aquiring example pointclouds
  • Notice that pointcloud data are also being published on ROS topics
  • Use available ROS services to control the dummy camera.

Test PhoXi ROS interface with real device

  • Start PhoXiControl application
  • Connect to your device
  • Run Interface node rosrun phoxi_camera phoxi_camera
  • Use available ROS services to control your 3D scanner

See phoxi_camera ROS Wiki page for further details.

phoxi_camera's People

Contributors

matejsladek avatar matejbartosovic avatar jakubhazik avatar najlepsiwebdesigner avatar simongrac avatar 3zuli avatar canikrichard avatar phototeeborchoka avatar marcelsvec avatar patrikbakyta avatar vladomeciak avatar carlosmccosta avatar durovsky avatar themladypan avatar jzizka 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.