书籍详情
基于16\32位DSP机器人控制系统设计与实现(普通高等教育十一五国家级规划教材)
作者:张培仁、张志坚、郑旭东、张华宾
出版社:清华大学出版社
出版时间:2006-10-01
ISBN:9787302139034
定价:¥45.00
购买这本书可以去
内容简介
机器人的研究应用与发展对国民经济各领域的推动起到了越来越重要的作用。“机器人设计技术”课程也将在重点高校作为一门学科建设受到重视。本书积聚了作者5年来的科研成果和丰富的教学经验,全书以4部分22章分别讲述了基于16/32位DSP机器人控制系统的理论基础,涉及时下几个主流DSP系列,如TMS320LF240x和TMS320C28x。然后,作者将获奖成果或已投入生产的项目“足球机器人”、“自平衡两轮电动车”、“旋转式倒立摆”用来具体讲述系统的实现过程,包括硬件设计、软件设计、算法设计、电路系统分析与设计等,是一本含金量相当高的科技教材。本书已列入“普通高等教育‘十一五’国家级规划教材”,适合作为人工智能、自动化控制、电子电气、机械设计及相关专业的本科生教材,也适合作为研究生和相关研究开发人员的技术参考用书。
作者简介
张培仁老师,中国科学技术大学博士生导师、教授,从事嵌入式系统研究长达30年之久,在机器人、自动控制、嵌入式技术、远程控制网络等领域是业界公认的专家。出版嵌入式相关著作10余本。作者多次担任央视CCTV大学生机器人比赛的技术指导。
目录
第0章 机器人学的发展和相关机器人系统介绍 1
0.1 机器人学的发展概述 1
0.2 机器人研究的热点和内容 2
0.2.1 机械结构设计 2
0.2.2 体系结构设计 2
0.2.3 多机器人系统的研究 3
0.2.4 机器人的传感器和传感器信息融合 4
0.2.5 机器人的电路系统设计 5
0.3 足球机器人简介 6
0.3.1 足球机器人主要组成部分 6
0.3.2 研究足球机器人的意义 8
0.4 自平衡两轮电动车简介 9
0.5 倒立摆机器人系统概述 10
第1部分 基础理论
第1章 DSP概述 12
1.1 DSP的特点 12
1.2 TI公司的DSP产品 14
第2章 TMS320LF240x概述 17
2.1 TMS320C2000系列DSP概况 17
2.2 TMS320LF240x芯片特点 17
2.3 TMS320LF240x DSP的PGE封装图和CPU控制器功能结构图 18
2.4 TMS320LF240x DSP引脚功能 21
2.5 TMS320LF240x DSP存储器映射图 27
2.6 TMS320LF240x DSP外设存储器映射图 30
2.7 TMS320LF240x的存储器和IO空间 31
2.7.1 程序存储器 31
2.7.2 数据存储器 32
2.7.3 I/O空间 34
第3章 TMS320LF240x DSP内部资源 35
3.1 TMS320LF240x DSP的CPU功能模块 35
3.1.1 状态寄存器ST0和ST1 38
3.1.2 输入定标移位器 40
3.1.3 乘法器 41
3.1.4 中央算术逻辑部分 42
3.1.5 辅助寄存器算术单元(ARAU) 43
3.2 系统配置和中断 45
3.2.1 系统配置寄存器 47
3.2.2 中断优先级和中断向量表 51
3.2.3 外设中断扩展控制器(PIE) 54
3.2.4 中断向量 56
3.2.5 中断响应的流程 57
3.2.6 中断响应的延时 58
3.2.7 CPU中断寄存器 58
3.2.8 外设中断寄存器 61
3.2.9 复位 67
3.2.10 无效地址检测 67
3.2.11 外部中断控制寄存器 67
3.3 程序控制 69
3.3.1 程序地址的产生 69
3.3.2 流水线操作 72
3.3.3 转移、调用和返回 73
3.3.4 条件转移、调用和返回 74
3.3.5 重复单条指令 76
第4章 TMS320C28x系列概述 77
4.1 TMS320C28x系列芯片的性能 77
4.2 TMS320F28x系列DSP的引脚及其功能 79
4.3 C28x系列DSP的内部结构 92
第5章 C28x系列DSP内部资源介绍 98
5.1 中央处理器单元CPU 98
5.1.1 CPU的逻辑图及特性 99
5.1.2 CPU的结构及其总线 100
5.1.3 CPU的寄存器 101
5.2 时钟和系统控制 106
5.2.1 时钟信号和控制寄存器 106
5.2.2 振荡器OSC和锁相环PLL时钟模块 107
5.2.3 低功耗方式模块 109
5.2.4 看门狗模块 110
5.3 CPU的中断系统和复位 110
5.3.1 CPU中断向量和优先级 112
5.3.2 CPU中断寄存器 113
5.3.3 可屏蔽中断处理的标准操作流程 113
5.3.4 不可屏蔽中断 114
5.4 片内外设的中断扩展(PIE) 115
5.4.1 向量映射 116
5.4.2 从外设到CPU的多通道中断请求流程 118
5.4.3 PIE向量表 118
5.5 32位CPU定时器0/1/2 125
5.5.1 CPU定时器的寄存器 126
第6章 C语言程序编写和调试环境 131
6.1 TMS320C2x/C2xx/C5x C编译器概述 131
6.2 TMC320C2x/C2xx/C5x C编译器环境 132
6.2.1 主要菜单及功能介绍 134
6.2.2 工作窗口区 137
6.2.3 利用TMC320C2x/C2xx/C5x C编译器开发应用程序 139
6.2.4 头文件和命令文件示例 142
第2部分 RoboCup小型组机器人
第7章 RoboCup简介 151
7.1 机器人足球比赛的起源和类型 151
7.2 小型组比赛 152
7.3 国内外的相关进展 153
7.3.1 国际领先队伍介绍 153
7.3.2 国内参赛队伍介绍 154
7.4 小型组比赛系统 155
7.4.1 系统组成及其相互关系 155
7.4.2 视觉子系统 155
7.4.3 决策子系统 156
7.4.4 无线通信子系统 157
7.4.5 机器人车体子系统 159
第8章 底层系统设计 160
8.1 研究的出发点和发展趋势 160
8.2 机构设计概况 161
8.3 电路系统设计概况 164
第9章 机构设计 166
9.1 机构设计流程 166
9.2 设计目标 166
9.3 运动机构的分析与设计 167
9.3.1 轮子的设计思想 167
9.3.2 轮子布局 171
9.4 球处理机构的分析与设计 176
9.4.1 带球机构 176
9.4.2 击球机构 179
9.4.3 挑球机构 181
第10章 电路系统分析与设计 185
10.1 电路系统总述 185
10.2 主控芯片的性能与工作方式 187
10.2.1 TMS320F2812 187
10.2.2 HCTL2000 188
10.3 通信系统 192
10.3.1 通信结构 193
10.3.2 nRF2401 193
10.3.3 异步串行通信芯片ST16C550 194
10.4 各执行机构的驱动与控制电路 198
10.4.1 带球机构 198
10.4.2 运动机构 199
10.4.3 击球和挑球机构 201
10.5 传感器电路设计 203
10.5.1 球检测电路 203
10.5.2 车体姿态传感器 204
10.5.3 ADXL210JE 205
10.5.4 ADXRS300 208
10.6 辅助电路 213
10.6.1 74HC595 213
10.6.2 EEPROM 217
第11章 控制系统的实现 230
11.1 控制系统简介 230
11.2 指令信息的接收与处理 230
11.3 机构控制 236
11.3.1 带球机构 236
11.3.2 击、挑球机构 237
11.4 异常预防与处理 238
11.5 软件实现 240
第12章 运动控制 242
12.1 综述 242
12.2 基于动力学模型的实时次优轨迹生成算法 243
12.2.1 建模 243
12.2.2 输入域的解耦和分离 245
12.2.3 基于bang-bang控制的轨迹生成算法 247
12.2.4 轨迹同步 249
12.2.5 结果 250
12.3 底层运动控制 253
12.3.1 基于数字PI算法的电机调速 253
12.3.2 针对扭矩控制的改进数字PI算法 255
12.3.3 基于强化学习的参数整定方法 257
第3部分 自平衡两轮电动车
第13章 概述 260
13.1 自平衡两轮电动车及其设计流程 260
13.1.1 自平衡两轮电动车 260
13.1.2 自平衡两轮电动车设计流程 261
第14章 系统动力学分析 263
14.1 力学分析 263
14.1.1 建立坐标系 263
14.1.2 系统模型参数 263
14.1.3 系统速度 264
14.1.4 系统动能的计算 265
14.1.5 系统运动微分方程 267
14.2 系统参数的测量 270
14.2.1 理论基础 270
14.2.2 硬件电路工作原理 271
14.2.3 参数测量 273
第15章 硬件设计 276
15.1 总体设计 276
15.2 DSP TMS320LF2407A 277
15.2.1 TMS320LF240xA概述 277
15.2.2 TMS320LF2407A 279
15.3 摆杆角度的测量 280
15.3.1 传感器简介 280
15.3.2 倾角传感器 281
15.4 摆杆角速度的测量 284
15.4.1 微型固态陀螺MEMS角速度传感器 284
15.4.2 ENC-03JA角速度传感器 286
15.5 左右轮角速度的测量 288
15.5.1 E6B编码器 288
15.5.2 码盘信号检测 290
15.6 电源和系统状态指示 291
15.6.1 电源 291
15.6.2 系统状态指示 292
15.7 功放电路 292
15.7.1 功率MOSFET简介 292
15.7.2 驱动电路 294
第16章 系统调试、仿真平台 296
16.1 TMS320LF2407A与PC机的串行通信 296
16.1.1 TMS320LF2407A的串行通信接口 296
16.1.2 电平转换电路 300
16.1.3 PC端监控软件 301
16.2 TMS320LF2407A与PC机的无线通信 303
16.2.1 nRF2401简介 304
16.2.2 nRF2401在自平衡两轮电动车调试平台中的应用 306
16.3 PC端分析、仿真软件——MATLAB 308
第17章 线性系统理论在自平衡两轮电动车中的应用 310
17.1 理论基础 310
17.2 几个重要的MATLAB函数 312
17.3 自平衡两轮电动车状态空间模型 313
17.4 自平衡两轮电动车载人时的状态反馈控制 315
17.4.1 系统状态方程、能控性 315
17.4.2 第一种情况 316
17.4.3 第二种情况 318
17.4.4 第三种情况 320
17.4.5 三种情况的分析 322
第4部分 旋转式倒立摆
第18章 倒立摆系统概述 324
18.1 倒立摆的基本概念 324
18.2 常见的倒立摆 325
第19章 硬件设计 328
19.1 系统总体设计方案 328
19.1.1 旋转式倒立摆总体结构 328
19.1.2 倒立摆系统工作原理 329
19.2 机械设计 330
19.3 DSP控制器 331
19.4 DSP的电源供电及时钟选择 335
19.4.1 供电方案 335
19.4.2 DSP的时钟选择 336
19.5 复位电路及MAX706 337
19.6 通信接口 339
19.7 角位移传感器 340
19.8 无刷直流电机及控制电路 341
19.8.1 无刷直流电机的结构及原理 341
19.8.2 使用dq变换求取无刷直流力矩电机系统的数学模型 343
19.8.3 无刷直流力矩电机系统的函数 344
19.8.4 无刷直流电机的力矩波动 345
19.8.5 电机驱动的设计 346
第20章 软件设计 352
20.1 DSP程序总体设计与流程图 352
20.2 DSP中断服务子程序、寄存器 353
20.2.1 初始化子程序 353
20.2.2 脉宽调制控制输出子程序初始化 355
20.2.3 串口通信子程序 355
20.2.4 采样子程序 356
20.2.5 控制计算子程序 357
20.3 PC软件设计 357
第21章 模型分析与控制算法设计 361
21.1 倒立摆模型分析 361
21.1.1 模型分析 361
21.1.2 试验参数计算 363
21.2 基于状态反馈的带观测器的倒立控制 364
21.3 基于能量分析的摆起控制 368
21.3.1 摆起控制的实现方法 368
21.3.2 “摆起-倒立”控制效果 369目 录
第0章 机器人学的发展和相关机器人系统介绍 1
0.1 机器人学的发展概述 1
0.2 机器人研究的热点和内容 2
0.2.1 机械结构设计 2
0.2.2 体系结构设计 2
0.2.3 多机器人系统的研究 3
0.2.4 机器人的传感器和传感器信息融合 4
0.2.5 机器人的电路系统设计 5
0.3 足球机器人简介 6
0.3.1 足球机器人主要组成部分 6
0.3.2 研究足球机器人的意义 8
0.4 自平衡两轮电动车简介 9
0.5 倒立摆机器人系统概述 10
第1部分 基础理论
第1章 DSP概述 12
1.1 DSP的特点 12
1.2 TI公司的DSP产品 14
第2章 TMS320LF240x概述 17
2.1 TMS320C2000系列DSP概况 17
2.2 TMS320LF240x芯片特点 17
2.3 TMS320LF240x DSP的PGE封装图和CPU控制器功能结构图 18
2.4 TMS320LF240x DSP引脚功能 21
2.5 TMS320LF240x DSP存储器映射图 27
2.6 TMS320LF240x DSP外设存储器映射图 30
2.7 TMS320LF240x的存储器和IO空间 31
2.7.1 程序存储器 31
2.7.2 数据存储器 32
2.7.3 I/O空间 34
第3章 TMS320LF240x DSP内部资源 35
3.1 TMS320LF240x DSP的CPU功能模块 35
3.1.1 状态寄存器ST0和ST1 38
3.1.2 输入定标移位器 40
3.1.3 乘法器 41
3.1.4 中央算术逻辑部分 42
3.1.5 辅助寄存器算术单元(ARAU) 43
3.2 系统配置和中断 45
3.2.1 系统配置寄存器 47
3.2.2 中断优先级和中断向量表 51
3.2.3 外设中断扩展控制器(PIE) 54
3.2.4 中断向量 56
3.2.5 中断响应的流程 57
3.2.6 中断响应的延时 58
3.2.7 CPU中断寄存器 58
3.2.8 外设中断寄存器 61
3.2.9 复位 67
3.2.10 无效地址检测 67
3.2.11 外部中断控制寄存器 67
3.3 程序控制 69
3.3.1 程序地址的产生 69
3.3.2 流水线操作 72
3.3.3 转移、调用和返回 73
3.3.4 条件转移、调用和返回 74
3.3.5 重复单条指令 76
第4章 TMS320C28x系列概述 77
4.1 TMS320C28x系列芯片的性能 77
4.2 TMS320F28x系列DSP的引脚及其功能 79
4.3 C28x系列DSP的内部结构 92
第5章 C28x系列DSP内部资源介绍 98
5.1 中央处理器单元CPU 98
5.1.1 CPU的逻辑图及特性 99
5.1.2 CPU的结构及其总线 100
5.1.3 CPU的寄存器 101
5.2 时钟和系统控制 106
5.2.1 时钟信号和控制寄存器 106
5.2.2 振荡器OSC和锁相环PLL时钟模块 107
5.2.3 低功耗方式模块 109
5.2.4 看门狗模块 110
5.3 CPU的中断系统和复位 110
5.3.1 CPU中断向量和优先级 112
5.3.2 CPU中断寄存器 113
5.3.3 可屏蔽中断处理的标准操作流程 113
5.3.4 不可屏蔽中断 114
5.4 片内外设的中断扩展(PIE) 115
5.4.1 向量映射 116
5.4.2 从外设到CPU的多通道中断请求流程 118
5.4.3 PIE向量表 118
5.5 32位CPU定时器0/1/2 125
5.5.1 CPU定时器的寄存器 126
第6章 C语言程序编写和调试环境 131
6.1 TMS320C2x/C2xx/C5x C编译器概述 131
6.2 TMC320C2x/C2xx/C5x C编译器环境 132
6.2.1 主要菜单及功能介绍 134
6.2.2 工作窗口区 137
6.2.3 利用TMC320C2x/C2xx/C5x C编译器开发应用程序 139
6.2.4 头文件和命令文件示例 142
第2部分 RoboCup小型组机器人
第7章 RoboCup简介 151
7.1 机器人足球比赛的起源和类型 151
7.2 小型组比赛 152
7.3 国内外的相关进展 153
7.3.1 国际领先队伍介绍 153
7.3.2 国内参赛队伍介绍 154
7.4 小型组比赛系统 155
7.4.1 系统组成及其相互关系 155
7.4.2 视觉子系统 155
7.4.3 决策子系统 156
7.4.4 无线通信子系统 157
7.4.5 机器人车体子系统 159
第8章 底层系统设计 160
8.1 研究的出发点和发展趋势 160
8.2 机构设计概况 161
8.3 电路系统设计概况 164
第9章 机构设计 166
9.1 机构设计流程 166
9.2 设计目标 166
9.3 运动机构的分析与设计 167
9.3.1 轮子的设计思想 167
9.3.2 轮子布局 171
9.4 球处理机构的分析与设计 176
9.4.1 带球机构 176
9.4.2 击球机构 179
9.4.3 挑球机构 181
第10章 电路系统分析与设计 185
10.1 电路系统总述 185
10.2 主控芯片的性能与工作方式 187
10.2.1 TMS320F2812 187
10.2.2 HCTL2000 188
10.3 通信系统 192
10.3.1 通信结构 193
10.3.2 nRF2401 193
10.3.3 异步串行通信芯片ST16C550 194
10.4 各执行机构的驱动与控制电路 198
10.4.1 带球机构 198
10.4.2 运动机构 199
10.4.3 击球和挑球机构 201
10.5 传感器电路设计 203
10.5.1 球检测电路 203
10.5.2 车体姿态传感器 204
10.5.3 ADXL210JE 205
10.5.4 ADXRS300 208
10.6 辅助电路 213
10.6.1 74HC595 213
10.6.2 EEPROM 217
第11章 控制系统的实现 230
11.1 控制系统简介 230
11.2 指令信息的接收与处理 230
11.3 机构控制 236
11.3.1 带球机构 236
11.3.2 击、挑球机构 237
11.4 异常预防与处理 238
11.5 软件实现 240
第12章 运动控制 242
12.1 综述 242
12.2 基于动力学模型的实时次优轨迹生成算法 243
12.2.1 建模 243
12.2.2 输入域的解耦和分离 245
12.2.3 基于bang-bang控制的轨迹生成算法 247
12.2.4 轨迹同步 249
12.2.5 结果 250
12.3 底层运动控制 253
12.3.1 基于数字PI算法的电机调速 253
12.3.2 针对扭矩控制的改进数字PI算法 255
12.3.3 基于强化学习的参数整定方法 257
第3部分 自平衡两轮电动车
第13章 概述 260
13.1 自平衡两轮电动车及其设计流程 260
13.1.1 自平衡两轮电动车 260
13.1.2 自平衡两轮电动车设计流程 261
第14章 系统动力学分析 263
14.1 力学分析 263
14.1.1 建立坐标系 263
14.1.2 系统模型参数 263
14.1.3 系统速度 264
14.1.4 系统动能的计算 265
14.1.5 系统运动微分方程 267
14.2 系统参数的测量 270
14.2.1 理论基础 270
14.2.2 硬件电路工作原理 271
14.2.3 参数测量 273
第15章 硬件设计 276
15.1 总体设计 276
15.2 DSP TMS320LF2407A 277
15.2.1 TMS320LF240xA概述 277
15.2.2 TMS320LF2407A 279
15.3 摆杆角度的测量 280
15.3.1 传感器简介 280
15.3.2 倾角传感器 281
15.4 摆杆角速度的测量 284
15.4.1 微型固态陀螺MEMS角速度传感器 284
15.4.2 ENC-03JA角速度传感器 286
15.5 左右轮角速度的测量 288
15.5.1 E6B编码器 288
15.5.2 码盘信号检测 290
15.6 电源和系统状态指示 291
15.6.1 电源 291
15.6.2 系统状态指示 292
15.7 功放电路 292
15.7.1 功率MOSFET简介 292
15.7.2 驱动电路 294
第16章 系统调试、仿真平台 296
16.1 TMS320LF2407A与PC机的串行通信 296
16.1.1 TMS320LF2407A的串行通信接口 296
16.1.2 电平转换电路 300
16.1.3 PC端监控软件 301
16.2 TMS320LF2407A与PC机的无线通信 303
16.2.1 nRF2401简介 304
16.2.2 nRF2401在自平衡两轮电动车调试平台中的应用 306
16.3 PC端分析、仿真软件——MATLAB 308
第17章 线性系统理论在自平衡两轮电动车中的应用 310
17.1 理论基础 310
17.2 几个重要的MATLAB函数 312
17.3 自平衡两轮电动车状态空间模型 313
17.4 自平衡两轮电动车载人时的状态反馈控制 315
17.4.1 系统状态方程、能控性 315
17.4.2 第一种情况 316
17.4.3 第二种情况 318
17.4.4 第三种情况 320
17.4.5 三种情况的分析 322
第4部分 旋转式倒立摆
第18章 倒立摆系统概述 324
18.1 倒立摆的基本概念 324
18.2 常见的倒立摆 325
第19章 硬件设计 328
19.1 系统总体设计方案 328
19.1.1 旋转式倒立摆总体结构 328
19.1.2 倒立摆系统工作原理 329
19.2 机械设计 330
19.3 DSP控制器 331
19.4 DSP的电源供电及时钟选择 335
19.4.1 供电方案 335
19.4.2 DSP的时钟选择 336
19.5 复位电路及MAX706 337
19.6 通信接口 339
19.7 角位移传感器 340
19.8 无刷直流电机及控制电路 341
19.8.1 无刷直流电机的结构及原理 341
19.8.2 使用dq变换求取无刷直流力矩电机系统的数学模型 343
19.8.3 无刷直流力矩电机系统的函数 344
19.8.4 无刷直流电机的力矩波动 345
19.8.5 电机驱动的设计 346
第20章 软件设计 352
20.1 DSP程序总体设计与流程图 352
20.2 DSP中断服务子程序、寄存器 353
20.2.1 初始化子程序 353
20.2.2 脉宽调制控制输出子程序初始化 355
20.2.3 串口通信子程序 355
20.2.4 采样子程序 356
20.2.5 控制计算子程序 357
20.3 PC软件设计 357
第21章 模型分析与控制算法设计 361
21.1 倒立摆模型分析 361
21.1.1 模型分析 361
21.1.2 试验参数计算 363
21.2 基于状态反馈的带观测器的倒立控制 364
21.3 基于能量分析的摆起控制 368
21.3.1 摆起控制的实现方法 368
21.3.2 “摆起-倒立”控制效果 369
第22章 随动系统 372
22.1 随动系统的结构和原理 372
22.1.1 把倒立摆改装为随动系统 372
22.1.2 电平转换器 373
22.2 随动系统稳定性分析 375
22.3 随动系统的时域特性分析 376
22.4 随动系统的频域特性分析 378
22.5 随动系统的频域校正实验 380
附录A C-Lib中的函数集 385
附录B 解耦图形的推导 397
附录C 电机调速程序 399
第22章 随动系统 372
22.1 随动系统的结构和原理 372
22.1.1 把倒立摆改装为随动系统 372
22.1.2 电平转换器 373
22.2 随动系统稳定性分析 375
22.3 随动系统的时域特性分析 376
22.4 随动系统的频域特性分析 378
22.5 随动系统的频域校正实验 380
附录A C-Lib中的函数集 385
附录B 解耦图形的推导 397
附录C 电机调速程序 399
0.1 机器人学的发展概述 1
0.2 机器人研究的热点和内容 2
0.2.1 机械结构设计 2
0.2.2 体系结构设计 2
0.2.3 多机器人系统的研究 3
0.2.4 机器人的传感器和传感器信息融合 4
0.2.5 机器人的电路系统设计 5
0.3 足球机器人简介 6
0.3.1 足球机器人主要组成部分 6
0.3.2 研究足球机器人的意义 8
0.4 自平衡两轮电动车简介 9
0.5 倒立摆机器人系统概述 10
第1部分 基础理论
第1章 DSP概述 12
1.1 DSP的特点 12
1.2 TI公司的DSP产品 14
第2章 TMS320LF240x概述 17
2.1 TMS320C2000系列DSP概况 17
2.2 TMS320LF240x芯片特点 17
2.3 TMS320LF240x DSP的PGE封装图和CPU控制器功能结构图 18
2.4 TMS320LF240x DSP引脚功能 21
2.5 TMS320LF240x DSP存储器映射图 27
2.6 TMS320LF240x DSP外设存储器映射图 30
2.7 TMS320LF240x的存储器和IO空间 31
2.7.1 程序存储器 31
2.7.2 数据存储器 32
2.7.3 I/O空间 34
第3章 TMS320LF240x DSP内部资源 35
3.1 TMS320LF240x DSP的CPU功能模块 35
3.1.1 状态寄存器ST0和ST1 38
3.1.2 输入定标移位器 40
3.1.3 乘法器 41
3.1.4 中央算术逻辑部分 42
3.1.5 辅助寄存器算术单元(ARAU) 43
3.2 系统配置和中断 45
3.2.1 系统配置寄存器 47
3.2.2 中断优先级和中断向量表 51
3.2.3 外设中断扩展控制器(PIE) 54
3.2.4 中断向量 56
3.2.5 中断响应的流程 57
3.2.6 中断响应的延时 58
3.2.7 CPU中断寄存器 58
3.2.8 外设中断寄存器 61
3.2.9 复位 67
3.2.10 无效地址检测 67
3.2.11 外部中断控制寄存器 67
3.3 程序控制 69
3.3.1 程序地址的产生 69
3.3.2 流水线操作 72
3.3.3 转移、调用和返回 73
3.3.4 条件转移、调用和返回 74
3.3.5 重复单条指令 76
第4章 TMS320C28x系列概述 77
4.1 TMS320C28x系列芯片的性能 77
4.2 TMS320F28x系列DSP的引脚及其功能 79
4.3 C28x系列DSP的内部结构 92
第5章 C28x系列DSP内部资源介绍 98
5.1 中央处理器单元CPU 98
5.1.1 CPU的逻辑图及特性 99
5.1.2 CPU的结构及其总线 100
5.1.3 CPU的寄存器 101
5.2 时钟和系统控制 106
5.2.1 时钟信号和控制寄存器 106
5.2.2 振荡器OSC和锁相环PLL时钟模块 107
5.2.3 低功耗方式模块 109
5.2.4 看门狗模块 110
5.3 CPU的中断系统和复位 110
5.3.1 CPU中断向量和优先级 112
5.3.2 CPU中断寄存器 113
5.3.3 可屏蔽中断处理的标准操作流程 113
5.3.4 不可屏蔽中断 114
5.4 片内外设的中断扩展(PIE) 115
5.4.1 向量映射 116
5.4.2 从外设到CPU的多通道中断请求流程 118
5.4.3 PIE向量表 118
5.5 32位CPU定时器0/1/2 125
5.5.1 CPU定时器的寄存器 126
第6章 C语言程序编写和调试环境 131
6.1 TMS320C2x/C2xx/C5x C编译器概述 131
6.2 TMC320C2x/C2xx/C5x C编译器环境 132
6.2.1 主要菜单及功能介绍 134
6.2.2 工作窗口区 137
6.2.3 利用TMC320C2x/C2xx/C5x C编译器开发应用程序 139
6.2.4 头文件和命令文件示例 142
第2部分 RoboCup小型组机器人
第7章 RoboCup简介 151
7.1 机器人足球比赛的起源和类型 151
7.2 小型组比赛 152
7.3 国内外的相关进展 153
7.3.1 国际领先队伍介绍 153
7.3.2 国内参赛队伍介绍 154
7.4 小型组比赛系统 155
7.4.1 系统组成及其相互关系 155
7.4.2 视觉子系统 155
7.4.3 决策子系统 156
7.4.4 无线通信子系统 157
7.4.5 机器人车体子系统 159
第8章 底层系统设计 160
8.1 研究的出发点和发展趋势 160
8.2 机构设计概况 161
8.3 电路系统设计概况 164
第9章 机构设计 166
9.1 机构设计流程 166
9.2 设计目标 166
9.3 运动机构的分析与设计 167
9.3.1 轮子的设计思想 167
9.3.2 轮子布局 171
9.4 球处理机构的分析与设计 176
9.4.1 带球机构 176
9.4.2 击球机构 179
9.4.3 挑球机构 181
第10章 电路系统分析与设计 185
10.1 电路系统总述 185
10.2 主控芯片的性能与工作方式 187
10.2.1 TMS320F2812 187
10.2.2 HCTL2000 188
10.3 通信系统 192
10.3.1 通信结构 193
10.3.2 nRF2401 193
10.3.3 异步串行通信芯片ST16C550 194
10.4 各执行机构的驱动与控制电路 198
10.4.1 带球机构 198
10.4.2 运动机构 199
10.4.3 击球和挑球机构 201
10.5 传感器电路设计 203
10.5.1 球检测电路 203
10.5.2 车体姿态传感器 204
10.5.3 ADXL210JE 205
10.5.4 ADXRS300 208
10.6 辅助电路 213
10.6.1 74HC595 213
10.6.2 EEPROM 217
第11章 控制系统的实现 230
11.1 控制系统简介 230
11.2 指令信息的接收与处理 230
11.3 机构控制 236
11.3.1 带球机构 236
11.3.2 击、挑球机构 237
11.4 异常预防与处理 238
11.5 软件实现 240
第12章 运动控制 242
12.1 综述 242
12.2 基于动力学模型的实时次优轨迹生成算法 243
12.2.1 建模 243
12.2.2 输入域的解耦和分离 245
12.2.3 基于bang-bang控制的轨迹生成算法 247
12.2.4 轨迹同步 249
12.2.5 结果 250
12.3 底层运动控制 253
12.3.1 基于数字PI算法的电机调速 253
12.3.2 针对扭矩控制的改进数字PI算法 255
12.3.3 基于强化学习的参数整定方法 257
第3部分 自平衡两轮电动车
第13章 概述 260
13.1 自平衡两轮电动车及其设计流程 260
13.1.1 自平衡两轮电动车 260
13.1.2 自平衡两轮电动车设计流程 261
第14章 系统动力学分析 263
14.1 力学分析 263
14.1.1 建立坐标系 263
14.1.2 系统模型参数 263
14.1.3 系统速度 264
14.1.4 系统动能的计算 265
14.1.5 系统运动微分方程 267
14.2 系统参数的测量 270
14.2.1 理论基础 270
14.2.2 硬件电路工作原理 271
14.2.3 参数测量 273
第15章 硬件设计 276
15.1 总体设计 276
15.2 DSP TMS320LF2407A 277
15.2.1 TMS320LF240xA概述 277
15.2.2 TMS320LF2407A 279
15.3 摆杆角度的测量 280
15.3.1 传感器简介 280
15.3.2 倾角传感器 281
15.4 摆杆角速度的测量 284
15.4.1 微型固态陀螺MEMS角速度传感器 284
15.4.2 ENC-03JA角速度传感器 286
15.5 左右轮角速度的测量 288
15.5.1 E6B编码器 288
15.5.2 码盘信号检测 290
15.6 电源和系统状态指示 291
15.6.1 电源 291
15.6.2 系统状态指示 292
15.7 功放电路 292
15.7.1 功率MOSFET简介 292
15.7.2 驱动电路 294
第16章 系统调试、仿真平台 296
16.1 TMS320LF2407A与PC机的串行通信 296
16.1.1 TMS320LF2407A的串行通信接口 296
16.1.2 电平转换电路 300
16.1.3 PC端监控软件 301
16.2 TMS320LF2407A与PC机的无线通信 303
16.2.1 nRF2401简介 304
16.2.2 nRF2401在自平衡两轮电动车调试平台中的应用 306
16.3 PC端分析、仿真软件——MATLAB 308
第17章 线性系统理论在自平衡两轮电动车中的应用 310
17.1 理论基础 310
17.2 几个重要的MATLAB函数 312
17.3 自平衡两轮电动车状态空间模型 313
17.4 自平衡两轮电动车载人时的状态反馈控制 315
17.4.1 系统状态方程、能控性 315
17.4.2 第一种情况 316
17.4.3 第二种情况 318
17.4.4 第三种情况 320
17.4.5 三种情况的分析 322
第4部分 旋转式倒立摆
第18章 倒立摆系统概述 324
18.1 倒立摆的基本概念 324
18.2 常见的倒立摆 325
第19章 硬件设计 328
19.1 系统总体设计方案 328
19.1.1 旋转式倒立摆总体结构 328
19.1.2 倒立摆系统工作原理 329
19.2 机械设计 330
19.3 DSP控制器 331
19.4 DSP的电源供电及时钟选择 335
19.4.1 供电方案 335
19.4.2 DSP的时钟选择 336
19.5 复位电路及MAX706 337
19.6 通信接口 339
19.7 角位移传感器 340
19.8 无刷直流电机及控制电路 341
19.8.1 无刷直流电机的结构及原理 341
19.8.2 使用dq变换求取无刷直流力矩电机系统的数学模型 343
19.8.3 无刷直流力矩电机系统的函数 344
19.8.4 无刷直流电机的力矩波动 345
19.8.5 电机驱动的设计 346
第20章 软件设计 352
20.1 DSP程序总体设计与流程图 352
20.2 DSP中断服务子程序、寄存器 353
20.2.1 初始化子程序 353
20.2.2 脉宽调制控制输出子程序初始化 355
20.2.3 串口通信子程序 355
20.2.4 采样子程序 356
20.2.5 控制计算子程序 357
20.3 PC软件设计 357
第21章 模型分析与控制算法设计 361
21.1 倒立摆模型分析 361
21.1.1 模型分析 361
21.1.2 试验参数计算 363
21.2 基于状态反馈的带观测器的倒立控制 364
21.3 基于能量分析的摆起控制 368
21.3.1 摆起控制的实现方法 368
21.3.2 “摆起-倒立”控制效果 369目 录
第0章 机器人学的发展和相关机器人系统介绍 1
0.1 机器人学的发展概述 1
0.2 机器人研究的热点和内容 2
0.2.1 机械结构设计 2
0.2.2 体系结构设计 2
0.2.3 多机器人系统的研究 3
0.2.4 机器人的传感器和传感器信息融合 4
0.2.5 机器人的电路系统设计 5
0.3 足球机器人简介 6
0.3.1 足球机器人主要组成部分 6
0.3.2 研究足球机器人的意义 8
0.4 自平衡两轮电动车简介 9
0.5 倒立摆机器人系统概述 10
第1部分 基础理论
第1章 DSP概述 12
1.1 DSP的特点 12
1.2 TI公司的DSP产品 14
第2章 TMS320LF240x概述 17
2.1 TMS320C2000系列DSP概况 17
2.2 TMS320LF240x芯片特点 17
2.3 TMS320LF240x DSP的PGE封装图和CPU控制器功能结构图 18
2.4 TMS320LF240x DSP引脚功能 21
2.5 TMS320LF240x DSP存储器映射图 27
2.6 TMS320LF240x DSP外设存储器映射图 30
2.7 TMS320LF240x的存储器和IO空间 31
2.7.1 程序存储器 31
2.7.2 数据存储器 32
2.7.3 I/O空间 34
第3章 TMS320LF240x DSP内部资源 35
3.1 TMS320LF240x DSP的CPU功能模块 35
3.1.1 状态寄存器ST0和ST1 38
3.1.2 输入定标移位器 40
3.1.3 乘法器 41
3.1.4 中央算术逻辑部分 42
3.1.5 辅助寄存器算术单元(ARAU) 43
3.2 系统配置和中断 45
3.2.1 系统配置寄存器 47
3.2.2 中断优先级和中断向量表 51
3.2.3 外设中断扩展控制器(PIE) 54
3.2.4 中断向量 56
3.2.5 中断响应的流程 57
3.2.6 中断响应的延时 58
3.2.7 CPU中断寄存器 58
3.2.8 外设中断寄存器 61
3.2.9 复位 67
3.2.10 无效地址检测 67
3.2.11 外部中断控制寄存器 67
3.3 程序控制 69
3.3.1 程序地址的产生 69
3.3.2 流水线操作 72
3.3.3 转移、调用和返回 73
3.3.4 条件转移、调用和返回 74
3.3.5 重复单条指令 76
第4章 TMS320C28x系列概述 77
4.1 TMS320C28x系列芯片的性能 77
4.2 TMS320F28x系列DSP的引脚及其功能 79
4.3 C28x系列DSP的内部结构 92
第5章 C28x系列DSP内部资源介绍 98
5.1 中央处理器单元CPU 98
5.1.1 CPU的逻辑图及特性 99
5.1.2 CPU的结构及其总线 100
5.1.3 CPU的寄存器 101
5.2 时钟和系统控制 106
5.2.1 时钟信号和控制寄存器 106
5.2.2 振荡器OSC和锁相环PLL时钟模块 107
5.2.3 低功耗方式模块 109
5.2.4 看门狗模块 110
5.3 CPU的中断系统和复位 110
5.3.1 CPU中断向量和优先级 112
5.3.2 CPU中断寄存器 113
5.3.3 可屏蔽中断处理的标准操作流程 113
5.3.4 不可屏蔽中断 114
5.4 片内外设的中断扩展(PIE) 115
5.4.1 向量映射 116
5.4.2 从外设到CPU的多通道中断请求流程 118
5.4.3 PIE向量表 118
5.5 32位CPU定时器0/1/2 125
5.5.1 CPU定时器的寄存器 126
第6章 C语言程序编写和调试环境 131
6.1 TMS320C2x/C2xx/C5x C编译器概述 131
6.2 TMC320C2x/C2xx/C5x C编译器环境 132
6.2.1 主要菜单及功能介绍 134
6.2.2 工作窗口区 137
6.2.3 利用TMC320C2x/C2xx/C5x C编译器开发应用程序 139
6.2.4 头文件和命令文件示例 142
第2部分 RoboCup小型组机器人
第7章 RoboCup简介 151
7.1 机器人足球比赛的起源和类型 151
7.2 小型组比赛 152
7.3 国内外的相关进展 153
7.3.1 国际领先队伍介绍 153
7.3.2 国内参赛队伍介绍 154
7.4 小型组比赛系统 155
7.4.1 系统组成及其相互关系 155
7.4.2 视觉子系统 155
7.4.3 决策子系统 156
7.4.4 无线通信子系统 157
7.4.5 机器人车体子系统 159
第8章 底层系统设计 160
8.1 研究的出发点和发展趋势 160
8.2 机构设计概况 161
8.3 电路系统设计概况 164
第9章 机构设计 166
9.1 机构设计流程 166
9.2 设计目标 166
9.3 运动机构的分析与设计 167
9.3.1 轮子的设计思想 167
9.3.2 轮子布局 171
9.4 球处理机构的分析与设计 176
9.4.1 带球机构 176
9.4.2 击球机构 179
9.4.3 挑球机构 181
第10章 电路系统分析与设计 185
10.1 电路系统总述 185
10.2 主控芯片的性能与工作方式 187
10.2.1 TMS320F2812 187
10.2.2 HCTL2000 188
10.3 通信系统 192
10.3.1 通信结构 193
10.3.2 nRF2401 193
10.3.3 异步串行通信芯片ST16C550 194
10.4 各执行机构的驱动与控制电路 198
10.4.1 带球机构 198
10.4.2 运动机构 199
10.4.3 击球和挑球机构 201
10.5 传感器电路设计 203
10.5.1 球检测电路 203
10.5.2 车体姿态传感器 204
10.5.3 ADXL210JE 205
10.5.4 ADXRS300 208
10.6 辅助电路 213
10.6.1 74HC595 213
10.6.2 EEPROM 217
第11章 控制系统的实现 230
11.1 控制系统简介 230
11.2 指令信息的接收与处理 230
11.3 机构控制 236
11.3.1 带球机构 236
11.3.2 击、挑球机构 237
11.4 异常预防与处理 238
11.5 软件实现 240
第12章 运动控制 242
12.1 综述 242
12.2 基于动力学模型的实时次优轨迹生成算法 243
12.2.1 建模 243
12.2.2 输入域的解耦和分离 245
12.2.3 基于bang-bang控制的轨迹生成算法 247
12.2.4 轨迹同步 249
12.2.5 结果 250
12.3 底层运动控制 253
12.3.1 基于数字PI算法的电机调速 253
12.3.2 针对扭矩控制的改进数字PI算法 255
12.3.3 基于强化学习的参数整定方法 257
第3部分 自平衡两轮电动车
第13章 概述 260
13.1 自平衡两轮电动车及其设计流程 260
13.1.1 自平衡两轮电动车 260
13.1.2 自平衡两轮电动车设计流程 261
第14章 系统动力学分析 263
14.1 力学分析 263
14.1.1 建立坐标系 263
14.1.2 系统模型参数 263
14.1.3 系统速度 264
14.1.4 系统动能的计算 265
14.1.5 系统运动微分方程 267
14.2 系统参数的测量 270
14.2.1 理论基础 270
14.2.2 硬件电路工作原理 271
14.2.3 参数测量 273
第15章 硬件设计 276
15.1 总体设计 276
15.2 DSP TMS320LF2407A 277
15.2.1 TMS320LF240xA概述 277
15.2.2 TMS320LF2407A 279
15.3 摆杆角度的测量 280
15.3.1 传感器简介 280
15.3.2 倾角传感器 281
15.4 摆杆角速度的测量 284
15.4.1 微型固态陀螺MEMS角速度传感器 284
15.4.2 ENC-03JA角速度传感器 286
15.5 左右轮角速度的测量 288
15.5.1 E6B编码器 288
15.5.2 码盘信号检测 290
15.6 电源和系统状态指示 291
15.6.1 电源 291
15.6.2 系统状态指示 292
15.7 功放电路 292
15.7.1 功率MOSFET简介 292
15.7.2 驱动电路 294
第16章 系统调试、仿真平台 296
16.1 TMS320LF2407A与PC机的串行通信 296
16.1.1 TMS320LF2407A的串行通信接口 296
16.1.2 电平转换电路 300
16.1.3 PC端监控软件 301
16.2 TMS320LF2407A与PC机的无线通信 303
16.2.1 nRF2401简介 304
16.2.2 nRF2401在自平衡两轮电动车调试平台中的应用 306
16.3 PC端分析、仿真软件——MATLAB 308
第17章 线性系统理论在自平衡两轮电动车中的应用 310
17.1 理论基础 310
17.2 几个重要的MATLAB函数 312
17.3 自平衡两轮电动车状态空间模型 313
17.4 自平衡两轮电动车载人时的状态反馈控制 315
17.4.1 系统状态方程、能控性 315
17.4.2 第一种情况 316
17.4.3 第二种情况 318
17.4.4 第三种情况 320
17.4.5 三种情况的分析 322
第4部分 旋转式倒立摆
第18章 倒立摆系统概述 324
18.1 倒立摆的基本概念 324
18.2 常见的倒立摆 325
第19章 硬件设计 328
19.1 系统总体设计方案 328
19.1.1 旋转式倒立摆总体结构 328
19.1.2 倒立摆系统工作原理 329
19.2 机械设计 330
19.3 DSP控制器 331
19.4 DSP的电源供电及时钟选择 335
19.4.1 供电方案 335
19.4.2 DSP的时钟选择 336
19.5 复位电路及MAX706 337
19.6 通信接口 339
19.7 角位移传感器 340
19.8 无刷直流电机及控制电路 341
19.8.1 无刷直流电机的结构及原理 341
19.8.2 使用dq变换求取无刷直流力矩电机系统的数学模型 343
19.8.3 无刷直流力矩电机系统的函数 344
19.8.4 无刷直流电机的力矩波动 345
19.8.5 电机驱动的设计 346
第20章 软件设计 352
20.1 DSP程序总体设计与流程图 352
20.2 DSP中断服务子程序、寄存器 353
20.2.1 初始化子程序 353
20.2.2 脉宽调制控制输出子程序初始化 355
20.2.3 串口通信子程序 355
20.2.4 采样子程序 356
20.2.5 控制计算子程序 357
20.3 PC软件设计 357
第21章 模型分析与控制算法设计 361
21.1 倒立摆模型分析 361
21.1.1 模型分析 361
21.1.2 试验参数计算 363
21.2 基于状态反馈的带观测器的倒立控制 364
21.3 基于能量分析的摆起控制 368
21.3.1 摆起控制的实现方法 368
21.3.2 “摆起-倒立”控制效果 369
第22章 随动系统 372
22.1 随动系统的结构和原理 372
22.1.1 把倒立摆改装为随动系统 372
22.1.2 电平转换器 373
22.2 随动系统稳定性分析 375
22.3 随动系统的时域特性分析 376
22.4 随动系统的频域特性分析 378
22.5 随动系统的频域校正实验 380
附录A C-Lib中的函数集 385
附录B 解耦图形的推导 397
附录C 电机调速程序 399
第22章 随动系统 372
22.1 随动系统的结构和原理 372
22.1.1 把倒立摆改装为随动系统 372
22.1.2 电平转换器 373
22.2 随动系统稳定性分析 375
22.3 随动系统的时域特性分析 376
22.4 随动系统的频域特性分析 378
22.5 随动系统的频域校正实验 380
附录A C-Lib中的函数集 385
附录B 解耦图形的推导 397
附录C 电机调速程序 399
猜您喜欢