Quantcast
Channel: Sam的技术Blog
Viewing all articles
Browse latest Browse all 158

ASUS Xtion在ROS系统下的安装使用

$
0
0
作者: Sam (甄峰)  sam_code@hotmail.com

ASUS Xtion是华硕使用PrimeSense技术发布的RGBD 3D设备。在机器人导航设备中,除了激光雷达,也可以使用3D摄像头来做环境采集设备。现把实际使用过程和遇到的一些问题记录如下。

问题1. Xtion插入USB口后,未能正常驱动起来。
#lsusb
可以看到设备:1D27:0600  ASUS
#dmesg
Not enough bandwidth for new device state.
怀疑有二。 
A: 记得Linux Kernel在32bit 系统中,确实有个Bug。对多个摄像头插入同一个Hub时,确实会导致带宽不足。
B: XHCI和EHCI的问题。设备也许不支持XHCI。
要解决A,需要重新安装系统到64Bit。工程巨大。所以先测试下B。
进入BISO. xHCI模式关闭掉。 XHCI Hand-off, EHCI  Hand-off 都关闭。重新启动系统。果然能解决问题。看来猜测B是正确的。


软件和驱动安装过程
#apt-get install ros-indigo-openni-launch
#apt-get install ros-indigo-openni-camera

#apt-get install ros-indigo-openni2-launch
#apt-get install ros-indigo-openni2-camera


硬件测试过程:
Sam这里,有两个运行环境:
A:台式机中安装ROS。
B:TK1中安装ROS。
TK1内存较小,无法运行大型的X11程序,例如rviz, rqt等。

A1:本地可以运行Rviz,rqt等:
1. roslaunch openni2_launch openni2.launch
2. rosrun rqt_image_view rqt_image_view
此时,在下来窗口中,可以看到非常多数据源。/camera/depth/image_raw , /camera/rgb/image_raw 分别可以看到深度图像和RGB图像。
如此,则证明驱动,设备,数据均正常。

A2: 本地运行Rviz,并尝试把深度数据转换成雷达数据:
要用到depthimage_to_laserscan 这个Package。

1. roslaunch openni2_launch openni2.launch
2. rosrun depthimage_to_laserscan depthimage_to_laserscan image:=/camera/depth/image_raw 
3. rosrun rviz rviz
在rviz中Fixed Frame选择camera_depth_optical_frame,Add选择By topic,选择LaserScan,在LaserScan中的Color Transformer中选择AxisColor

这里提一下,rviz 可以通过Topic获取ROS消息,并直观反应在可视画面上。如xtion的点云,可见光image, 由depthimage_to_laserscan转换出来的雷达数据(/scan) 等。


B:TK1上采集数据,远端察看:
因为在TK1上无法运行


 

Viewing all articles
Browse latest Browse all 158

Trending Articles