ros-drivers / openni2_launch Goto Github PK
View Code? Open in Web Editor NEWLaunch 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.
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.
Is there any show stopper we know of?
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 image data on the topic /camera/rgb/image_color as expected but the color image is on the topic /camera/rgb/image_raw.
There's still a need for an openni2_launch package, but it should just be a thin wrapper around rgbd_launch, much like what @piyushk did for the openni_launch package: https://github.com/ros-drivers/openni_launch/blob/hydro-devel/launch/openni.launch
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
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.Thx !
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.
When I run roslaunch openni2_launch openni2.launch in ROS Hydro in Ubuntu 12.04 using an Asus Xtion Pro Live I get the following error:
'Depth image frame id [camera_depth_optical_frame] doesn't match RGB image frame id [camera_rgb_optical_frame]'
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.
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)?
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.
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]
If no args are given here:
https://github.com/ros-drivers/openni2_launch/blob/hydro-devel/launch/openni2.launch#L7-L9
the frame ids are /camera_rgb_optical_frame
and /camera_depth_optical_frame
, both starting with a "/".
Using that with tf2 throws an exception saying frame ids should not start with "/".
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!
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.
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.
need a new release with #6 included
openni2_camera
is done ros/rosdistro#11445 (comment), which I think makes all the dependency cleared for this package.
(Looks like it's one of the blockers for Turtlebot).
@mikeferguson If you don't mind I can help the release tasks. Just give me write access to this and release repos.
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?
All dependency seems to be met.
I'm willing to co-maintain this package. Looks like I'm in @ros-drivers/openni team but doesn't seem to have write access here (I do seem to have one at https://github.com/ros-gbp/openni2_launch). Can @mikaelarguedas or any admins take care of this?
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?
Currently it seems not-implemented..
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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.