Closed PeterBowman closed 6 years ago
Yes, this is definitively something we'll have to cope with. No libs for now, just a couple of programs. Transition should not be difficult.
Raising priority. According to https://github.com/robotology/yarp/projects/6, we should solve this before 2018-05-12.
I'd add a colorFrame.setPixelCode(VOCAB_PIXEL_RGB);
immediately after https://github.com/roboticslab-uc3m/vision/blob/0099fd11d24a0ee8adf4c95c94d6c6059b9d2b42/programs/colorRegionDetection/SegmentorThread.cpp#L143
Did that, didn't help.
Edit: I'll try the copy
thing, although it looks like a suboptimal solution.
Fixed by applying a small delay prior to starting the segmentor thread: https://github.com/roboticslab-uc3m/vision/commit/0417b4055d7ae7c4e1db702189955f0f1465ab92. Unfortunately, IRGBDSensor::getSensorStatus
is of no help here, it keeps returning RGBD_SENSOR_OK_IN_USE
even if the first frames have invalid pixel codes.
This might deserve an upstream issue regarding the somewhat draconian std::exit
call, which was introduced back in 2006.
I'd also look into why status is returning OK. It's probably referring to the yarp connection status, but it should definitely check if correctly formed frames are available.
It's probably referring to the yarp connection status
Nope, it's strictly bound to the device layer, not to the network wrapper. All it does is check device and stream readiness for publishing data (even if malformed): ref.
Hack 0417b4055d7ae7c4e1db702189955f0f1465ab92 is pretty ugly/dangerous. Could we add an upstream
label here?
Addendum: review and update .ini files across robot repos (<robot>-configuration-files).
Also: review WIP branches (e.g. ROSInputTopics) per https://github.com/roboticslab-uc3m/vision/issues/70#issuecomment-383098270.
Note: installation of depthCamera is broken at YARP 2.3.72 (and probably at 2.3.70.x, too). Did work at 2.3.68.x, fixed upstream at 2.3.72.1 (unreleased, see https://github.com/robotology/yarp/pull/1633). Workaround: do cmake . -DYARP_HAS_OpenNI2=ON
and configure again.
Note: installation of depthCamera is broken at YARP 2.3.72 (and probably at 2.3.70.x, too). Did work at 2.3.68.x, fixed upstream at 2.3.72.1 (unreleased, see robotology/yarp#1633). Workaround: do cmake . -DYARP_HAS_OpenNI2=ON and configure again.
Added comment at https://github.com/roboticslab-uc3m/installation-guides/commit/b355edbf73964cc045e79e1a22673e000404c0ff.
YARP devel has discontinued support for several devices, affecting Kinect/OpenNI2 devices currently used in this repo. This means that the
yarp/dev/IOpenNI2DeviceDriver.h
header (as well asyarp/dev/IKinectDeviceDriver.h
, by the way) is no longer installed: YARP v3.0.0 Release Notes (unreleased).There is a replacement, though. Client apps must switch to the
yarp::dev::RGBDSensorClient
device and theyarp::dev::IRGBDSensor
interface, which should be barely invasive on our end (the vision repo). Real camera devices are now wrapped byyarp::dev::depthCameraDriver
(goes by the .ini name of depthCamera).