论文总字数:16097字
摘 要
不断进步的科技给我们的生活带来了各种方面的便利,移动机器人就是其中之一。到目前为止,越来越多的行业已经逐渐将机器人应用于产业之中,机器人也渐渐地进入了人们的生活。其中,实时的定位与导航又是机器人课题中越来越火爆的研究方向,而机器人的大量普及和各种调试平台的完善,又为当代的大学生开辟了自主钻研的舞台。
本项目主要研究移动机器人的实时定位和见图导航功能,使用搭载Ubuntu系统的树莓派作为核心板,通过激光雷达收集环境数据,再使用ROS元操作系统中的代码和工具实现对下层底盘主控板STM32F405的控制,从而实现机器人的移动和避障,同时使用Gmapping和Amcl算法进行实时定位和建图,从而实现移动机器人的定位、导航和建图功能。
关键字:机器人;Ubuntu;激光雷达;ROS;导航;建图
Lidar Navigation Mobile Robot Based on ROS
Abstract
Continuously improving technology has brought convenience in various aspects to our lives, and robots are one of them. So far, more and more industries have gradually applied robots to the industry, and robots have gradually entered people's lives. Among them, real-time positioning and navigation are more and more popular research directions in the topic of robots. The popularization of robots and the improvement of various debugging platforms have also opened up a stage for independent research for contemporary college students.This project mainly studies the real-time positioning of robots and the navigation function of the figure, uses the Raspberry Pi equipped with Ubuntu system as the core board, collects environmental data through lidar, and then uses the codes and tools in the ROS meta operating system to realize the main control of the underlying chassis The STM32F405 is controlled by the board to realize the movement and obstacle avoidance of the robot. At the same time, the Gmapping and Amcl algorithms are used for real-time positioning and mapping, so as to realize the positioning, navigation and mapping functions of the mobile robot.
Keywords: Robot;Ubuntu; Lidar;ROS;Navigation;Building Map
目 录
摘 要 I
Abstract II
第一章 引 言 1
1.1选题背景和意义 1
1.2主要设计任务和功能 1
1.2.1主要任务 1
1.2.2机器人功能 2
第二章 系统设计 3
2.1整体框架设计 3
2.1.1设计思路 3
2.1.2工作流程 4
2.2机器人选型 5
2.2.1 ROS机器人主控板 5
2.2.2底层控制板 6
2.2.3底盘控制器 6
2.2.4 IMU姿态传感器 7
2.2.5 LG激光雷达 8
2.2.6直流电机和编码器 8
2.3机器人的软件环境 9
2.3.1 Keil 9
2.3.2 Ubuntu Mate 10
2.3.3 ROS Kinect 10
2.3.4 RVIZ三维可视化工具 10
第三章 系统环境搭建与通信机制 11
3.1下位机设计 11
3.1.1机器人运动模型的选取 11
3.1.2机器人运动学正解 11
3.1.3底盘控制器 12
3.1.4电机控制和PID参数整定 12
3.2上位机设计 13
3.2.1树莓派上安装Ubuntu Mate 13
3.2.2树莓派上搭载ROS 13
3.2.3树莓派和Ubuntu主机的连接 14
3.3下位机与上位机之间的通信 14
3.3.1通信内容和原理 14
3.3.2 STM32的串口通信 15
3.3.3 ROS串口通信 16
第四章 导航算法的设计与实现 17
4.1 ROS的通信机制 17
4.2机器人TF转换和TF树 17
4.3激光雷达节点 19
4.4机器人导航框架 20
第五章 调试与结果 21
5.1 Gmapping定位算法 21
5.2 Amcl定位算法 22
5.3遇到的问题和解决方案 24
5.3.1 Windows电脑安装双系统之后无法进入Windows 24
5.3.2激光雷达包问题 24
5.3.3激光雷达自视问题 25
第六章 结束语 26
致 谢 27
参考文献(References) 28
第一章 引 言
1.1选题背景和意义
不断进步的科技给我们的生活带来了各种方面的便利,机器人就是其中之一。到目前为止,越来越多的行业已经逐渐将机器人应用于产业之中,机器人也渐渐地进入了人们的生活。其中,实时的定位与导航又是机器人课题中越来越火爆的研究方向,而机器人的大量普及,又为当代的大学生开辟了自主钻研的平台。
近年来机器人技术发展越发成熟,越来越多的机器人技术应用在不同的领域。基于机器人技术开发出来的产品推陈出新,在各个方面都有着不小的作用,比如无人机、无人汽车、送餐机器人、炒菜机器人、物流分拣机器人等。大家对机器人的认知和学习的兴趣也越来越高涨,对机器人相关技术也越来越关注,基于ROS的移动机器人就是一个很典型的例子。
ROS(Robot Operating System),机器人操作系统,实际上是一个专门针对机器人软件开发而设计的通信框架,目前已经有10年的历史。现在的ROS发展十分迅速,也有很多商用机器人也开始基于ROS来进行开发。
剩余内容已隐藏,请支付后下载全文,论文总字数:16097字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;