ROS 机器人双路视频手机监控

更多创客作品,请关注笔者网站园丁鸟,搜集全球极具创意,且有价值的创客作品
ROS机器人知识请关注,diegorobot
业余时间完成的一款在线统计过程分析工具SPC,及SPC知识分享网站qdo


这几天心血来潮,把家里的旧摄像头装在Diego1#上,再加上原来的Letv Xtion就形成了双路视频摄像头,再通过手机APP实现了双路视频远程监控,先上个图:
手机监控的画面,上面的画面是Letv_Xtion传输的数据,下面的是罗技的usb摄像头画面

下面这张图是安装了摄像头的Diego1#。
ROS 机器人双路视频手机监控_第1张图片

测试下来在同一个局域网内,视频传输非常流畅,只是手机会发热,安装在Diego1#上的mini pc温度也比较高。下面我们介绍整个调试的过程

1.摄像头驱动

这里我们用到了两种类型的摄像头,xtion我们用openni来驱动,而罗技的usb摄像头,我们用usb_cam这个包驱动

1.1 openni的驱动

安装方法请见:ROS机器人Diego 1#制作(九)视觉系统之使用Xtion发布点云数据

1.2 usb摄像头驱动

按照如下命令安装

cd ~/diego1/src
sudo git clone https://github.com/ros-drivers/usb_cam.git
cd ..
catkin_make

安装完成后,两个摄像头就都可以使用了,不过在使用过程中发现xiton经常会启动不了,拔掉重新插上去基本上可以解决问题。

这时候我们可以分别启动android_bridge, openni, usb_cam,启动脚本如下:

roslaunch diego_nav diego_arduino_run.launch
roslaunch diego_vision openni_node.launch
roslaunch usb_cam usb_cam-test.launch 

这时候我们执行

rostopic list

会看到当前ros上所有的topic,其中/camera/rgb/image_raw/compressed是openni发布的compressed image类型的topic
ROS 机器人双路视频手机监控_第2张图片
/usb_cam/image_raw/compressed是usb摄像头发布的compressed image类型的topic
ROS 机器人双路视频手机监控_第3张图片

这两个topic就是我们后续在APP中订阅的视频主题。

2.APP相关设置

APP只有Android版本的,目前已经在个人网站上发布,支持Android 5.1以上的版本,感兴趣的朋友可以到我的个人网站上去下载http://www.diegorobot.com/wp/?page_id=1237&lang=zhd 打开链接的网页用手机浏览器扫描二维码就可以下载最新的版本。
app只在小米5s上测试过,其他手机不知道兼容性如何,如果有问题大家可以把问题反馈给我。

打开APP后,首先我们新建一个robot,并设置好摄像头0和摄像头1的topic。
ROS 机器人双路视频手机监控_第4张图片

设置好后,我们连接机器人,并左滑动菜单中选择双摄像头
ROS 机器人双路视频手机监控_第5张图片

这时候通过界面上的操控杆,或者打开重力感应,控制机器人到处转转,就可以在手机上实时看到两个摄像头的数据。理论上APP可以设计成任意多个摄像头的数据采集。

mini pc除了发热外其他还是很给力的,毕竟是i7的cpu,8g内存,下图是在同时开了android_bridge, openni, usb_cam, 的系统资源情况。
ROS 机器人双路视频手机监控_第6张图片

你可能感兴趣的:(机器人,ROS,Xtion,视频,ros,openni,diegorobot,android)