piyushk / freenect_stack Goto Github PK
View Code? Open in Web Editor NEWlibfreenect based ROS driver
libfreenect based ROS driver
freenect_stack needs to be catkinized and released through bloom.
Replace symbolic links from build directory to copy calls. The build directory is not included in the packaged deb.
Rollout v0.0.3 after this issue has been fixed.
Need to add QVGA support internally by modifying the image/camera_info internally, or using one the image_proc nodelets
This can be repeatedly produced on laptops running Ubuntu 12.04 Precise with freenect_stack-0.1.1 over USB 3.0.
Whenever the laptop is booted up, the first run of the freenect driver fails. Subsequent runs work as expected. This might be an upstream issue.
I use this freenect_stack in my Raspberry Pi2, but because of the low performance of USB speed, in some cases this program was crashed, so there's my advice:
old:
if (freenect_process_events_timeout(driver_, &t) < 0) throw std::runtime_error("freenect_process_events error");
new:
if (freenect_process_events_timeout(driver_, &t) < 0 && 3 == flag) { throw std::runtime_error("freenect_process_events error"); } else { flag++; }
I am getting the following error when trying to run "roslaunch freenect_launch freenect.launch":
[ INFO] [1353341052.550691073]: Number devices connected: 1
[ INFO] [1353341052.551223916]: 1. device on bus 000:00 is a Xbox NUI Camera (2ae) from Microsoft (45e) with serial id 'A00362901041044A'
[ INFO] [1353341052.552628239]: Searching for device with index = 1
[ INFO] [1353341052.557102305]: No matching device found.... waiting for devices. Reason: [ERROR] Unable to open specified kinect
The standard demo applications from freenect such as freenect-glview work correctly.
Thanks
freenect_launch/launch/examples/freenect-xyz.launch incorrectly references freenect_launch/launch/examples/include/produce-xyz.launch. The location should have had "includes" instead of "include".
Similar error for freenect-registered-xyzrgb.launch
Hi,
There is no issue reporting on https://github.com/ros-drivers/libfreenect so I guess I need to put my claim here.
as of xenial
, the version in the system is libfreenect 0.5.3
. This sentence in the wiki
The main advantage of using this revision over the system package are:
The ability to search for a Kinect through serial number, necessary for running multiple Kinects.
USB 3.0 Support
seems then outdated since the system version is higher than the one released in kinetic libfreenect 0.5.1
I tested without recompiling freenect_camera
, dynamically linking to the system version of libfreenect
and it is apparently even compatible.
The opposite is not true.
We face problems when using our own application that needs ROS for publishing data but that also uses the system libfreenect
to grab kinect data. Then because ROS sets the LD_LIBRARY_PATH
with ROS path before system, our app finds the ROS lib and does not like the 0.5.1
You might argue don't install libfreenect
from ROS if you don't use the ROS grabber. Obviously we need the freenect_camera
for some other app in the same machine. So we need to find a way to make our two apps co-exist
You might then argue again, why don't you use the ROS version in your own app (completely dropping then the system version). We also have reasons too complex to detail here, why we need the system version. So not an option.
my main question to you is why in kinetic is there a need to use the ROS (not updated since 2015) version of libfreenect
when the system version has the features needed by freenect_camera
.
thanks
Notes:
To see this error, check the following image without depth registration enabled:
/depth_registered/image_rect_raw
This does not overlap with /rgb/image_rect_color, and consequently the rgb cloud is incorrect
On the flip side, with depth registration enabled:
/depthre_registered/image_raw overlaps with the color image correctly, as expected
I noticed a problem calling freenect-registered-xyzrgb.launch (SXGA image_mode) and using custom calibration files: http://pastebin.com/XfvuDYTJ. The produced cloud seems to contain just 1/4 of the actual data. The cloud does look fine if no calib files are used.
When I do rosrun dynamic_configure configure_gui and want to change the resolution on /camera/driver by setting depth_mode to QVGA30Hz (5) it doesn't do anything and returns to the default resolution (2).
The problem is that default resolution just isn't an option for some people (for example https://code.ros.org/gf/project/ros/mailman/?_forum_action=ForumMessageBrowse&thread_id=62167&action=ListThreads&mailman_id=39) because it's too slow.
It also makes makes something crash as a result of this change:
[lagadic-wifi-0]: [camera_nodelet_manager-1] process has died [pid 7735, exit code -11, cmd /opt/ros/fuerte/stacks/nodelet_core/nodelet/bin/nodelet manager __name:=camera_nodelet_manager __log:=/home/fnovotny/.ros/log/af902254-1929-11e2-b6d9-001ec953af27/camera_nodelet_manager-1.log].
Even after updating the xhci controller and recompiling the kernel, libfreenect does not work for USB 3.0. This is problematic as most new laptops only include USB 3.0 ports.
This is an upstream bug, but libfreenect development is slow at this time. This bug needs to be reported upstream and a patch needs to be worked on.
When I launch freenect I get these error messages:
[ERROR] [1351056483.202694643]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/compressedDepth/set_parameters]
[ERROR] [1351056483.211906639]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/compressed/set_parameters]
[ERROR] [1351056483.222372491]: Tried to advertise a service that is already advertised in this node [/camera/depth_registered/image_rect_raw/theora/set_parameters]
It seems like they're harmless, since it works anyway. Thanks for the new driver! :)
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.