Hi all, I am writing something using nodelet to process images from kinect, using openni_nodelet under openni_camera package to retrieve images from kinect, and my nodelet to subscribe it. I wrote a launch file to start the nodelet_mgr, openni_nodelet and my nodelet, and I use openCV windows to display images got from openni_nodelet, I wrote something like this as the callback: onRGBDImage(const pcl::PointCloud::ConstPtr& cloud_msg) { cv::Mat mat_rgb; // Convert from cloud_msg to cv::Mat //... cv::imshow(mat_rgb); cv::waitKey(5); } But when I start all nodes using the launch file, sometimes it can display images properly, but sometimes it cannot, and the openCV window goes grey(Not responding because no call to cv::waitKey() for some time) I don't know whether there exists some rules that I should follow when using nodelet, e.g. subscribers should start after publishers? How can I make it work every time? I am using electric under ubuntu 10.10. Thanks for any help. P.S. Here is my launch file: -- Regards University of Science and Technology of China School of Computer Science and Technology Multi-Agent System Lab K.Chen