- Updates for new libopenni-dev and libopenni-sensor-primesense-dev dependencies.
(0.3.3 was mistakenly a Fuerte alpha release.)
All nodelets (other than convert_metric) are generalized to support floating point as well as OpenNI uint8 depth images.
- Disparity nodelet ROS API has changed:
Subscribes to left/image_rect, right/camera_info instead of image_rect_raw, camera_info.
Publishes to left/disparity.
New parameters min_range, max_range, and delta_d to set device-specific fields of stereo_msgs/DisparityImage.
- Baseline is no longer hard-coded, but pulled from the right camera info.
New driver publishes projector/camera_info, a fake calibration for the IR projector. Identical to depth/camera_info, but with the baseline encoded in the P matrix. The depth and projector infos can be used as a left/right pair by stereo processing nodes.
The focus of this release is improved stability of the new OpenNI driver (used by the openni_launch scripts). Early user testing indicates that the new driver is now just as stable as the old one. If you are building from source, make sure to also update image_pipeline (to 1.6.4) and nodelet_core (to 1.6.2).
- Now builds without SSE flags.
- Fixed race condition on initializing the OpenNI wrapper.
Old driver nodelet (openni_camera/OpenNINodelet):
Set correct encodings for raw depth and YUV422 color images. <<Ticket(ros-pkg 5143)>>
New driver nodelet (openni_camera/driver):
- Fixed major race condition on initialization that could cause the driver nodelet to fail to begin streaming data with subscribers present.
- Fixed crash on shutdown when unable to connect to a device.
- Fixed race conditions with OpenNI wrapper threads on shutdown.
New reconfigurable parameter data_skip allows throttling data in the driver. <<Ticket(ros-pkg 5272)>>
- No longer performs debayering. Only publishes raw images.
Start streaming on subscription to camera_info topics. Fixes some buggy behavior, e.g. subscribing to depth_registered/image_rect alone could get no images, because its inputs include rgb/camera_info but not any RGB image topics.
- If all RGB subscribers disconnect, will start IR stream if it's requested.
- Only advertise topics the device supports.
Performs device setup in a new thread, so onInit() doesn't block for a long time.
- Suppress some logging output from loading camera calibrations.
- Suppress sync warnings when subscribing to registered depth topics with OpenNI registration disabled.
Added stress test scripts to determine failure rate of driver node and openni.launch.
Disables bond topics by default. Can enable with argument bond:=true.
Launches an image_proc/debayer nodelet to process rgb/image_raw.
Added nodelet as direct dependency so rosbuild_add_roslaunch_check works when including from this package. <<Ticket(ros-pkg 5268)>>
For all nodelets, fixed race condition between onInit() and connectCb() that could cause failure to subscribe to the input topics.
Restored Diamondback interface of openni_camera side-by-side with the new one. The new interface has many more features and is the focus of further development, but is not quite stable enough yet for all users. This preserves backwards compatibility with Diamondback.
With this release, the experimental driver and processing nodelets (openni_camera_unstable in Diamondback) become the official ROS interface to OpenNI devices. openni_camera_unstable no longer exists in Electric (alpha), but is split up as follows:
The new minimal driver node(let) replaces the old all-in-one node(let) in openni_camera.
New package depth_image_proc contains all of the new nodelets for processing depth images, namely:
- Convert depth image to disparity image
- Convert depth image to XYZ point cloud
- Convert depth image and registered RGB image to XYZRGB point cloud
- Register a depth image to an arbitrary camera frame
New package openni_launch contains launch files for loading the OpenNI driver and processing nodelets as a coherent computation graph. This is the entry point for users of OpenNI devices.
Multi-user support patch from davidlu <<Ticket(ros-pkg 4954)>>
Mirror mode fix from miguelprada <<Ticket(ros-pkg 4995)>>
Skeleton frames are now rotated to coincide with the pointcloud. Thanks miguelprada <<Ticket(ros-pkg 4994)>>
ROS_INFO patch from miguelprada <<Ticket(ros-pkg 4999)>>
Removed Image generator node in tracker config <<Ticket(ros-pkg 5027)>>. Thanks miguelprada.