APP下载

基于ROS与深度学习的智能捡球系统设计

2020-05-07陈芬生孙李生吴居进

魅力中国 2020年3期
关键词:树莓调用开源

陈芬生 孙李生 吴居进

(佛山科学技术学院,广东 佛山 528000)

一、理论分析与系统方案

上位机采用树莓派的Raspberry Pi 3 Model B,只有信用卡大小的微型电脑,其操作系统基于Linux,64位的1.4GHz四核ARM Cortex-A53处理器,具有1G RAM缓存,10/100 Mbit/s以太网并自带无线网络功能。在上位机上搭载Ubuntu16.04 mate系统,匹配ROS-kinetic版本;ROS 起源于斯坦福大学人工智能实验室与 Willow Garage 公司的机器人项目,是一个面向机器人的开源操作框架,它的本质就是一个类 Linux 二次操作系统,具有与常规操作系统相似的功能,它能够提供常用的机器人传感器或者机器人电机的驱动,帮助实现硬件抽象,同时它也拥有多进程的概念,并提供进程间的相互通信机制,还能够像 Linux 操作系统一样提供常用的软件包与算法包,方便用户的安装与调用。此外ROS系统对计算机视觉提供了很好的平台,不仅支持Opencv、cv_birdge和image_transpor相连接,还提供了物体识别和视觉里程计等算法的功能包,这也是选择使用ROS系统的优势所在。

二、系统设计整体框架

启动树莓派运行ROS系统,调用语音交互系统,通过语音唤醒,可与系统进行简单的日常交流;调用Vision中的USB_cam,TensorFlow和OpenCv,可以对不同的物体进行识别,已检测可以识别鼠标,键盘等;当识别到是网球的时候,此时系统将发送信号到下位机,由下位机通过16路PWM舵机驱动器和LM2596S DC-DC直流可调降压稳压电源模块板实现对机械臂的抓取。

三、软件程序设计

在物体识别方面采用TensorFlow对象检测API,这是一个基于TensorFlow构建的开源框架,可以轻松构建,训练和部署对象检测模型,经实践调试,该程序可以嵌入到树莓派上搭载的ROS系统中执行。

cd tensorflow_ws #进入工作空间

catkin_make #进行编译

roscore #运行节点

roslaunch usb_cam usb_cam-test.launch #打开摄像头

roslaunch ros_tensorflow ros_tensorflow_classify.launch

#执行识别程序

rostopic echo /result_ripe #接收字符串消息

智能捡球系统测试情况:

1.能精准识别出网球

2.能控制机械臂对网球进行抓取

3.能用语音控制系统,并可进行简单的语音交流

四、总结

很多球体识别都是直接利用找圆或颜色进行识别,此类方法识别度不高而且容易受到环境的干扰,本文设计的智能捡球系统采用深度学习算法,利用搭建深度卷积神经网络模型进行识别,更能适应复杂环境,且识别速度和准确率大大提高;并且采用的ROS分布式架构,多语言支持和可伸缩性,将每一个工作进程看成是一个节点,实现了整个机器人多个控制区的紧密连接与消息传递机制,大大地简化了原有的通信方式;通过调用API接口,采用语音模式控制,简化了对捡球系统的操作。

猜你喜欢

树莓调用开源
校园武术“学、练、赛”一体化实践探索
传播开源精神 共迎美好未来
五毛钱能买多少头牛
2019开源杰出贡献奖
基于树莓派的骑行智能头盔设计
系统虚拟化环境下客户机系统调用信息捕获与分析①
黄金水果红树莓
e络盟率先推出第三代树莓派
年度睡姿大盘点(下)
基于属性数据的系统调用过滤方法