我的上一篇博文的解决办法是自己添加了启动文件,能够成功显示图像了。
今天无聊看了下Astro的官方ros驱动代码,其中有一段发现如下:
可以看到这里是通过vendor向量和product ID号来确定打开的设备,看来这里我就在想会不会是launch启动文件传入的参数错了。
0首先你得按照官网提供的教程安装一遍
地址:https://github.com/orbbec/ros_astra_camera
1插入相机查看设备向量ID
lsusb
看到如下:
zhaojunyi@Robotic:~$ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 0bda:0411 Realtek Semiconductor Corp.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 006: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller
Bus 003 Device 005: ID 413c:2107 Dell Computer Corp.
Bus 003 Device 004: ID 174f:114f Syntek
Bus 003 Device 009: ID 2bc5:0502
Bus 003 Device 008: ID 2bc5:0403
Bus 003 Device 007: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 003: ID 0bda:5411 Realtek Semiconductor Corp.
Bus 003 Device 002: ID 04ca:0061 Lite-On Technology Corp.
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
zhaojunyi@Robotic:~$
其中2bc5:0403是深度模块
2bc5:0502是RGB模块
2再看查看launch启动文件
启动文件在
~/catkin_ws/src/ros_astra_camera/launch
我这里是astrapro.launch文件
打开翻到第68行内容如下:
好了看清楚了吧,问题就出在这里:
<param name="product" value="0x0501"/>
这里的值是0x0501;而我的设备是0x0502
ps:具体我也不知道为什么乐视的摄像头会是改成了这样。
好了,我们把这句代码修改为:
<param name="product" value="0x0502"/>
保存
3启动launch文件
roslaunch astrapro.launch
4打开rviz
配置如图:
订阅image_raw话题即可显示color图像了