Xtion Pro使用问题--ROS

时间:2022-05-09 06:32:02

    ASUS Xtion Pro在Ubuntu 12.04 groovy系统下运行,出现错误。提示USB接口不支持等信息,原因是Xtion Pro该款产品有两个型号,旧款的ID号为0x600,新款的ID号为0x601,具体可通过命令:$lsusb -v 查询。

新版:

Xtion Pro使用问题--ROS

旧版:

Xtion Pro使用问题--ROS


解决方法:

参考网址:http://answers.ros.org/question/109411/asus-xtion-problems-with-ubuntu-1204-running-ros-fuerte/

1.安装驱动及OpenNI包,采用apt-get方式

  • libopenni-dev ~ 1.5.4.0-4+precise1
  • libopenni-nite-dev ~ 1.3.1.5~precise
  • libopenni-sensor-primesense-dev ~ 5.1.0.41-2+precise1
  • libopenni-sensor-primesense0 ~ 5.1.0.41-2+precise1
  • libopenni0 ~ 1.5.4.0-4+precise1
2. 如果需要使用openni_tracker,需要安装下列其中之一。

  • Install NITE v1.5.2.21
  • Install both NITE 1.5.2.23, and OpenNI SDK v1.5.7.10
3.  建立文件 /etc/udev/rules.d/primesense-usb.rules(该步骤不是必须的,至少我没有加)

# Make primesense device mount with writing permissions (default is read only for unknown devices)
SUBSYSTEM=="usb", ATTR{idProduct}=="0200", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0300", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0401", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0500", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0600", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0601", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="0609", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1250", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1260", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1270", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1280", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="1290", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="f9db", ATTR{idVendor}=="1d27", MODE:="0666", OWNER:="root", GROUP:="video"

#--avin mod--
# Kinect
SUBSYSTEM=="usb", ATTR{idProduct}=="02ae", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02ad", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02b0", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"
SUBSYSTEM=="usb", ATTR{idProduct}=="02be", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="audio"
SUBSYSTEM=="usb", ATTR{idProduct}=="02bf", ATTR{idVendor}=="045e", MODE:="0666", OWNER:="root", GROUP:="video"

4. 编辑 /etc/openni/GlobalDefaults.ini文件,设置 UsbInterface=0

注意:该文件可能是只读的,如果编辑可以采用 sudo gedit /etc/openni/GlobalDefaults.ini

其他解决方法:

1.安装OpenNI2驱动,或许可以解决

2.或者安装OpenNI-Compliant Sensor Driver v5.1.6.6

注意:安装完成后,启动顺序为

      $roslaunch openni_launch openni.launch

      $tail -f /var/log/syslog

   之后再插入Xtion Pro。如果先接入设备,可能同样会报错。采用该方法,可能插入kinect就不能用了,如果想用kinect,需要以下命令

   sudo apt-get install --reinstall libopenni-sensor-primesense0