GithubHelp home page GithubHelp logo

ros-drivers / openni2_launch Goto Github PK

View Code? Open in Web Editor NEW
8.0 7.0 33.0 33 KB

Launch files to open an OpenNI2 device and load all nodelets to convert raw depth/RGB/IR streams to depth images, disparity images, and (registered) point clouds.

CMake 100.00%

openni2_launch's Introduction

openni2_launch's People

Contributors

130s avatar bit-pirate avatar forouher avatar hershwg avatar jkammerl avatar jonbinney avatar longjie avatar markpitchless avatar meyerj avatar mikeferguson avatar piyushk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

openni2_launch's Issues

`device_id` arg ignores device id?

I need to confirm by myself but I have a feeling as per subject, e.g. with an input device_id:=5@1, only "5" is taken as the bus number and "1" is ignored.

/camera/driver nodelet failing to load on Arm

Hello there,

I'm working on getting an Asus Xtion Pro Live node working on a Raspberry Pi 2 (Arm v7, debian-based linux), and running into some issues running openni2_launch. My install has borrowed a lot from this guide, but mostly been built from source since I'm not on ubuntu: https://dobots.nl/2014/05/05/asus-xtion-using-openni2-and-ros-on-udoo/

My OpenNI2 drivers built from https://github.com/occipital/OpenNI2.git do seem to be working since the SimpleRead example script is outputting correct depth data.

