ubuntu下使用ASUS Xtion PRO

Ubuntu12.04下ASUSXtionPRO与ROS OpenNI程序的兼容性解决方案
本文详细介绍了在Ubuntu12.04环境下,如何解决ASUSXtionPRO与ROS OpenNI程序之间的兼容性问题。通过编辑GlobalDefaults.ini文件,将UsbInterface更改为0,即可成功运行openni程序并显示点云数据。

        实验室近期进了一个ASUS Xtion PRO, 于是我便尝试在ubuntu12.04下使用它采集数据,然而当我运行ros下的openni程序时,我获得下面的提示:

hao@haopc:~$ roslaunch openni_launch openni.launch

......

[ INFO] [1409020429.637758787]: Number devices connected: 1
[ INFO] [1409020429.738656579]: 1. device on bus 002:05 is a SensorV2 (601) from PrimeSense (1d27) with serial id '1307090112'
[ INFO] [1409020429.739982913]: Searching for device with index = 1
[ INFO] [1409020429.840873018]: No matching device found.... waiting for devices. Reason: openni_wrapper::OpenNIDevice::OpenNIDevice(xn::Context&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&, const xn::NodeInfo&) @ /tmp/buildd/ros-groovy-openni-camera-1.8.9-0precise-20140720-0303/src/openni_device.cpp @ 61 : creating depth generator failed. Reason: USB interface is not supported!

......


解决办法非常简单:

编辑/etc/openni/GlobalDefaults.ini文件

sudo gedit /etc/openni/GlobalDefaults.ini


找到内容为“; UsbInterface=2”这一行,将该行更改为UsbInterface=0, 注意去掉分号注释。


重新运行命令:

roslaunch openni_launch openni.launch


此时便可以在rviz中查看到点云数据

rosrun rviz rviz




### 在 ROS2 中设置和使用 Asus Xtion Pro Live 摄像头 要在 ROS2 中配置和使用 Asus Xtion Pro Live 设备,可以按照以下方法操作: #### 安装必要的软件包和支持工具 为了支持 Asus Xtion Pro Live,在 ROS2 下需要安装 OpenNI 和相关驱动程序。以下是具体的操作步骤。 1. **安装 OpenNI2 库** 需要先下载并编译 OpenNI2 的源码版本,因为官方二进制文件可能不完全兼容 ROS2 环境。 ```bash git clone https://github.com/OpenNI/OpenNI2.git cd OpenNI2/Platform/Linux/CreateRedist make sudo ./Install.sh ``` 此外,还需要确认 `libusb` 已经正确安装[^4]。 2. **验证设备连接状态** 使用命令行检测设备是否被识别: ```bash dmesg | grep -i usb lsusb ``` 如果一切正常,则应该能够看到类似于 “Asus Xtion” 或者其 USB ID(通常是 `0b05:...`)的信息[^5]。 3. **启动相机节点** 对于 ROS2 来说,目前还没有原生的 `openni_camera` 转换包可以直接用于 ROS2,因此推荐通过桥接方式运行旧版 ROS 功能或者寻找社区开发的支持插件。一种常见做法是从 ROS Noetic 获取最新版本的 `rgbd_launch` 并适配到 ROS2 上面去执行。 另一可行方案是利用第三方项目如 [ros2_openni](https://github.com/ros-perception/image_pipeline),它提供了初步移植后的功能实现。克隆仓库后构建工作空间即可加载相应模块: ```bash git clone https://github.com/<your-repo>/ros2_openni.git ~/ros2_ws/src/ colcon build --symlink-install source ~/ros2_ws/install/setup.bash ``` 4. **发布话题数据流** 启动完成后,可以通过终端查看发布的主题列表来判断服务是否生效: ```bash ros2 topic list ``` 常见的主题名称包括 `/camera/color/image_raw`, `/camera/depth/image_rect_raw` 等[^6]。 5. **可视化调试** 类似 rviz 的界面展示同样适用于 ROS2 版本下的应用环境。打开 RVIZ2 GUI 设置窗口,添加 Display Type 分别指定 Color Image 和 PointCloud 数据源路径匹配实际输出端口地址[^7]: ```yaml Topic: /camera/rgb/image_color Topic: /camera/depth/points ``` 以上过程即完成了从硬件初始化至最终渲染显示整个流程描述。 ```python import rclpy from sensor_msgs.msg import Image, CameraInfo def main(args=None): rclpy.init(args=args) node = rclpy.create_node('xtion_publisher') pub_image = node.create_publisher(Image, 'image', 10) pub_info = node.create_publisher(CameraInfo, 'info', 10) while True: try: msg_img = Image() # Populate message fields... info_msg = CameraInfo() # Set intrinsic parameters... pub_image.publish(msg_img) pub_info.publish(info_msg) except KeyboardInterrupt: break if __name__ == '__main__': main() ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值