发表于2024-11-30
本书以一位受困于荒岛的年轻人的视角带领读者进行一场冒险。他必须寻找到一种给机器人编程的方法才能得以逃离。本书作为一本控制自主机器人编程指南,介绍了编程机器人传感器、电动机以及将想法转换为机器人可以自主执行任务的实际方法和技术。对于硬、制造商、DIY项目,这些技术可以用于当今领先的机器人微控制器(ARM9和ARM7)和机器人平台(包括广泛流行的低成本Arduino平台,LEGOMindstormsEV3、NXT,以及WoweeRSMedia机器人)。
Contents目录
译者序
前言
致谢
第1章究竟什么是机器人1
1.1定义机器人的7个标准1
1.1.1标准1:感知环境2
1.1.2标准2:可编程的动作和行为2
1.1.3标准3:改变环境、与环境交互或作用于环境2
1.1.4标准4:具备电源2
1.1.5标准5:适用于表示指令和数据的语言3
1.1.6标准6:无需外部干预的自主性3
1.1.7标准7:一个没有生命的机器4
1.1.8机器人分类4
1.1.9传感器6
1.1.10执行器7
1.1.11末端作用器8
1.1.12控制器8
1.1.13机器人所在的场景12
1.2给机器人指令14
1.2.1每个机器人都有一种语言14
1.2.2迁就机器人的语言16
1.2.3在可视化编程环境中表示机器人场景18
1.2.4Midamba的困境18
1.3下文预告20
第2章机器人词汇21
2.1为什么需要更多努力22
2.2确定动作25
2.3自主机器人的ROLL模型26
2.3.1机器人的能力27
2.3.2场景和态势中的机器人角色28
2.4下文预告30
第3章机器人场景图形规划31
3.1建立场景地图31
3.1.1创建平面图32
3.1.2机器人的世界34
3.1.3RSVPREAD设置36
3.2伪代码和绘制RSVP流程图38
3.2.1控制流程和控制结构39
3.2.2子程序43
3.3目标和机器人状态图46
3.4下文预告50
第4章检验机器人的实际能力51
4.1微控制器的实际检验53
4.2传感器的实际检验56
4.3执行器和末端作用器的检验60
4.4REQUIRE机器人效能62
4.5下文预告64
第5章详解传感器65
5.1传感器感知66
5.1.1模拟和数字传感器68
5.1.2读取模拟和数字信号69
5.1.3传感器输出71
5.1.4读数存储72
5.1.5有源和无源传感器72
5.1.6传感器与微控制器的连接74
5.1.7传感器属性77
5.1.8范围和分辨率78
5.1.9精度和准确度78
5.1.10线性度79
5.1.11传感器校准80
5.1.12传感器相关问题81
5.1.13终端用户校准过程81
5.1.14校准方法82
5.2下文预告83
第6章通过编程控制机器人的传感器84
6.1使用颜色传感器84
6.1.1颜色传感器模式86
6.1.2探测距离87
6.1.3机器人环境的照明87
6.1.4校准颜色传感器88
6.1.5编程颜色传感器89
6.2用于检测和跟踪颜色目标的数码相机92
6.3利用RSMedia跟踪颜色目标92
6.4使用PixyVision传感器跟踪颜色目标95
6.4.1训练Pixy以检测目标96
6.4.2编程Pixy98
6.4.3详解属性101
6.5超声波传感器101
6.5.1超声波传感器的局限性和准确性102
6.5.2超声波传感器的模式106
6.5.3采样读数106
6.5.4传感器读数的数据类型107
6.5.5校准超声波传感器107
6.5.6编程超声波传感器108
6.6罗盘传感器计算机器人的航向117
6.7下文预告121
第7章电动机和伺服机构编程122
7.1执行器是输出转换器122
7.1.1电动机特性123
7.1.2电压123
7.1.3电流123
7.1.4转速123
7.1.5扭矩123
7.1.6电阻123
7.2不同类型的直流电动机124
7.2.1直流电动机124
7.2.2转速和扭矩126
7.2.3齿轮电动机127
7.3电动机配置:直接和间接动力传动系统134
7.4室内和室外机器人的地形挑战134
7.4.1应对地形挑战135
7.4.2机器人手臂和末端作用器的扭矩挑战138
7.4.3计算扭矩和转速需求138
7.4.4电动机和REQUIRE139
7.5通过编程使机器人移动140
7.5.1一个电动机,还是两个、三个、更多个电动机140
7.5.2执行动作140
7.5.3编程动作141
7.5.4通过编程使电动机移动到指定位置145
7.5.5使用Arduino实现电动机编程151
7.6机器人手臂和末端作用器154
7.6.1不同类型的机器人手臂154
7.6.2机器人手臂的扭矩155
7.6.3不同类型的末端作用器157
7.6.4为机器人的手臂进行编程159
7.6.5计算运动学163
7.7下文预告166
第8章开始自主:构建机器人所对应的软件机器人167
8.1初探软件机器人169
8.1.1部件部分171
8.1.2动作部分171
8.1.3任务部分171
8.1.4场景(态势)部分171
8.2机器人的ROLL模型和软件机器人框架172
8.2.1BURT把软件机器人框架转换为类173
8.2.2第一次实现自主机器人程序设计184
8.3下文预告185
第9章机器人SPACES186
9.1机器人需要自身的SPACES187
9.1.1扩展的机器人场景187
9.1.2REQUIRE检查表188
9.1.3前提或后置条件不满足时会发生的情况190
9.1.4前提或后置条件不满足时的行动选择191
9.2详解机器人初始化后置条件192
9.2.1启动前提条件和后置条件194
9.2.2编码前提条件和后置条件195
9.2.3前提和后置条件的出处200
9.3SPACES检查和RSVP状态图204
9.4下文预告206
第10章自主机器人需要STORIES207
10.1不只是动作208
10.1.1BirthdayRobotTake2208
10.1.2机器人STORIES
Preface机器人新兵训练营警示作为机器人程序员,我们应确保所从事的编程对于公众和机器人自身都是安全的,这是我们的特殊责任。当对机器人进行编程时,首先要考虑机器人与人类、动物、其他机器人或资产互动时的安全。这对于所有类型机器人的编程都是适用的,尤其是可编程自主机器人,即本书所介绍的机器人类型。本书所涉及的机器人命令、指令、程序和软件仅用于展示,就安全性而言其不适合用于与人类、动物、其他机器人的互动。
对机器人安全的深入研究超出了本书的范围。虽然本书所给出的机器人示例和应用经过测试可以确保其正确性和恰当性,但是不能保证其中的命令、指令、程序和软件没有任何瑕疵和错误,与任何适售性的特定标准一致,或满足针对任何特别应用的要求。
机器人代码段、程序和示例仅用于阐述,在任何情形下当它们的使用会导致人身伤害、造成财产或时间损失,以及产生理念冲突时,都不应该再继续使用。对于因本书中呈现或在相应支持网站上的机器人、命令、指令、机器人程序和示例的使用所带来的直接或间接损害,作者和出版商不负任何责任。
机器人编程新兵训练营欢迎阅读本书。机器人编程“新兵训练营”将确保你着手开始前掌握所有必备的信息。我们已经构建了很多类型的机器人并对它们进行编程,从简单的单用途机器人到先进的多功能自主机器人组群,因而发现这个短期机器人编程训练营对于不熟悉机器人编程或想要学习新技术进行机器人编程的人来说是不可缺少的。
准备、设置、走起!无需繁琐接线图I1给出了机器人控制和操作的两种基本分类。
图I1机器人操作的两种基本分类遥控机器人是由一名操作员用某种远程控制装置或木偶模式(puppetmode)远程控制机器人的操作。有些远程控制要求一条连线(某种类型的线)以物理方式连接于机器人,而其他远程控制类型则是无线的(如无线电控制或红外控制)。
自主机器人是一类不需要人类操作员控制的机器人。它们能自主地访问和执行一组指令,不需要远程控制的干预或中断。
本书主要关注自主机器人操作和编程。虽然我们常讨论、解释、比较遥控机器人和自主机器人,但是本书将重点介绍对能够自主运行和执行所分配任务的机器人进行编程的基本概念。
如第9章所述,为满足运行策略而进行不同混合并匹配,存在两种类型机器人控制或操作的混合物。我们将会介绍混合并匹配不同的机器人控制策略的技术。
警示虽然本书并未假定读者具有机器人编程的经验,但是全书假定读者在标准编程语言(如Java或C++)方面具有一定基础,熟悉基本的编程技巧。同时,本书并非以Java或C++呈现最终的机器人程序,而是先以图或通俗易懂的语言给出基本的机器人指令技巧和概念。本书将引导读者熟悉一些程序用于设计、规划和分析,比如机器人场景图形规划(RobotScenarioVisualPlanning,RSVP)和实际环境中的机器人效能熵(RobotEffectivenessQuotientUsedinRealEnvironments,REQUIRE)。
注释本书所有机器人指令、命令和程序已经在基于ARM7、ARM9微控制器的机器人以及流行并广泛使用的LEGONXT、EV3机器人上进行了测试。本书中使用的所有其他机器人软件也均在MacOSX和Linux环境下进行了测试与运行。
新兵训练营基础在试图对机器人进行编程前一定要回答五个基本问题:
1.?机器人属于哪种类型?2.?机器人将要做什么?3.?机器人将要在哪里执行任务?4.?机器人如何执行任务?5.?如何对机器人进行编程?许多新手和准机器人程序员不能回答这些基本问题,导致机器人项目不能成功实现。在令任意类型的机器人执行所分配任务的过程中,回答这些基本问题是第一步。本书演示了如何通过回答这些问题来形成一个分步的方法,从而成功指导一个机器人自主地执行一系列任务。
本书介绍的机器人编程核心技巧本书中,我们将在机器人新兵训练营中讲解的基本技巧如表I1所示。
表I1机器人新兵训练营技能表技巧描述机器人运动规划与编程手臂运动夹持器编程末端作用器运动机器人导航利用不同类型的传感器对机器人编程红外传感器超声波传感器触碰传感器光传感器射频识别传感器摄像机传感器温度传感器声音传感器分析传感器使用电动机机器人导航中使用的电动机机器人手臂、夹持器和末端作用器中使用的电动机传感器定位中使用的电动机决策机器人动作选择机器人方向选择机器人路径选择指令转换将英文指令和命令转换成一种编程语言或一种机器人可以处理的指令形式上述技巧是让机器人执行几乎任何所分配任务必需的核心技巧。对上述五个方面做出标注是因为它们代表了夯实机器人编程基石的第二步。
基本的通用机器人转换器我们将在本书中使用两个助手以一种易于理解和快速参考的形式呈现机器人程序和常见的机器人编程问题。第一个助手,基本通用机器人转换器(BasicUniversalRobotTranslator,BURT),用于呈现本书中所有的代码段、命令和机器人程序。BURT给出了每个代码段、命令或机器人程序的两个版本:
纯英文版本机器人语言版本BURT用于将一组简单且易于理解的英文指令转换成相应的机
机器人编程实战 下载 mobi pdf epub txt 电子书 格式 2024
机器人编程实战 下载 mobi epub pdf 电子书买给孩子的,希望孩子能喜欢。
评分同时买了两本这系列的ros的书,写的不错
评分又买了一堆书。质量没话说,真货带发票
评分书内容比较全面,送货比较快,专业课,权威指导
评分很好的书,买来充实小书库。可以慢慢研读,作为参考资料很不错的。
评分这本ros书呢 确实有一些错误 不过也能帮助快速的过一遍wiki
评分书到手,还没看,不过肯定是正版的。
评分价格很实惠,赞一个,比超市便宜!
评分搞活动买的,很合算,推荐一下,一直感兴趣的书,一起买的!
机器人编程实战 mobi epub pdf txt 电子书 格式下载 2024