基于turtlebot的智能机器人物体识别及目标追踪系统
摘要
智能机器人的发展已经渗透到人们日常生活的各方各面,日益在人们日常生活中发挥着重要的作用,并且智能机器人跟踪技术是机器人研究领域的一个重要研究方向。云计算正不断应用到各种场景,传统机器人的计算存储等能力受限于其板载设备,将云计算与机器人结合用于提升机器人能力是机器人未来发展的趋势之一。
本毕业设计课题基于turtlebot实现机器人目标追踪,需要将物体识别迁移到云服务器,云服务实时的通过对图像计算做出移动指令,最终实现目标追踪。
采用机器人操作系统(ROS)与Client/Server(客户端/服务端)通信相结合来实现本课题。首先客户端用来接受kinenct所采集的图像,将物体识别到服务器;其次服务器端实时的对图像进行计算处理,利用机器人跟踪技术,并将产生的控制命令返回给客户端,最终远程实现对机器人的跟踪控制。
关键词:目标跟踪;ROS机器人程序设计;C/S通信框架;远程控制;云机器人
Research and Prototype Realization of Object Recognition and Tracking Technology for Intelligent
Abstract
The development of intelligent robots has penetrated into the daily aspects of people's daily life, and increasingly plays an important role in people's daily life, and intelligent robot tracking technology is an important research direction in the field of robot research. Cloud computing is being applied to a variety of scenes, the traditional robot computing storage capacity is limited by its onboard equipment, cloud computing and robot combination for the promotion of robot capability is one of the future development trend of the robot.
Based on turtlebot to achieve the robot target tracking, the need to migrate object recognition to the cloud server, cloud service real-time through the image calculation to make mobile instructions, and ultimately achieve the target tracking.
I use the robot operating system (ROS) and Client / Server (client / server) communication to achieve this problem. First, the client is used to accept the image collected by kinenct, and the object is recognized to the server. Secondly, the server realizes the mobile instruction by using the robot tracking technology and returns the result to the server to do the logical processing and generate the control command, The final remote implementation of the robot tracking control.
Key words: target tracking; ROS robot programming; C/S communication framework; remote control; cloud robot
目 录
基于turtlebot的智能机器人物体识别及目标追踪系统 1
摘要 1
Research and Prototype Realization of Object Recognition and Tracking Technology for Intelligent 2
Abstract 2
目 录 3
1 绪 论 5
1.1研究背景 5
1.2智能机器人(turtlebot)与云机器人 7
1.3机器人操作系统(ROS) 9
1.3.1 什么是机器人操作系统(ROS) 9
1.3.2 ROS的核心概念 9
1.3.3 ROS的核心模块 11
2 相关环境的搭建 12
2.1硬件和软件环境的搭建 12
2.1.1硬件环境的搭建 12
2.1.2软件环境的搭建 12
2.2 Ubuntu操作系统和ROS的安装 12
2.3 Kinect2驱动安装 13
2.3.1 kinect2驱动包版本 13
2.3.2 kinect2驱动安装步骤 13
2.4 测试环境是否搭建成功 17
3 基于ROS的控制移动 17
3.1 基于ROS的坐标系 17
3.2 运动控制水平 18
3.3运动命令Twist 18
4 基于ROS图像采集 19
4.1 ROS中图像处理的相关类库 19
4.1 在ROS中使用Kinect摄像头 19
4.2 使用rviz显示图像 20
4.3 ROS中sensor_msgs/Image的消息格式 22
5 ROS中的Nodelet节点 22
5.1 Nodelet节点的特点 22
5.2 nodelet基类 23
6 项目整体架构设计 23
6.1 项目整体架构 23
6.1.1 云应用框架 23
6.1.2 图象识别云应用 24
6.1.3 项目各函数的功能介绍 25
6.2 客户端/服务器模块 26
6.2.1环境说明 26
6.2.2客户端TCP协议通信的步骤 26
6.2.3服务器端TCP协议通信的步骤 27
6.3 机器人实时跟踪模块 29
6.4 配置项目的CMakeLists.txt文件 31
8 项目结果测试 35
8.1硬件设备连接测试 35
8.2测试结果 35
8.3项目运行ROS节点状态图 36
9 结论与展望 37
参考文献 39
致 谢 40
附 录 41