内容简介
本书将移动机器人与嵌入式系统独特地结合在一起,其层次涵盖了从入门至中级水平。
本书分为三大部分:嵌入式系统(软硬件设计、执行器、传感器、PID控制、多任务处理、无线通信),移动机器人设计(行驶、平衡、步行及飞行机器人)和移动机器人应用(地图构建、机器人足球、遗传算法、神经网络、基于行为的系统以及仿真)。
本书可作为计算机科学、计算机工程、信息技术、机电一体化等课程的教材,也可作为机器人爱好者及研究人员的参考用书。
内页插图
目录
致中国读者
译者序
前言
第I部分:嵌入式系统
第1章 机器人与控制器
1.1 移动机器人
1.2 嵌入式控制器
1.3 接口
1.4 操作系统
1.5 参考文献
第2章 中央处理器
2.1 逻辑门
2.2 功能单元
2.3 寄存器和存储器
2.4 Retro
2.5 算术逻辑单元
2.6 控制单元
2.7 中央处理单元
2.8 参考文献
第3章 传感器
3.1 传感器分类
3.2 二值传感器
3.3 模拟与数字信号传感器
3.4 轴编码器
3.5 A/D转换器
3.6 位置敏感传感器
3.7 电子罗盘
3.8 陀螺仪、加速度传感器、倾角传感器
3.9 数字摄像机
3.10 参考文献
第4章 执行器
4.1 直流电机
4.2 H桥“
4.3 脉宽调制”
4.4 步进电机“
4.5 伺服器”
4.6 参考文献“
第5章 控制
5.1 开关控制”
5.2 PID控制“
5.3 转速控制和位置控制
5.4 多电机直线行驶
5.5 Vw接口
5.6 参考文献
第6章 多任务处理
6.1 协作式多任务处理
6.2 抢占式多任务处理
6.3 同步
6.4 调度
6.5 中断和定时器激活的任务
6.6 参考文献
第7章 无线通信
7.1 通信模型
7.2 消息
7.3 容错自配置
7.4 用户接口和远程控制
7.5 应用程序范例
7.6 参考文献
第Ⅱ部分:移动机器人设计
第8章 行驶机器人
8.1 单轮驱动
8.2 差速驱动
8.3 履带机器人
8.4 同步传动
8.5 阿克曼转向
8.6 行驶运动学
8.7 参考文献
第9章 全向机器人
9.1 Mecanum轮
9.2 全向行驶
9.3 运动学
9.4 全向机器人设计
9.5 行驶程序
9.6 参考文献
第10章 平衡机器人
10.1 仿真
10.2 倒立摆机器人
10.3 二级倒立摆
10.4 参考文献
第11章 步行机器人
11.1 六足机器人的设计
11.2 双足机器人设计
11.3 行走机器人的传感器
11.4 静态平衡
11.5 动态平衡
11.6 参考文献
第12章 自动驾驶飞机
12.1 应用
12.2 控制系统和传感器
12.3 飞行程序
12.4 参考文献
第13章 自主水上和水下机器人
13.1 应用
13.2 动力学模型
13.3 AUV设计实例Mako
13.4 AUV设计实例USAL
13.5 参考文献
第14章 机器人手臂
14.1 齐次坐标
14.2 运动学
14.3 仿真和编程
14.4 参考文献
第15章 仿真系统
15.1 移动机器人仿真
15.2 EyeSim仿真系统
15.3 多机器人仿真
15.4 EyeSim应用
15.5 EyeSim环境和参数文件
15.6 SubSim仿真系统
15.7 执行器和传感器模型
15.8 SubSim应用
15.9 SubSim环境和参数文件
……
第Ⅲ部分:移动机器人应用
附录
索引
前言/序言
EyeBot控制器及移动机器人的发展已逾十年之久,本书将采用EyeBot控制器(EyeCon)和EyeBot系列移动机器人作为应用实例,对嵌入式系统和自主移动机器人进行深入地介绍。
本书整合了一些教学和科研的材料,可用于嵌入式系统、机器入学和自动化的课程。我们发现实验是此领域教与学所必不可少的环节,因而鼓励大家能够重新编写和理解本书提供的程序和系统。
尽管在本书中一些地方,仿真了很多应用且对此研究得也比较深入,但我们仍认为学生无论是在嵌入式系统还是在机器人领域都应去接触实际的硬件。这将加深对问题的理解,当然也会充满乐趣,尤其是使用小型移动机器人做实验的时候。
EyeBot项目最初的目标是将一个嵌入式系统接入数字摄像机(EyeCam),在本地实时地处理摄像机的图像以用于机器人导航,并在一个图像LCD上显示结果。所有的这些早在数字摄像机进入市场之前便开始了——事实上EyeBot控制器是最早的“嵌入式视觉系统”之一。
由于图像处理总是需要很大的处理量,仅仅是简单的8位微控制器将满足不了本项目的需求。最初的硬件设计采用了32位处理器,要求其性能能够跟上图像传感器传送的数据,并能在板载嵌入式系统上进行~些中等程度的图像处理工作。当前,我们的设计紧随技术发展,使用了高速嵌入式控制器与FPGA相结合的方案。FPGA作为硬件加速器进行底层图像处理操作,在软件应用层(应用程序接口),则尽可能地兼容原始系统。
EyeBot系列涵盖有多种采用不同行驶形式的移动机器人,有履带小车、全向小车、平衡机器人、六腿步行机器人、双腿类人机器人、自主飞行机器人、自主水下机器人。它还包括用于行驶机器人的仿真系统(EyeSim)及水下机器人的仿真系统(SubSim)。有多个其它的项目采用了EyeBot控制器,这其中既有移动机器人也有非机器人的项目。嵌入式系统是电子工程、计算机工程和机电一体化专业中的一门课程,我们在此课程中使用单独的EyeBot控制器进行实验,不仅是我们,还有许多其它的大学使用EyeBot控制器并结合相应的仿真系统来操控我们发明的移动机器人。
探索智能移动的奥秘:从原理到实践的深度解析 在科技飞速发展的今天,机器人技术已不再是科幻电影中的遥远畅想,而是深刻影响我们生活和产业的现实力量。特别是能够自主移动、与环境交互的移动机器人,其应用范围之广、发展潜力之巨,正以前所未有的速度渗透到工业自动化、物流仓储、智能家居、医疗康复、环境保护乃至太空探索等各个领域。理解和掌握移动机器人的设计、开发与应用,已成为众多工程技术人员和科研工作者必备的核心技能。 本书旨在为读者构建一个全面而深入的移动机器人知识体系。我们不局限于某个特定的机器人平台或某一孤立的技术模块,而是从移动机器人系统的整体视角出发,系统地梳理其核心组成部分、关键技术原理以及实际应用策略。全书内容围绕移动机器人的“大脑”——嵌入式系统,以及赋予其“身体”——移动平台与传感器的“灵魂”——感知、规划与控制能力展开,逐步引导读者从概念理解走向技术实践。 第一篇:移动机器人系统基础与嵌入式核心 本篇内容为整个移动机器人技术体系奠定了坚实的理论基础,并着重强调了嵌入式系统在其中扮演的不可替代的角色。 第一章:移动机器人概述与发展脉络 我们将首先介绍移动机器人的基本定义、分类(如轮式、履带式、足式、飞行式等)及其核心优势。通过回顾移动机器人技术的发展历程,勾勒出其从简单的远程遥控设备演变到如今高度自主、智能化的智能体这一宏伟图景。本章还将探讨当前移动机器人技术面临的主要挑战与未来发展趋势,为读者树立一个宏观的认知框架。 第二章:嵌入式系统在移动机器人中的作用 本章将深入剖析嵌入式系统为何成为移动机器人的“大脑”。我们将详细介绍嵌入式系统的基本构成,包括微处理器/微控制器(MCU)、内存、存储器、输入/输出接口(I/O)、以及配套的实时操作系统(RTOS)。重点阐述嵌入式系统在机器人任务中的关键职责,例如:传感器数据采集与处理、运动控制指令生成、通信协议实现、以及高级算法的运行支撑。我们将讨论不同类型的嵌入式处理器(如ARM、x86系列)在机器人应用中的适用性,以及嵌入式系统软硬件协同设计的挑战与策略。 第三章:机器人感知系统 感知是移动机器人理解周围环境、做出决策的先决条件。本章将详细介绍各类常用的机器人传感器及其工作原理: 测距传感器: 超声波传感器、红外传感器、激光雷达(LiDAR)的工作原理、优缺点、以及在障碍物检测、地图构建中的应用。 视觉传感器: 摄像头(单目、双目、深度摄像头)的成像原理、图像采集与预处理技术,以及计算机视觉在目标识别、场景理解中的基础应用。 定位与导航传感器: 惯性测量单元(IMU,包括加速度计、陀螺仪)、磁力计、GPS/GNSS、里程计(Wheel Odometry)的工作原理及融合应用。 环境感知传感器: 温度、湿度、气体传感器等,以及它们在特定应用场景下的价值。 本章还将探讨传感器数据的融合技术,以克服单一传感器的局限性,提高感知的鲁棒性和准确性。 第四章:移动平台设计与驱动 一个高效可靠的移动平台是机器人执行任务的基础。本章将聚焦于移动机器人的“身体”设计: 运动学模型: 轮式机器人的差速驱动、全向轮、阿克曼转向等基本运动学模型的推导与分析,理解机器人位姿(位置与姿态)与轮子速度之间的关系。 动力学模型: 简要介绍机器人运动时的力学特性,包括惯性、摩擦力等,为后续的控制算法设计提供依据。 驱动系统: 电机(直流电机、步进电机、伺服电机)的选型、电机驱动器(H-bridge, L298N等)的原理与接口,以及如何通过PWM(脉冲宽度调制)等技术实现精确的速度与位置控制。 底盘设计: 结构材料选择、重心设计、减震处理等,以适应不同工作环境的需求。 第二篇:核心控制与导航技术 在理解了机器人基础与嵌入式硬件之后,本篇将深入探讨赋予机器人智能行为的关键技术。 第五章:机器人运动控制 本章将带领读者掌握机器人精确运动的奥秘: 开环控制: 介绍基于简单指令(如速度、转向角度)的控制方式,以及其优缺点。 闭环控制: 重点讲解PID(比例-积分-微分)控制器在电机速度与位置控制中的原理、调参方法及其在实际应用中的调优技巧。 高级控制策略: 简要介绍如模糊控制、自适应控制等更复杂的控制方法,以及它们在应对非线性与不确定性环境时的优势。 运动规划与轨迹跟踪: 如何生成平滑、高效的运动轨迹,并使机器人能够精确地按照规划路径运动。 第六章:机器人定位与地图构建(SLAM) SLAM(Simultaneous Localization and Mapping,同步定位与地图构建)是实现机器人自主导航的核心技术。本章将系统介绍SLAM的原理与常用算法: 定位技术: 里程计(Odometry): 基于轮子编码器信息进行相对定位,分析其误差累积问题。 传感器辅助定位: 利用激光雷达、视觉传感器等回环检测(Loop Closure)与特征匹配来修正里程计误差。 全局定位: GPS/GNSS在户外环境的应用。 地图构建技术: 栅格地图(Occupancy Grid Map): 最常用的环境表示方法,用于表示障碍物的占据与自由空间。 特征地图(Feature Map): 基于检测到的环境特征点(如角点、线段)进行地图构建。 SLAM算法概述: 介绍基于滤波的SLAM(如EKF-SLAM)与基于优化的SLAM(如图优SLAM)的基本思想。 第七章:机器人路径规划 一旦机器人知道了自身位置并构建了地图,就需要规划一条从起点到终点的安全、最优路径。本章将深入探讨路径规划算法: 全局路径规划: 搜索算法: Dijkstra算法、A算法在栅格地图上的应用,以及它们在寻找最短路径方面的原理。 采样算法: RRT(Rapidly-exploring Random Tree)、PRM(Probabilistic Roadmap)在复杂、高维空间中的应用。 局部路径规划(避障): 人工势场法(Artificial Potential Field): 引入虚拟的引力与斥力来引导机器人避开障碍物。 动态窗口法(Dynamic Window Approach, DWA): 基于机器人运动学约束,在局部速度空间中搜索最优的运动指令。 其他局部避障方法。 第三篇:高级应用与系统集成 本篇将进一步拓展机器人的智能边界,并关注实际系统集成中的关键问题。 第八章:人机交互与任务执行 智能移动机器人最终是为人类服务的,良好的人机交互设计至关重要。本章将讨论: 用户界面设计: 如何通过图形化界面、语音指令、手势识别等方式实现直观的用户交互。 任务分配与调度: 在多机器人协作场景下,如何进行任务的有效分配与协调。 状态监测与故障诊断: 机器人系统自身的健康状态监测,以及简单的故障排除策略。 第九章:移动机器人实际应用案例分析 为了让读者更直观地理解理论知识的应用,本章将选取不同领域的典型移动机器人应用案例进行深度剖析。例如: 工业自动化: 仓储AGV(Automated Guided Vehicle)的导航与调度。 服务机器人: 扫地机器人、送餐机器人、导览机器人的设计与实现。 特种机器人: 探索机器人、救援机器人的复杂环境适应性。 通过分析这些案例,读者可以学习到如何在实际项目中权衡技术选择、解决工程难题。 第十章:嵌入式系统软件开发与优化 本章将聚焦于嵌入式系统软件层面,是实现机器人功能的核心: RTOS(实时操作系统)应用: 介绍FreeRTOS、RT-Thread等常用RTOS,讲解任务管理、进程间通信(IPC)、内存管理等核心概念,以及如何在RTOS下构建稳定高效的机器人控制软件。 机器人操作系统(ROS)基础: 介绍ROS作为机器人开发领域的事实标准,其节点、主题、服务、参数服务器等核心概念,以及如何利用ROS生态中的丰富库进行快速开发。 嵌入式Linux应用: 在性能要求更高的机器人上,如何使用嵌入式Linux系统,以及与RTOS的对比。 软件性能优化: 介绍代码优化、算法效率提升、多线程/多进程编程等技巧,以满足嵌入式系统有限的计算资源要求。 第十一章:系统集成与调试 成功的设计与开发最终需要将所有模块集成在一起,并进行有效的调试。本章将提供实践指导: 硬件接口与通信: 各种通信协议(如UART, SPI, I2C, CAN, Ethernet, Wi-Fi)在机器人系统中的应用,以及如何进行硬件接口的调试。 软件集成策略: 如何将不同的软件模块(驱动、感知、控制、规划)有机地整合在一起,形成完整的机器人系统。 调试工具与方法: 介绍常用的调试器(如JTAG/SWD)、逻辑分析仪、示波器,以及软件调试技术(如断点、日志输出、仿真)。 系统测试与验证: 如何设计测试用例,对机器人的各项功能进行全面而严谨的测试,确保系统的稳定性和可靠性。 本书的编写旨在提供一种由浅入深、理论与实践相结合的学习路径。我们相信,通过对本书内容的系统学习和深入思考,读者将能够全面掌握移动机器人的核心技术,并具备独立设计、开发和应用各类嵌入式移动机器人的能力,为迎接智能时代带来的机遇做好充分准备。