《机器人仿真与编程技术》PDF下载

  • 购买积分:19 如何计算积分?
  • 作  者:杨辰光,李智军,许扬编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2018
  • ISBN:9787302490487
  • 页数:663 页
图书介绍:本书的机器人仿真技术,一方面以MATLAB的机器人工具箱为基础,介绍了利用MATLAB/SIMULINK对机器人进行数据化仿真;另一方面以V—REP,OpenRAVE这两款机器人仿真软件为工具,对机器人进行图形可视化仿真。在机器人编程方法中,本书介绍的机器人操作系统(Robot Operating System,简称ROS)是开源的操作系统,可以提供传统操作系统的各种功能,实现分布式计算、软件复用和快速测试等多种功能。

第一篇 基于MATLAB工具箱的机器人仿真 3

第1章 机器人学与MATLAB机器人工具箱 3

1.1 MATLAB机器人工具箱的下载与安装 3

1.2机器人学的数学基础 5

1.2.1三维空间中的位置与姿态 5

1.2.2坐标变换 9

1.2.3姿态的其他表示方法 16

1.2.4具体例子的应用 22

1.3机器人运动学 24

1.3.1机械臂及运动学 24

1.3.2 DH参数法 25

1.3.3机器人正运动学 28

1.3.4机器人逆运动学 33

1.3.5机器人的瞬态运动学 38

1.3.6具体例子的应用 43

1.3.7机器人工具箱的Link类 45

1.3.8机器人工具箱的SerialLink类1 48

1.4机器人动力学 53

1.4.1机器人动力学概述 53

1.4.2机器人动力学方程的建立方法 53

1.4.3状态空间方程 57

1.4.4正向动力学 62

1.4.5机器人工具箱的SerialLink类2 64

1.5机器人的运动轨迹 66

1.5.1运动轨迹问题 66

1.5.2关节空间的规划方法 66

1.6机械臂关节控制 70

1.6.1机器人控制系统的构成 70

1.6.2 Simulink机器人模块 71

1.6.3机器人的单关节控制 72

1.6.4机器人的多关节控制 79

1.7其他基于MATLAB的机器人工具箱 83

1.7.1 Kuka控制工具箱(KCT)的介绍与测试 83

1.7.2其他机器人工具箱 119

本章小结 123

参考文献 123

第2章MATLAB机器人工具箱的应用 125

2.1基于学习算法的机器人触觉识别算法研究 125

2.1.1引言 125

2.1.2背景 125

2.1.3算法设计 127

2.1.4实验设计 134

2.1.5实验与结果 140

2.2基于波动变量和神经网络的远程控制系统 142

2.2.1引言 143

2.2.2远程操作系统的数学模型 143

2.2.3基于波动变量的神经控制设计 148

2.2.4实验设计 150

2.2.5仿真实验 155

2.3开发混合运动捕捉方法使用MYO手环应用于远程操作 159

2.3.1引言 159

2.3.2设计方法 160

2.3.3仿真系统设计 164

2.3.4仿真实验 166

2.4基于自适应参数识别的Geomagic Touch X触觉装置运动学建模 168

2.4.1引言 169

2.4.2建模步骤 169

2.4.3仿真设计 173

2.4.4实验和仿真 177

2.4.5可视化运动学模型与工作空间识别 180

2.5复杂扰动环境中的新型机械臂混合自适应控制器 181

2.5.1引言 181

2.5.2控制问题 182

2.5.3自适应控制 185

2.5.4仿真 190

2.5.5实验设计 190

2.5.6实验与结果 192

本章小结 196

参考文献 196

第二篇 机器人仿真软件的基础与应用 205

第3章V-REP在机器人仿真中的应用 205

3.1 V-REP简介及安装 205

3.1.1 V-REP的简介 205

3.1.2 V-REP的特性 205

3.1.3 V-REP的安装 205

3.2 V-REP的用户界面及位姿操作 206

3.2.1控制台窗口 207

3.2.2对话框 207

