描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302461159
目录
第1章机器人概述
1.1了解机器人
1.1.1机器人的发展史
1.1.2机器人的定义
1.1.3机器人的分类
1.1.4机器人与人类社会
1.2仿生机器人
1.2.1仿生机器人的定义与分类
1.2.2仿生机器人的特点与应用
1.2.3仿生机器人的现状与趋势
第2章水中机器人概述
2.1水中机器人简介
2.1.1水中机器人的定义与分类
2.1.2国内外水中机器人的研究现状
2.1.3水中机器人的研究内容
2.1.4水中机器人的发展展望
2.1.5水中机器人的研究目的和意义
2.2水中机器人的应用
2.2.1水中机器人的技术应用
2.2.2水下搜救
2.2.3生物科考
2.2.4水下检测
2.3单片机在机器人中的应用
2.3.1单片机的概念
2.3.2单片机在机器人中的应用
2.3.3机器鱼所用AVR单片机简介
第3章水中仿生机器人系统实现
3.1水中仿生机器人系统总体设计
3.1.1机器鱼推进运动设计原理
3.1.2机器鱼的控制系统结构
3.2水中仿生机器人硬件实现
3.2.1机器鱼硬件概述
3.2.2机器鱼硬件原理图及介绍
3.3水中仿生机器人软件实现
3.3.1机器鱼软件设计流程
3.3.2机器鱼控制平台简介
3.3.3机器鱼手机控制平台
3.4水中仿生机器人机械系统
3.4.1机器鱼的摆动部分
3.4.2机器鱼结构参数优化
3.4.3机器鱼防水设计
3.4.4基本软件SolidWorks简介
第4章水中仿生机器人运动实现
4.1水中仿生机器人运动模式分类
4.1.1按鱼类游动推进模式的分类
4.1.2按机器鱼驱动方式的分类
4.2水中仿生机器人运动原理
4.2.1鱼类波状游动的受力分析
4.2.2鱼体游动的运动学模型
4.2.3鱼体波动方程改进
4.2.4机器鱼结构参数优化
4.3水中仿生机器人倒游运动
4.3.1机器鱼结构
4.3.2机器鱼运动学分析
4.4水中仿生机器人运动控制研究
4.4.1机器鱼游动速度控制
4.4.2机器鱼游动方向控制
4.4.3机器鱼游动加速度控制
4.5水中仿生机器人顶球算法
4.5.1基础算法
4.5.2相切圆顶球算法
4.5.3基于位置的顶球算法
4.5.4基于区域的顶球算法
4.5.5弦端点法顶球算法
4.6基于舵机的水中仿生机器人运动实现
4.6.1概述
4.6.2舵机的组成
4.6.3舵机的规格和选型
4.6.4舵机的控制原理
4.6.5PWM波的产生及控制
4.7水中仿生机器人运动参数简介
4.7.1机器鱼运动参数设置
4.7.2机器鱼初始化参数设置
4.8水中仿生机器人运动的无线控制
4.8.1RF001通信模块的基本性能及特点
4.8.2RF001通信模块的使用
4.8.3机器鱼数据发送
4.8.4机器鱼控制协议
4.8.5机器鱼无线控制代码
第5章水中仿生机器人避障实现
5.1水中仿生机器人避障简介
5.1.1机器鱼避障传感器选择
5.1.2机器鱼避障策略
5.2模拟量红外传感器简介
5.2.1模拟量红外传感器的原理
5.2.2模拟量红外传感器的使用
5.3开关型红外传感器简介
5.3.1开关型红外传感器的原理
5.3.2开关型红外传感器的使用
5.4水中仿生机器人避障实现
5.4.1开关型红外避障实现
5.4.2SHARP红外避障实现
5.5上升下潜
5.5.1上升下潜的原理
5.5.2上升下潜的实现
第6章面向工程应用的单关节机器鱼
6.1概述
6.1.1开发背景
6.1.2产品结构
6.1.3功能结构
6.1.4产品特点
6.2单关节机器鱼的组成与组装
6.2.1单关节机器鱼的组成
6.2.2单关节机器鱼的组装流程
6.3单关节机器鱼控制平台的使用
6.3.1WiFi连接
6.3.2基本控制功能
6.3.3初始化设置功能
6.3.4关节调直功能
6.3.5充电功能
6.4单关节机器鱼程序烧写
6.4.1熔丝位配置
6.4.2BootLoader实现
参考文献
本书主要介绍了机器人、水中机器人及仿生机器人的定义、分类及发展状况,较深入地阐述了两类水中仿生机器人(仿鯵科机器鱼及单关节机器鱼)的机械结构、软硬件系统及其推进系统的运动原理及控制机理。本书包括机器人概述、水中机器人概述、水中仿生机器人系统实现、水中仿生机器人运动实现、水中仿生机器人避障实现、面向工程应用的单关节机器鱼等6章。第1章由刘甜甜编著,第2章由夏庆锋、李铭编著,第3章由李宗刚、刘甜甜编著,第4章由谢广明、李卫京编著,第5章由王新海编著,第6章由李卫京、王新海编著。全书由谢广明统稿。在本书的成稿过程中,山东大学李铭参与了插图和文字的修订工作,在此表示感谢。本书深浅适宜,通俗易懂,作为教材兼科技类图书,既可以作为大中专学生的选修课教材,也可以作为机器人相关课程的参考书籍。对于书中的缺点和错误,敬请读者不吝指出,以便再版时修正。作者2017年3月
鱼和鲸类生物是非常高效的“游泳天才”,对于曾羡慕过它们的速度和优雅地穿过水族馆墙壁障碍的人来说这是一个不争的事实。但是,为什么学习这个系统呢?答案是,因为它们已经解决了水动力学、机构控制和群体协作等一系列问题。鱼和水下机器人待在一样的物理环境里,它们受支配于同样的物理规则,它们也要经历相同的粘性和惯性带来的影响。在进化环境中,大自然母亲用了两千三百万年持续的精炼来提高大多数生物的设计,用了6000万年提高大型远洋鱼类的生物设计。在严格的工程观念里,速度、机动性和忍耐力对于生存是至关重要的。就这一方面而言,鱼类是接近完美的一种设计。
作为极其出色的流体力学专家,鱼类通过恰当的利用流体力学原理,获得了极高的推进效率和机动性能,远高于普通的螺旋桨推进机构。在推进效率方面,金枪鱼在速度高达80km/h的情况下,推进效率达到90%,而相比之下,普通螺旋桨推进系统只有40%~50%。在机动性能方面,鱼类起动时的加速度竟然可以达到50倍重力加速度,远高于螺旋桨机构。转弯时鱼类的转弯半径只有体长的10%~30%,而普通螺旋桨推进系统要达到体长的3~5倍。鉴于此,以鱼类为仿生对象研制新型的水下推进器具有重要的科学研究与现实意义。自20世纪90年代起,已有众多的仿生机器鱼样机相继研制成功。本章以三关节仿鲹科机器鱼为例,讨论水中仿生机器人系统机械结构、控制系统、下位机系统以及上位机系统的设计方法。
3.1水中仿生机器人系统总体设计3.1.1机器鱼推进运动设计原理
鱼类行为学研究者认为,鱼类的推进运动中隐含着一由后颈部向尾部传播的行波,该推进波主要表现为脊柱和肌肉组织的弯曲,其幅度由前向后逐渐增加,其传播速度大于鱼体的前进速度,该推进波又叫“鱼体波”,其相应的函数为鱼体波函数。科鱼类的鱼体波曲线可看作是鱼体波幅包络线和正弦曲线的合成,它开始于鱼体的惯性力的中心,延伸至尾柄,曲线方程可表示为:
ybody(x,t)=(c1 c2x2)sin(kx ωt)(31)
其中,ybody表示整个鱼体左右轴方向上的纵向位移,变量x表示鱼体头尾轴方向上的轴向位移,参数k表示波长的倍数(k=2π/λ),而λ则表示鱼体波的波长,系数c1、 c2分别表示鱼体波波幅包络线的一次项系数和二次项系数,ω则表示鱼体波的波动频率(ω=2πf=2π/T)。
仿生机器鱼设计的重点是确定合适的鱼体波参数c1,c2,k,ω等,使得机器鱼能够很好地拟合鱼体波曲线方程式(31)。为此,需要通过离散化的方法把鱼体波曲线中时间参数t从函数ybody中分离出来。并且将整个鱼体波分为两个部分: 一部分是样条曲线序列ybody(x,i)(i=0,1,…,M-1),此序列在一个摆动周期内与时间无关; 另一部分是与时间有关的摆动频率f,即在时间单位内整个摆动机构所完成体波运动的数量。因此
ybody(x,i)=(c1 c2x2)sinkx-2πMi(32)
其中,M表示所形成鱼体波的分辨率,即鱼体波被离散化的程度,其上限值为鱼体摆动可达到的频率; i表示在一个摆动运动周期内的样条曲线序列。
(xi,j-xi,j-1)2 (yi,j-yi,j-1)2=l2j
yi,j=(c1xi,j c2x2i,j)sinkxi,j-2πMi
(33)
在游动过程中,可以通过改变摆动频率f实现在水中不同的推进速度,从而实现整个鱼体的速度控制。基于上述原理所设计出的仿生机器鱼样机如图31和图32所示。
图31仿生机器鱼设计图
图32仿生机器鱼样机
3.1.2机器鱼控制系统结构基于全局视觉的多机器鱼系统采用集中控制式结构,通过全局感知和集中策略使得整个系统具有全局规划和推理能力,并对环境作出合理的反映。所有机器鱼在空间上是分布式的,运动状态和相对位置共享,通过采用角色分配行为决策角色转换策略来实现机器鱼间的协调运动,多仿生机器鱼系统(Multiple Robotic Fish System,MRFS)协作控制系统构成如图33所示。
图33仿生机器鱼系统(Multiple Robotic Fish System,MRFS)
1. 决策主机; 2. 无线发射模块; 3. 支架; 4. 摄像头; 5. 水池; 6. 小球; 7. 机器鱼
为了有效地完成协作任务,机器鱼必须学会某些技能,如奔向目标、避障等,且必须学会与别的机器鱼协调、协作来共同完成一项任务。不同的技能有不同的要求,适用于不同的应用场合。例如,假定控制系统每隔Δt发送一次指令,在一个指令周期内,对于简单的任务,机器鱼应能立刻“反应式”地做出决策; 对于复杂的任务,机器鱼应从群体协作的角度在几个指令周期内做出相应的决策。
基于上面的想法,按照“信息集成,任务分解”的原则,提出了一种面向协作的机器鱼(CooperativeLocalBasic,CLB)三层控制结构,如图34所示。
机器鱼控制结构分三层: 协作规划层(cooperative planning layer)、本地规划层(local planning layer)和行为规划层(basic behavior layer)。上层收集下层的信息,规划产生下层的目标。行为层作为底层,具有对外部环境直接反应的能力。在每一层中,又可分为三个单元: 感知单元、规划单元和目标单元。感知单元负责收集下一层的传感信息,行为层感知单元收集传感器采集的环境信息。目标单元负责收集上一层传来的子目标信息作为当前的目标。规划单元综合感知单元和目标单元的信息产生下一层的子目标,行为层的规划单元输出的是规划好的一个个基本动作,如前进(forward)、转弯(Bend)等。
图34三层控制结构
为了使机器鱼在任务执行过程中相互配合,更好地完成任务而不出现冲突,在协作规划层和本地规划层的规划中,设立了通信模块和知识库模块。其中,通信模块负责多机器鱼间协作规划层和本地规划层的规划信息交互,并传送目标; 知识库模块在整个协作系统中起着非常重要的作用,体现着机器鱼的“智能”,并承担一些任务: 维护协作活动,实现系统的目的性; 解决冲突,分配角色,实现系统的协调一致性; 结合感知信息,实现自我推理。例如,可以设定如下群体协作规则:
规则1: IF系统要求多机器鱼协同完成某一项任务,THEN按照一定的标准(如距离近)选择满足该条件的机器鱼;
规则2: IF系统收到某机器鱼参与群体协作的消息,THEN更改协作信息,并通知其他机器鱼;
规则3: IF预先规划的轨迹中突然出现了机器鱼,THEN请求避障或重新规划路径。
知识库是环境知识、控制算法和协作策略的有机集成。从长远来看,为了提高机器鱼控制的鲁棒性、稳定性从而更好地完成协作任务,必须采用学习算法来改善机器鱼的游动性能和机动性。多仿生机器鱼系统的工作流程如下: 根据视觉子系统提供的机器鱼运动信息和环境信息,按照给定任务,进行势态分析与策略选择,决策各机器鱼的行为,后输出机器鱼的运动方向和运动速度。于是,多机器鱼间的协调协作过程由四部分构成: 输入信息预处理(计算有关实体的运动速度、相对距离等); 势态分析与策略选择; 各机器鱼行为确定; 机器鱼运动速度和运动方向确定。
为了实现这一体系结构,将多仿生机器鱼系统划分为四个子系统分别加以实现,并连成一个整体,如图35所示。其中,摄像头采集机器鱼的运动信息和环境信息,经图像识别后,作为决策与仿真的输入量,决策的输出经无线通信子系统发送给机器鱼子系统,从而控制多机器鱼的行为,共同完成某一项任务。
图35多仿生机器鱼系统中子系统的划分
(1) 机器鱼子系统: 该子系统是系统任务的执行者,因此对机器鱼子系统的基本要求是可靠性高、鲁棒性好和运动精度高。此外,机器鱼的工作环境是水中,还必须考虑鱼体的防水性和无线通信信号的衰减与干扰。
(2) 视觉子系统: 该子系统的任务是快速采集机器鱼的运动信息和障碍物信息,及时传给决策与仿真子系统,其基本要求是要具有快速性和准确性。(3) 决策与仿真子系统: 该子系统以图像识别结果作为控制和决策的输入,根据给定的任务,规划多机器鱼的运动。(4) 无线通信子系统: 该子系统主要负责决策与仿真子系统和机器鱼子系统的信息交互。现阶段,机器鱼子系统和决策与仿真子系统之间采取单向通信,即机器鱼被动地接收决策与仿真子系统输出的控制指令,完成指定的任务。
3.2水中仿生机器人硬件实现3.2.1机器鱼硬件概述
基于前面提出的仿生机器鱼设计原理和方法,制作一款三关节、无线通信的小型仿生机器鱼。图36和图37给出了仿生机器鱼机械结构示意图,可以知道机器鱼总体结构可分为鱼头、鱼体、鱼尾和鱼皮四个部分。
图36仿生机器鱼机械结构主视图
图37仿生机器鱼机械结构俯视图
鱼头设计成内空的流线型,安装机器鱼的控制模块、动力电池和通信模块,鱼头预留有三个孔,分别是电池充电接口、天线安装口、充气密封口,鱼头两侧装有胸鳍。鱼身有三个舵机作为活动关节,关节支架将其固定在鱼头上。月牙形尾鳍通过鱼尾连接件与骨架的第三关节外相连。防水鱼皮与尾鳍均为软橡胶制成。鱼皮前端与鱼头壳体用胶水黏合,中间鱼体部分为纹形,可以在充气时适当缩放,后部与鱼尾连接件黏合,并保证黏合处防水。尾鳍制成月牙形,中间有夹有硬塑料薄板。
3.2.2机器鱼硬件原理图及介绍仿生机器鱼的控制单元集成在头部的控制电路板中。当机器鱼接收到电脑通信模块发出的指令,通过控制电路,经调制产生PWM信号控制各个直流伺服电机的转角,从而实现机器鱼各个关节的协调摆动,实现鱼体的运动。机器鱼控制板的PCB原理图如图38所示。
下位机主要由以下几部分组成。
(1) 单片机小系统: 该机器鱼使用ATmega128单片机作为控制核心,其小系统主要包括复位线路、晶振线路、单片机、电源、ISP下载接口。(2) 舵机接口: 由单片机输出高低电平,以控制舵机的正反转以及转向角度。(3) 反相器74HC04: 提供电平的反相,使其输出符合常规的执行模式。
(4) AT24C02缓冲器: 提供暂时存储数据,同时同步读和写的数据,使其传输速率达到一致。
(5) 无线通信模块: 将下位机的数据收集上来传给CPU进一步处理,同时将更新好的数据按固有频率发送给下位机,完成数据传送。(6) 电源模块: 提供5V的直流电源。
仿生机器鱼游动的速度可通过调节关节的摆动频率来控制,其方向可通过不同的关节偏移来实现。在一个摆动周期内,通过前两个关节角01和12迭加不同的偏移量,可以实现不同的转弯。下面详细介绍控制电路板的各个部分。
1. 控制部分
根据ATMEL公司生产的精简指令集AVR系列单片机的特点。控制部分采用的是贴片封装的8位AVR单片机ATmege128,图39为ATmega128单片机输出引脚示意图。其技术特征如下。
1) 先进的 RISC 结构
(1) 133条指令(大多数可以在一个时钟周期内完成)。(2) 32×8通用工作寄存器 外设控制寄存器。(3) 全静态工作,非易失性的程序和数据存储器。
(4) 128KB的系统内可编程Flash。寿命为10000次写或擦除周期。
图39ATmega128单片机输出引脚示意图
(5) 具有独立锁定位、可选择的启动代码区。通过片内的启动程序实现或系统内编程真正的读修改写操作。
(6) 4KB的EEPROM。寿命为100000次写或擦除周期。
(7) 4KB的内部SRAM。
(8) 多达64KB的优化的外部存储器空间。
(9) 可以对锁定位进行编程以实现软件加密。
(10) 可以通过SPI实现系统内编程。
2) 外设特点(1) 两个具有独立的预分频器和比较器功能的8位定时器或计数器。
(2) 两个具有预分频器、比较功能和捕捉功能的16位定时器或计数器。
(3) 具有独立预分频器的实时时钟计数器。
(4) 两路8位PWM。
(5) 6路分辨率可编程(2~16位)的PWM。
(6) 输出比较调制器。
(7) 8路10位ADC。8个单端通道,7个差分通道,2个具有可编程增益(1×,10×,或200×)的差分通道。
(8) 面向字节的两线接口。
(9) 两个可编程的串行USART。
(10) 可工作于主机或从机模式的SPI串行接口。
(11) 具有独立片内振荡器的可编程看门狗定时器。
3) I/O和封装
(1) 53个可编程I/O口线。
(2) 64引脚TQFP与64引脚MLF封装。
4) 工作电压
(1) 2.7~5.5V,ATmega128L。
(2) 4.5~5.5V,ATmega128。
5) 速度等级
(1) 0~8MHz,ATmega128L。
(2) 0~16MHz,ATmega128。
2. 动力部分动力部分采用的是日本双叶电子工业株式会社(Futaba)的S3003和S3102两款舵机,如图310和图311所示。
舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是: 控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。
注: 尺寸如图310所示。
图310S3003舵机尺寸示意图
重量37.2g速度0.23/60(4.8V)输出力矩3.2kg·cm(4.8V)
注: 尺寸如图311所示。
重量21g速度0.25s/60(4.8V)
输出力矩3.7kg·cm
图311S3012舵机尺寸示意图
3. 通信部分通信部分采用的是北京华荣汇通信设备有限公司WAP200B通信模块,如图312所示。产品特点如下。
图312WAP200B通信模块
(1) 标准异步串行接口(UART,1个起始位,8个数据位,1个以上停止位,0或1个校验位),方便与各种控制器的硬件串口连接。
(2) 数据直接传输(自动静噪,过滤掉空中假数据,所收即所发),双工通信,收发自动切换,使用上就像一根串行直连线一样方便。
(3) Modem内置高性能CPU 实现前向纠错(FEC)处理,通信可靠性大大提高,误码率非常低。
(4) 硬件跳线选择多16个独立互不干扰信道,7挡波特率及串口模式设置。(5) 可以串口软件设置无线频道,实现软件跳频。(6) 3.3V/5V兼容TTL、RS232、RS485 多种接口电平选择,使用更加灵活。(7) DC3.08.0V宽压工作,电源可以I/O控制关断,降低功耗。(8) 针对不同应用需求,设计不同尺寸与接口的产品,型号齐全。(9) 由于软件纠错编码增益,相同辐射功率条件下,同一误码率指标,带FEC的无线模组通信距离要远高于一般的无线数传模组或不带FEC 的无线模组。
4. 供电部分供电部分采用的是三洋公司生产的eneloop四节串联5号电池,如图313所示,eneloop电池的特性如下。
图313eneloop 5号电池
(1) 超低自放电,充满存放一年保存85%电量,存放半年保存90%电量。(2) 无记忆效应,随充随用,对电池不造成任何伤害,保证了电池的寿命和容量。(3) 耐低温,在北方低温天气下已经保持足够的电力。(4) 闪光灯回电快,电压相对普通电池要高出0.1V左右。(5) 超多充电次数,是普通充电电池的两倍,为1000次,寿命约10年。(6) 出厂充满电,即买即用,无须先进行充电。(7) 环保,可回收再造。
3.3水中仿生机器人软件实现3.3.1机器鱼软件设计流程
机器鱼控制系统软件结构如图314所示。软件体系由图形用户界面(Graphical User Interface,GUI)子模块、机器鱼子模块、图像采集处理子模块、通信子模块等四个模块构成。通过GUI模块,用户可以输入机器鱼的控制命令以及运动参数。这些信号通过通信模块传送给机器鱼。图像采集和处理模块将实时图像信息转化为机器鱼的位姿信息和所需要的环境信息。图像和信息都可以实时显示在用户界面上,并具有保存视频和存储信息等功能,实验中,就是利用该系统实时捕捉机器鱼位姿信息,计算出其速度并保存,便于读取备用。
图314机器鱼控制系统软件结构图
3.3.2机器鱼控制平台简介1. 机器鱼手动控制平台简介
水中仿生机器鱼多功能控制平台基本控制界面如图315所示。
图315水中仿生机器鱼多功能控制平台基本控制界面图
在机器鱼手动控制平台上,可以对机器鱼进行如下操作。
1) 键盘控制键
(1) 速度控制: 数字键0~5 和小键盘0~9,分别表示不同的游动速度挡。
(2) 方向控制: 字母Q、W、E、E、R、T、Y和方向键“(3) 停止: 空格键。2) 基本控制页对机器鱼进行基本操作。
(1) F?: [?]?>mode: ?中“”表示左转弯速度挡,“[?]”表示速度挡,“>?”表示右转弯速度挡。
(2) Direct为方向滑块,表示虚度方向挡; Spend为游动速度显示条,表示当前游动速度挡。
(3) COM为串口选择; ID为仿生机器鱼号选择。
(4) 右下角区域为控制数据发送接收区,显示发送和接收到的数据。
3) 高级控制页
对机器鱼进行高级控制。如单击更改ID号可以改变当前鱼的编号。
4) 关节调直页对各个关节单独调节,使初始条件下鱼身笔直,游动时保持左右对称。
(1) 单击每个关节则会出现左右两个按钮,单击左,机器鱼的关节会向左调整角度,单击右,机器鱼的关节会向右调整角度。
(2) 确认调直: 单击确认调直,则机器鱼保存调直数据,下一次打开机器鱼时不用重复调直。
首先,将上位机通信模块接入电脑,红灯亮则正常。打开机器鱼底层控制小平台,打开串口,自己设置的上下位机通信串口(本机COM3),设置鱼的ID号,返回当前频率,使得上下位机的频率一致,具体方法是: 先使得上位机的端口上的2,3短接,返回当前频率后,或修改频率,再调整到1,2接口短接上来。同样的方式调整下位机的通信模块,使其频率一致,下位机上电,如果底层程序正常,会看到接收区有数据反馈,如果没有,则重复前面的步骤重新下载底层程序。
机器鱼运动参数设置和控制采用水中仿生机器鱼多功能控制台,如图315所示,该控制台可以完成对仿生机器鱼的基本控制、高级控制、关节调直、参数设置、模式设置等多种功能控制。
基本控制主要是完成对机器鱼基本的加速、减速控制,转弯控制等功能,不能确定机器鱼的状态参数。
高级控制主要完成通信频率更改(包括主机通信模块频率和机器鱼自身通信模块频率),更改鱼的ID号等功能。
关节调直主要是用于校准初始状态下每个关节的中间位置。参数设置主要是对机器鱼三个关节的参数进行设定,包括电机频率、期望振幅、转弯偏移角和期望相位差(滞后角)。
评论
还没有评论。