智能机器人制作完全手册(第2版)【全本
扉页
内容提要
前言我与机器人爱好
第1章机器人来了
01从小车开始你的机器人爱好之旅
1.1小车的整体控制系统
1.2传感器部分
1.3控制器部分
1.4执行器部分
1.5后记
02制作机器人该用什么单片机
2.1入门首选AT89S51系列单片机
2.2爱好者制作机器人首选AVR系列单片机
2.3高级机器人控制器ARM
2.4音频/视频处理首选DSP
2.5新兴控制器FPGA
2.6更多可供选择的单片机
2.6.1AVR单片机过时了吗?
2.6.2MSP430系列单片机如何?
2.6.3PIC单片机如何?
2.6.4凌阳单片机如何?
03制作机器人常用的传感器
3.1用于避障的传感器
3.2用于测距的传感器
3.3用于亮度判断的传感器
3.4用于测量速度的传感器
3.5用于检测地面灰度的传感器
3.6其他
04谈谈机器人的安装
4.1制作忠告
4.2框架结构
4.3零部件
4.4固定方式
4.5车轮
4.6电机
4.7安装机器人电池
4.8电子电路
4.9布置传感器
05我的机器人制作体验
06机器人爱好者如是说
第2章SolidWorks帮你完成机器人设计
07零件的三维建模
08零件的虚拟装配
09模拟并分析你的机器人零件
第3章多足机器人
10我的第一个机器人——6足甲虫
10.1制作原理
10.2元器件的选择
10.3制作过程
10.3.1图纸设计与3D验证
10.3.2机械配件的数控加工
10.3.3整体装配
10.3.4软件调试
10.4小结
11基于AVR单片机的6足机器昆虫
11.1基本机械结构的制作
11.2控制电路的制作
11.3结构完善
11.3.1加强关节
11.3.2安装加固底盘
11.3.3加大锂电池容量
11.3.4增加指示灯
11.3.5缩短腿部长度
11.4初步行走
12进击的多足巨兽
136足坦克诞生记
13.1拼装版蜘蛛机器人
13.2加装炮台
13.3铁质6足移动平台
13.4再次加装炮台
第4章相扑机器人
14一起来认识相扑机器人
14.1机器人相扑比赛简介
14.2形形色色的相扑机器人
15相扑机器人制作指南
15.1控制器的选择
15.1.1LEGOEV3
15.1.2Arduino
15.2电机、车轮及电机驱动模块的选择
15.2.1电机
15.2.2车轮
15.2.3电机驱动模块
15.3传感器的选择
16一起来制作自主式相扑机器人
16.1相扑机器人车身的制作
16.2编程要点
第5章低成本开源互动机器人BOXZ
17“盒仔”家里造
17.1工具和材料
17.2BOXZ板块的制作
17.3盒仔的组装
17.4Arduino程序和调试
17.5盒仔的更多故事
18通过Android手机控制BOXZ
18.1BOXZ的控制原理
18.2Arduino硬件部分
18.3Arduino软件部分
18.4BOXZAndroid客户端
18.5Android开发环境搭建及BOXZ源代码介绍
18.6扩展应用
19BOXZMini制作全过程
19.1什么是BOXZMini?
19.2组装过程
19.3互动
19.4调试
19.5通信
19.6结束语
20通过网页无线遥控盒仔
20.1配置Zigbee模块
20.1.1配置路由器
20.1.2配置协调器
20.2IntelEdison网关搭建
20.2.1设备准备
20.2.2硬件组装
20.3BOXZMini搭建
20.4整体调试
20.5控制命令说明
21DIY项目从原型到量产的成长历程
2011年懵懂的ROBOT之梦
2012年兴起的Arduino之热
2013年创新的BOXZ之路
2014年腾飞的BOXZ之翼
2015年执着的BOXZ之心
结束语
第6章人形机器人
22一起来玩双足机器人吧!
22.1装配过程
22.2如何让双足机器人行走起来
22.3控制程序
22.4思路扩展——双足机器人还能做什么
23现实版铁甲钢拳来了!
23.1人形机器人的制作
23.2动作序列的制作
23.3遥控端的设计
24铁甲钢拳威力加强版
24.1程序设计
24.2制作过程
25让铁甲钢拳随你而动
25.1制作步骤
25.2Numchuck的用法
26用语音控制铁甲钢拳
第7章精彩制作实例
27用8×8LED点阵屏做的3D打印小机器人
27.1再现原设计的制作过程
27.2设计优化
28DIY自平衡机器人
28.1原理简介
28.2制作过程
29用Arduino自制无线遥控机器人
29.1总体设计
29.2Arduino下位机设计
29.2.1机械部分
29.2.2电路部分
29.2.3下位机软件设计
29.3机器人上位机设计
29.3.1遥控器设计
29.3.2上位机软件设计
29.4整体调试
29.5结束语
30开源群体机器人X-Bot
30.1功能特性
30.2规格说明
30.3硬件结构
30.4电路原理
30.5软件架构
30.6关键技术
30.6.1红外收发硬件设计
30.6.2红外多功能复用设计
30.6.3电机固定方式
30.7后记
31300元打造属于自己的水下机器人
31.1硬件构成
31.1.1ArduinoPromini及CP2102下载线
31.1.2MPU6050模块
31.1.3L298N电机驱动板模块
31.1.4LED照明模块
31.1.5摄像模块
31.1.6电源模块
31.2系统构架与设计
31.2.1硬件设计
31.2.2软件系统
31.3密封及浮态调整
32低成本打造Booby家庭服务机器人
32.1履带底盘的设计
32.2机械臂的设计
32.3机械臂测试程序
32.4视频传输功能的设计
32.5语音交流及眼睛动作的设计
32.6眼睛控制程序
32.7短信报警功能的设计
32.8总结
机器人制作开源方案
1.功能说明本文示例将通过程序控制模拟立体仓储系统的运动效果--模拟立体仓储系统进行运输货物时各个结构的运动方式。立体仓储系统的运动有整体系统的水平移动、载货台的纵向移动、货叉的平动,所有的运动表现形式都是旋转运动转化为平动。
2.结构说明该立体仓储系统的水平移动使用丝杠平移,丝杠平移可以承载较重的物体;载货台的纵向移动使用丝杠平移,其稳定性较强,位移距离长;货叉的平动使用滑块平移机构,平移距离较短。
3.电子硬件本实验中采用了以下硬件:
主控板Basra控制板(兼容ArduinoUno)扩展板Bigfish2.1扩展板传感器触碰传感器电池7.4v锂电池电路连接说明:在下图所示的2个位置分别安装一个触碰传感器作为限位(限位:限定机械设备的运动极限位置)。
①2个触碰传感器分别连接在Bigfish扩展板的A0、A4端口;
②舵机连接在Bigfish扩展板的D4端口;
③2个电机分别连在Bigfish扩展板的D5,D6接口和D9,D10接口。
4.功能实现4.1实现思路实现模拟立体仓储系统运输一个物体的功能。
初始位置:整体立体仓库的运输机构沿-X向移动到极限位置(2号电机控制,传感器限位);载货台沿-Z向移动到极限位置(1号电机控制,传感器限位);货叉收回(3号舵机角度控制);
装货:货叉伸出去,停顿(3号舵机角度控制,大概延迟0.3s);货叉收回,停顿(3号舵机角度控制,大概延迟0.3s);
运输:载货台沿+X向移动到中间位置(2号电机控制,运动所需延迟时间大概7s);载物台沿+Z向移动到中间位置(1号电机控制,运动所需延迟时间大概7s);
卸货:货叉伸出去,停顿(3号舵机角度控制,大概延迟0.3s);货叉收回,停顿(3号舵机角度控制,大概延迟0.3s);
复位:整体立体仓库的运输机构沿-X向移动到极限位置(2号电机控制,传感器限位);载货台沿-Z向移动到极限位置(1号电机控制,传感器限位);货叉收回(3号舵机角度控制)。
4.2示例程序
编程环境:Arduino1.8.19
下面提供一个参考例程(smartStoreHouse.ino),具体实验效果可参考演示视频。
/*------------------------------------------------------------------------------------版权说明:Copyright2023Robottime(Beijing)TechnologyCo.,Ltd.AllRightsReserved.DistributedunderMITlicense.SeefileLICENSEfordetailorcopyathttps://opensource.org/licenses/MITby机器谱2023-06-15https://www.robotway.com/------------------------------*/intsensor[4]={A0,A2,A4,A3};//定义数组~传感器接口/*宏定义舵机角度,以及延时时间*/#defineSERVO_OUT70#defineSERVO_IN120#defineDelay_right7000#defineDelay_up7000#includeServomyservo;voidsetup(){//putyoursetupcodehere,torunonce:for(inti=0;i