ROS Indigo is also built from source following the official instructions for the raspberry pi (http://wiki.ros.org/ROSberryPi/Installing%20ROS%20Indigo%20on%20Raspberry%20Pi), and seems to be working properly from what I can tell.

openni2_launch built successfully from source and seemed to find the libopenni2 package.

However, when launching the nodes with roslaunch openni2_launch openni2.launch the /camera/driver node fails to launch properly, and (as a result?) the other nodes fail to publish any data when viewed with rviz on a separate machine on the network, although the nodes do show up properly.

Here's what seems to be the applicable error message, though I'm not sure what to make of it or what next steps to take =/

[ERROR] [1424526846.647275751]: Failed to load nodelet [/camera/driver] of type [openni2_camera/OpenNI2DriverNodelet]: Failed to load library /opt/ros/indigo/lib//libopenni2_camera_nodelet.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libDummyDevice.so: cannot open shared object file: No such file or directory)
[FATAL] [1424526846.649868810]: Service call failed!

Any ideas of next steps I could take to work this out?

Here is more complete output from roslaunch openni2_launch openni2.launch:

NODES
  /camera/
    camera_nodelet_manager (nodelet/nodelet)
    depth_metric (nodelet/nodelet)
    depth_metric_rect (nodelet/nodelet)
    depth_points (nodelet/nodelet)
    depth_rectify_depth (nodelet/nodelet)
    driver (nodelet/nodelet)
    points_xyzrgb_sw_registered (nodelet/nodelet)
    rectify_color (nodelet/nodelet)
    register_depth_rgb (nodelet/nodelet)
  /
    camera_base_link (tf/static_transform_publisher)
    camera_base_link1 (tf/static_transform_publisher)
    camera_base_link2 (tf/static_transform_publisher)
    camera_base_link3 (tf/static_transform_publisher)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[camera/camera_nodelet_manager-1]: started with pid [10144]
process[camera/driver-2]: started with pid [10145]
process[camera/rectify_color-3]: started with pid [10179]
[ INFO] [1424526845.545409094]: Initializing nodelet with 4 worker threads.
process[camera/depth_rectify_depth-4]: started with pid [10234]
process[camera/depth_metric_rect-5]: started with pid [10266]
process[camera/depth_metric-6]: started with pid [10299]
process[camera/depth_points-7]: started with pid [10327]
process[camera/register_depth_rgb-8]: started with pid [10365]
process[camera/points_xyzrgb_sw_registered-9]: started with pid [10394]
[ERROR] [1424526846.647275751]: Failed to load nodelet [/camera/driver] of type [openni2_camera/OpenNI2DriverNodelet]: Failed to load library /opt/ros/indigo/lib//libopenni2_camera_nodelet.so. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library (Poco exception = libDummyDevice.so: cannot open shared object file: No such file or directory)
[FATAL] [1424526846.649868810]: Service call failed!
process[camera_base_link-10]: started with pid [10427]
process[camera_base_link1-11]: started with pid [10471]
[camera/driver-2] process has died [pid 10145, exit code 255, cmd /opt/ros/indigo/lib/nodelet/nodelet load openni2_camera/OpenNI2DriverNodelet camera_nodelet_manager ir:=ir rgb:=rgb depth:=depth depth_registered:=depth_registered rgb/image:=rgb/image_raw depth/image:=depth_registered/image_raw __name:=driver __log:=/home/pi/.ros/log/2f4a5d14-b9cf-11e4-8d84-000f55a8b941/camera-driver-2.log].
log file: /home/pi/.ros/log/2f4a5d14-b9cf-11e4-8d84-000f55a8b941/camera-driver-2*.log
process[camera_base_link2-12]: started with pid [10497]
process[camera_base_link3-13]: started with pid [10520]

No disparity data on /camera/depth/disparity with Asus Xtion Pro

When using an Asus Xtion Pro and the latest Indigio Debian packages under Ubuntu 14.04, after running

$ roslaunch openni2_launch openni2.launch

there is no disparity data on the topic /camera/depth/disparity as expected.

Even when explicitly setting the disparity_processing argument to true:

$ roslaunch openni2_launch openni2.launch disparity_processing:=true

there is no data on the topic /camera/depth/disparity as expected.

Openni2 does not handle oni files

I am not able to load a oni file (OpenNI record file) with openni2 in Indigo. In Hydro I was able to load it simply with: roslaunch openni2_launch openni2.launch device_id:=/path/to/your/file.oni
but in Indigo openni2 still tries to open the real device. Do you have the same problem?

Unable to stream SXGA raw color images

I am using openni2_launch for Xtion Pro Live camera.
I want to obtain high-resolution rgb images (SXGA).
after launch the camera, it is able to stream VGA (30hz) images (/camera/rgb/image_raw) smoothly, but after (using rqt_reconfigure) changing the color mode from VGA_30Hz to SXGA_30Hz, it is unable to stream the /camera/rgb/image_raw.

Anyone encountered the same problem previously? How shall I resolve this?
Thank you so much!

disabling hardware depth registration leads to error

When I deactivated depth registration via rqt_reconfigure, I get the following error:

[ERROR] [1379904975.770528069]: Depth image frame id [sensor_3d_depth_optical_frame] doesn't match RGB image frame id [sensor_3d_rgb_optical_frame]

Can anyone confirm this? What's different to the old version (openni1)?

machine arg removed from rgbd_launch for Indigo

As per discussion in ros-drivers/rgbd_launch#5, the machine arg has been removed from rgbd_launch for the upcoming Indigo release.

Machine tags have a scoped default attribute that should be used instead of setting a machine argument for every launch file individually. This way you can still launch a bunch of nodes on multiple remote machines quite easily:

<group>
  <machine name="foo" ... default="true" />

  <!-- all launch files get launch on machine foo -->

</group>
<group>
  <machine name="bar" ... default="true" />

  <!-- all launch files get launch on machine bar -->

</group>

I'll submit a PR with this issue report as well, but an issue report will have to be made with any upstream packages using openni_launch2.

FPS Limit?

Is there any way to limit of acquisition rate? I'm having computational resources limits and i believe if I limit the acquisition of the cameras (in my case 3) I won't have the CPU so busy.

parameter depth_registration not available

I just switched the default for one of the robots here from openni1 to 2 and I noticed that openni2_launch does not support a parameter for choosing hardware depth registration aka depth_registration.

Is there a specific reason why this is missing? I see that this parameter is available through dynamic reconfigure and it is turned on by default.

release

need a new release with #6 included

[ANNOUNCEMENT] Repository content moved

As discussed in ros-drivers/openni2_camera#55, all the content in ros-drivers/openni2_launch repository including source and tickets are moved to ros-drivers/openni2_camera repo.

This openni2_launch repo remains to maintain backward compatibility for those who use the content from the source. No new changes, tickets, pull requests should not be made unless necessary.


Just a worklog

  • Using github-issues-import, after successfully imported several issues/PRs only, the import stopped (I might have hit IQAndreas/github-issues-import#41) So I resumed importing ONLY open issues (by python3 gh-issues-import.py --open). As a result, there may or may not be closed issues that are not imported to the new repo.
  • Sorry for the noisy emails for those who are subscribing 2 repos.

xml file which has no Root Element. ...XML is malformed or missing

I am using ASUS Xtion Pro Live, I run
$ roslaunch openni2_launch openni2.launch camera:=camera depth_registration:=true load_driver:=true publish_tf:=true
It gives the following error:
[ERROR] [1427424821.913869849]: Skipping XML Document "/opt/ros/indigo/share/camera1394stereo/camera1394stereo_nodelet.xml" which had no Root Element. This likely means the XML is malformed or missing.

openni

Commit 8abbb3a breaks remote launching functionality for openni2 stack, specifically:

In my top level launch file, I declare machine definitions for two machines: 'robot' and 'remote'.

I want to do top level launch from remote machine, but have them run by default on robot, so declare the machine 'robot' as default, and assign specific nodes to machine 'remote'.

openni2 launch overrides this setting, running the camera nodes on the machine that calls the top level launch file.

Is there any reason why the localhost arg is passed down all the way to the rgbd_launch manager? Wouldn't everything run on localhost by default anyways, unless overridden by the user?

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.