远程视频实时监控、人脸识别色球追踪、Tensorflow 目标检测目标分类、未知区域探索全自动SLAM构建地图 、PS2手柄控制
1.RIKIBOT WEB远程视频实时监控及摄影功能
1.1 打开终端,启动摄像头
$roslaunch rikibot camera.launch
1.2 重新打开一个终端,启动web服务
$roslaunch rikibot rikibot_web.launch
1.3 然后我们可以用windows打开浏览器输入http://192.168.199.148:8080/,其中192.168.199.148的IP是ROS系统主控的IP 电脑跟小车的主控要接在同一个局域网内
1.4 上面会出现相关话题供我们选择,这里只有一个选项我点击上面的“image_raw”,
系统此时会跳转到图像功能,如果我们点击“Snapshot”,这里是拍照功能
2.RIKIBOT 人脸识别、特定身份识别、色球追踪
2.1相关包说明
目标检测包功能核心包rikibot_object_detect,这里识别提供两种人脸检测、一个是基于Opencv haar的人脸检测、一个是基于face_recongnition的人脸检测,身份检测是也基于face_recongnition实现,色球追踪是基于Opencv HSV算法实现。
2.2 相关功能使用
2.2.1 人脸识别
第一种:基于Opencv Haar因子的人脸识别
打开一个终端启动camera
roslaunch rikibot camera.launch
重新打开一个终端,启动人脸识别
roslaunch rikibot_object_detect rikibot_facehaar_object.launch
然后重新打开一个终端,查看相关图像,选择“object_image”话题
rosrun rqt_image_view rqt_image_view
第二种:基于face_recongnition的人脸识别
打开终端启动camera
roslaunch rikibot camera.launch
重新打开一个终端,启动人脸识别
roslaunch rikibot_object_detect rikibot_face_object.launch
然后重新打开一个终端,查看相关图像,选择“object_image”话题
rosrun rqt_image_view rqt_image_view
2.2.2基于身份识别(特定人脸识别)
基于身份识别需要先上传一张你要识别该人身份的图片,放置到
“/home/rikibot/catkin_ws/src/rikibot_project/rikibot_object_detect/image”路径下面,
图片格式为jpg格式,并记下图片的名称。
下图所示,预先放了要识别的 1.jpg 2.jpg 3.jpg 三张照片
然后进入到
/home/rikibot/catkin_ws/src/rikibot_project/rikibot_object_detect/node目录下面,
打开rikibot_facename_detect.py,更改相关代码
代码实际修改处: 修改了要记得保存
打开终端启动camera
roslaunch rikibot camera.launch
重新打开一个终端,启动人脸识别
roslaunch rikibot_object_detect rikibot_facename_object.launch
然后重新打开一个终端,运行rosrun rqt_image_view rqt_image_view
查看相关图像,选择“object_image”话题,当检测到上传图片的人后,系统识别相关人的名字,如果没有上传图片,系统就不能识别(些片还需要贴个图片)
2.2.3色块追踪
打开终端启动camera
roslaunch rikibot camera.launch
重新打开一个终端,启动人脸识别
roslaunch rikibot_object_detect rikibot_ball_object.launch
然后重新打开一个终端,查看相关图像,选择“object_image”话题,
目前是识别红色,用户用手移动相关的色球,系统会追踪相关的色球,如果需要识别其它颜色,进入rikibot_object_detect/node,打开rikibot_ball_detect.py文件,改变相关的色值就可以
修改该路径下的rikibot_ball_detect.py文件
颜色相关代码修改:
修改成识别绿色后 再次启动
3.RIKIBOT Tensorflow 目标检测、目标分类
3.1相关包说明
rikibot_tensorflow检测包提供,目标检测、目标分类、与数字识别,由于树莓派系统使用CPU计算检测,使用性能比较差,这里建议用更好的专用平台。
3.2相关使用操作说明
3.2.1目标检测
打开终端,启动tenforflow摄像头启动文件,这里的图像大小设置为320x240以减小系统运行负载
roslaunch rikibot_tensorflow camera.launch
在打开终端,启动目标检测,由于加载tensorflow比较久,需要耐心等待一下
roslaunch rikibot_tensorflow rikibot_tensorflow_detect.launch
打开终端,查看图像”result_ripe”
rosrun rqt_image_view rqt_image_view
3.2.2分类检测
打开终端,启动tenforflow摄像头启动文件,这里的图像大小设置为320x240以减小系统运行负载
roslaunch rikibot_tensorflow camera.launch
在打开终端,启动检测,由于加载tensorflow比较久,需要耐心等待一下
roslaunch rikibot_tensorflow rikibot_tensorflow_classify.launch
启动完成后,把需要检测的物品放置到摄像头前,此时会输出检测相关名称与置信度,score分越高,检测目标就越可靠
4.RIKIBOT 未知区域探索全自动SLAM构建地图
4.1 把小车平放在地板上,用远程软件登录到小车系统上,打开一个终端启动
roslaunch rikibot bringup.launch。
4.2 再打开一个终端,进入到保存地图的路径下,准备建好地图的时候 执行保存地图脚本
4.3 再打开一个终端,执行自动建地图命令
此时机器人会自动探索未知区域,完成地图构建。
当观察地图建得差不多,就可以执行保存地图脚本了。
保存成功
5.RIKIBOT PS2手柄控制
5.1 把机器人放在地板上,然后远程软件登录到系统上启动:
启动完成后 如果LX:255 LY:255 RX:255 RY:255
此时需要手动按下PS2手柄的ANALOG键
切换成 LX:128 LY:127 RX:128 RY:127
按下左侧的2键
此时会切换成 PS2手柄控制模式:
此时按手柄右侧的 四个圆形按钮,依次切换四挡速度
然后再拨动左侧摇杆,即可实现前后左右转动,麦轮车型可同时向左右拨动两个摇杆,分别控制左右横移。
当不用手柄的时候 要记得按下左侧的1键 切换成 正常模式,否则键盘控制会失效