3.2.3应用程序窗口 208

3.2.4自定义用户界面 211

3.2.5页面与视图 212

3.2.6对象/项目位置和方向操作 214

3.3 V-REP的场景与模型 218

3.3.1场景与模型的关系 218

3.3.2 V-REP的场景 218

3.3.3 V-REP的模型 221

3.3.4 V-REP的环境 223

3.4实体 227

3.4.1 V-REP的场景对象 227

3.4.2场景对象的性质 228

3.4.3常用的场景对象——形状 234

3.4.4常用的场景对象——关节 244

3.4.5 V-REP的集合 255

3.5 V-REP的六种计算模块 259

3.5.1碰撞检测模块 259

3.5.2最小距离计算模块 261

3.5.3逆向运动学模块 262

3.5.4几何约束求解模块 270

3.5.5动力学模块 272

3.5.6路径规划模块 273

3.6 V-REP中控制机器人仿真的方法 274

3.6.1嵌入式子脚本 276

3.6.2插件 277

3.6.3附加组件 279

3.6.4远程客户端应用程序接口 280

3.6.5通过ROS的节点 281

3.6.6自定义解决方案 281

3.7 V-REP的API框架 282

3.7.1常规API 282

3.7.2远程API 284

3.7.3 ROS接口 295

3.7.4辅助API 296

3.7.5其他接口 297

3.8仿真模型的搭建 298

3.8.1从模型浏览器中加载现有模型 298

3.8.2从菜单栏中添加场景对象 298

3.8.3从Import命令中导入/导出其他软件的CAD模型 299

3.9机器人的仿真 302

3.9.1物理引擎的选择 304

3.9.2仿真参数的设置 308

3.9.3仿真的控制 309

3.10 V-REP的具体例子 310

3.10.1机械臂模型的构建 310

3.10.2逆运动学建模 323

3.10.3 V-REP与MATLAB连接的例子 331

3.11 V-REP在人机交互中的应用(一) 335

3.11.1触觉学与Touch X 335

3.11.2 Touch X的相关软件在人机交互中的作用 336

3.11.3 CHAI3D在人机交互中的作用 337

3.11.4 V-REP模块 339

3.11.5 Touch X控制V-REP中KUKA机器人的实现 341

3.12 V-REP在人机交互中的应用(二) 347

3.12.1体感技术与Kinect 347

3.12.2交互相关软件的作用 347

3.12.3交互相关软件的安装与测试 348

3.12.4 OpenNI/NITE中的人体骨架分析 349

3.12.5 V-REP与Kinect接口的安装与测试 350

3.12.6 Kinect与V-REP交互的设计与实现 351

本章小结 358

参考文献 359

第4章Gazebo在机器人仿真中的应用 360

4.1 Gazebo的介绍与安装 360

4.1.1 Gazebo的初步介绍 360

4.1.2 Gazebo的安装 360

4.1.3 Gazebo与V-REP的比较 366

4.2 Gazebo的结构 368

4.2.1 Gazebo的运行方法 368

4.2.2 Gazebo的组成部分 370

4.2.3 Gazebo的结构 372

4.3创建机器人 374

4.3.1模型结构和要求 374

4.3.2模型的上传 376

4.3.3制作一个模型 378

4.3.4制作移动机器人模型 381

4.3.5导入网格 392

4.3.6附加网格物体 393

4.3.7给机器人添加传感器 396

4.3.8做一个简单的夹持器 397

4.3.9在机器人上构建夹持器 405

4.3.10嵌套模型 411

4.3.11模型编辑器 413

4.3.12盒子的动画 419

4.3.13三角网格的惯性参数 421

4.3.14图层可见性 428

4.4 Gazebo中的模型编辑器 428

4.4.1模型编辑器 428

4.4.2 SVG文件 428

4.5场景文件的创建 431

4.5.1创建一个场景 431

4.5.2修改场景 435

4.5.3如何在Gazebo中使用DEM 436

4.5.4模型群 440

4.5.5建筑编辑器 444

