装好libfreenect2和iai_kinect2后,测试一下装好没有
执行
roslaunch kinect2_bridge kinect2_bridge.launch
出现下面的报错
[ERROR] [1598839556.338267422]: [DepthRegistrationOpenCL::init] could not find any suitable device
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] releasing usb interfaces...
[Info] [Freenect2DeviceImpl] deallocating usb transfer pools...
[Info] [Freenect2DeviceImpl] closing usb device...
[Info] [Freenect2DeviceImpl] closed
[ERROR] [1598839556.338687227]: [Kinect2Bridge::start] Initialization failed!
[Info] [Freenect2DeviceImpl] closing...
[Info] [Freenect2DeviceImpl] already closed, doing nothing
[Error] [OpenCLAllocator] queue.enqueueUnmapMemObject(b->buffer, b->data, NULL, &event): -36
[Error] [OpenCLAllocator] queue.enqueueUnmapMemObject(b->buffer, b->data, NULL, &event): -36
[Error] [OpenCLAllocator] queue.enqueueUnmapMemObject(b->buffer, b->data, NULL, &event): -36
[FATAL] [1598839556.443583332]: Failed to load nodelet '/kinect2_bridge` of type `kinect2_bridge/kinect2_bridge_nodelet` to manager `kinect2'
问了师兄后,查看github中iai_kinect2的问答link,意识到是自己的电脑没有GPU,于是将指令改为:
roscore
打开新终端
rosrun kinect2_bridge kinect2_bridge _depth_method:=cpu _reg_method:=cpu
打开新终端
rosrun kinect2_viewer kinect2_viewer
ok,成功显现图像。
也可以通过rqt_image_view来显示
rosrun rqt_image_view rqt_image_view