4.6插件的编写 453

4.6.1一个简单的插件:Hello WorldPlugin ! 454

4.6.2插件的使用 456

4.6.3模型插件 457

4.6.4世界插件 460

4.6.5程序化场景控制 467

4.6.6系统插件 470

4.7传感器 473

4.7.1传感器噪声模型 473

4.7.2接触式传感器 485

4.7.3摄像头失真 491

4.8 Gazebo的其他功能 493

4.8.1数学库的使用 493

4.8.2用户输入 494

4.8.3连接到Player 504

本章小结 505

参考文献 506

第5章OpenRAVE在机器人仿真中的应用 507

5.1 OpenRAVE简介 507

5.1.1 OpenRAVE的应用 507

5.1.2 OpenRAVE的特性 507

5.1.3 OpenRAVE的下载与安装 508

5.2 OpenRAVE概观 509

5.2.1 OpenRAVE基本架构 509

5.2.2关于OpenRAVE中的一些说明 511

5.2.3 OpenRAVE公约与准则 516

5.2.4 OpenRAVE中机器人概述 516

5.2.5插件与接口说明 519

5.2.6网络协议和脚本 525

5.3 OpenRAVE的基础 525

5.3.1开始使用OpenRAVE 525

5.3.2 OpenRAVE的命令行工具 528

5.3.3写OpenRAVE文档 534

5.3.4环境变量 535

5.4 OpenRAVE运用与展望 535

5.4.1 OpenRAVE的运用项目举例 535

5.4.2 OpenRAVE的展望 537

本章小结 537

参考文献 537

第三篇 机器人操作系统基础与应用 545

第6章 机器人操作系统的基础 545

6.1 ROS的安装与测试 545

6.1.1虚拟机与Ubuntu的安装 545

6.1.2 ROS的安装 547

6.1.3 turtlesim例子的测试 549

6.2 ROS的基本概念与命令 550

6.2.1程序包(packages) 550

6.2.2节点(Nodes)和节点管理器(Master) 552

6.2.3消息(Messages)和主题(Topics) 554

6.2.4其他ROS的相关概念 556

6.2.5 ROS的一些常用工具 557

6.3 ROS的程序包的创建与编译 557

6.3.1创建工作区和功能包 557

6.3.2 ROS程序的编译过程 558

6.4 ROS与MATLAB集成 562

6.4.1 RST的ROS功能介绍 563

6.4.2 MATLAB与ROS通信的介绍 563

6.5 ROS与V-REP之间的集成 567

6.5.1 V-REP中的ROS程序包 567

6.5.2在ROS中安装V-REP 568

6.5.3在ROS中创建相关的V-REP程序包 569

6.5.4使用ROS节点控制V-REP模型的例子 571

6.5.5 V-REP ROS Bridge的简介及安装 573

6.6 ROS与Gazebo 575

6.6.1 ROS集成概述 575

6.6.2安装Gazebo_ros_pkgs 577

6.6.3 ROS/Gazebo版本组合的选择 582

6.6.4使用roslaunch 585

6.6.5 ROS通信 594

6.6.6 Gazebo中的URDF 604

6.7实时系统ROS 2.0的介绍 611

本章小结 620

参考文献 620

第7章 机器人操作系统的应用 621

7.1 Baxter机器人与ROS 621

7.1.1 Baxter机器人 621

7.1.2 Baxter机器人的控制系统总体框架 622

7.1.3相关的ROS代码 622

7.2基于神经网络实现对摇操作机器人进行高性能控制 623

7.2.1控制系统的架构 624

7.2.2实验设计与实现 627

7.2.3实验及结果 631

7.3规定全局稳定性和运动精度的双臂机器人的神经网络控制 636

7.3.1实验设计与实现 637

7.3.2实验结果 644

7.4基于人体运动捕获对Baxter机器人的远程操作控制 647

7.4.1远程操作控制系统 648

7.4.2实验的设计与实现 651

7.4.3实验及结果 659

本章小结 662

参考文献 662