扫地机器人结构详细
自动清扫机器人是当今服务机器人领域一个热门的研究方向。从理论和技术上讲,自动清扫机器人比较具体地体现了移动机器人的多项关键技术,具有较强的代表性,从市场前景角度讲,自动清扫机器人将大大降低劳动强度、提高劳动效率,适用于宾馆、酒店、图书馆、办公场所和大众家庭。因此开发自动清扫机器人既具有科研上的挑战性又具有广阔的市场前景。 景。
家用智能清扫机,包括计算机、传感器、电机与动力传动机构、电源、吸尘器、电源开
关、操作电位计等,在清扫机的顶部共设有三个超声波距离传感器;清扫机底部前方边沿安在清扫机的顶部共设有三个超声波距离传感器;清扫机底部前方边沿安装有5装有5个接近开关,接近开关与超声波距离传感器一起,构成清扫机测距系统;清扫机装有两台直流电机;在清扫机的底部安装有吸尘器机构。自动清扫机器人的功能是自动完成房间空旷地面尤其是家居空旷地面的清扫除尘任务,打扫前,要把房间里的物体紧靠四周墙壁,腾出空旷地面。清扫机完成的主要功能:能自动走遍所以可进入的房间,可以自动清扫吸尘,可在遥控和手控状态下清扫吸尘。 可在遥控和手控状态下清扫吸尘。
本文所介绍的自动清扫机器人的总体布局方案如图1本文所介绍的自动清扫机器人的总体布局方案如图1所示,前后两轮为万向轮,左右两
轮为驱动轮。驱动轮设计采用两轮独立且各由两台步进电动机驱动的转向方式,通过控制左右两轮的速度差来实现转向。考虑到机器人实际应用的实用性,本驱动系统设计成一个独立的可方便替换的模块,当机器人驱动系统发生故障时,只需简单步骤就可以对驱动部分进行替换。同时为了机器人能够灵活的运动,从动轮选用万向轮。 替换。同时为了机器人能够灵活的运动,从动轮选用万向轮。
下图为自动清扫机的三维立体图:
自动清扫机器人车箱体采用框架式结构。从下至上分隔成三个空间:第一层装配各运动部件的驱动电机、传动机构;第二层为垃圾存储空间;第三层装配机器人控制系统、接线板、
电源电池、开关等。 电源电池、开关等。
自动清扫机器人控制系统硬件主要是以单片机AT89C51作为核心,辅助其外围电路、电机驱动电路、传感器检测电路以及红外遥控电路等,各模块在单片机的控制下,相互协调工作,保证自动清扫机器人各种功能的实现。该控制系统框图如图2所示。传感器在清扫机器人上的布置如图下所示,图中红色的圆点代表六个红外传感器的位置。 外传感器的位置。
下图为清扫机的硬件系统: 下图为清扫机的硬件系统:
步进电机作为执行元件,广泛应用于各种自动化设备中。步进电机和普通电动机不同之处在于它是一种可以将电脉冲信号转化为角位移的执行机构,工作中传递转矩的同时还可以控制角位移或速度。本研究中采用两台步进电机分别驱动两个驱动轮,通过通电方式的不同使自动清扫机器人的行走机构达到前进、后退、左转、右转的运动姿态。自动清扫机器人的使自动清扫机器人的行走机构达到前进、后退、左转、右转的运动姿态。自动清扫机器人的吸尘器则采用直流电机(H吸尘器则采用直流电机(H桥式电路)驱动。 桥式电路)驱动。
下图为步进电机驱动电路: 下图为步进电机驱动电路:
采用以AT89C51单片机为核心的红外接收电路和步进电机驱动电路。红外遥控器发射不
同的码值来控制步进电机的正转、反转、加速减速以及启动停止。单片机通过对红外信号的解码来实现步进电机的变速。红外发射器原理图如下所示: 器原理图如下所示:
设计行走功能模块程序设计系统选用了图 3设计系统选用了图 3所示的行走方案。程序设计时要考虑:方案。程序设计时要考虑:吸尘器在外圈行走时, 在外圈行走时, 为了避免接近开, 为了避免接近开关中断对程序运行的干扰, 关中断对程序运行的干扰, 应对, 应对接近开关的中断处 接近开关的中断处 理程序做 理程序做 相应处理。由于吸尘器两动力轮的中心与车体中心不重合, 心与车体中心不重合, 故采用以, 故采用以
一轮为中心的旋转方式并通过检测转弯标志位 ( 1或 0)来判断转向。在墙角转弯时处,根一轮为中心的旋转方式并通过检测转弯标志位 ( 0)来判断转向。在墙角转弯时处,根据吸尘器外形的几何尺寸计算吸尘器遇墙停止后, 吸尘器内圈行走时的据吸尘器外形的几何尺寸计算吸尘器遇墙停止后, 后退再转弯的时间。, 后退再转弯的时间。转弯依靠转弯设定值实现。当超声波传感器 1转弯依靠转弯设定值实现。当超声波传感器 1的值小于等于设定值时, 的值小于等于设定值时, 吸尘器转弯。考虑, 吸尘器转弯。考虑到超声波传感器的最小量程为 0. 5 m, 到超声波传感器的最小量程为 0. 5 m, 第一圈内圈行 0. 5 m, 第一圈内圈行走的转弯设定值设定为 50 cm, 走的转弯设定值设定为 50 cm, 以后每圈的转弯设定 50 cm, 以后每圈的转弯设定值递增 30 cm。吸尘器单向行驶至转弯结束的过程称为值递增 30 cm。吸尘器单向行驶至转弯结束的过程称为一次单向清扫过程。若某次单向行驶结束后检测到超声波传感器 1波传感器 1的值小于转弯设定值, 的值小于转弯设定值, 则吸尘器原地再次, 则吸尘器原地再次转弯, 转弯, 然后前进至墙停止, 然后前进至墙停止, 然后前进至墙停止, 整个房间清扫完毕。, 整个房间清扫完毕。 整个房间清扫完毕。
设计躲避障碍物功能模块程序设计避障总规则: 设计躲避障碍物功能模块程序设计避障总规则: 利用超声波实测值与已测得的房间长: 利用超声波实测值与已测得的房间长 利用超声波实测值与已测得的房间长 (宽 )值的比较 )值的比较, 值的比较, 判断某次单向清扫途中是否有障碍物。若有障碍物, 判断某次单向清扫途中是否有障碍物。若有障碍物: 判断某次单向清扫途中是否有障碍物。若有障碍物: 行走时若为左转: 行走时若为左转, 行走时若为左转, 采, 采用左避让规则; 障碍物避开后按行走规则继续行进; 用左避让规则; 行走时若为右转; 行走时若为右转, 行走时若为右转, 采用右避让规则。, 采用右避让规则。障碍物避开后按行走规则继续行进; 若; 若无障碍物: 无障碍物: 按行走规则继续行进: 按行走规则继续行进, 按行走规则继续行进, 在转弯前应判断是否有足够的空间供机器人吸尘器转弯。, 在转弯前应判断是否有足够的空间供机器人吸尘器转弯。若吸尘器可以转弯, 若吸尘器可以转弯, 则转弯, 则转弯, 则转弯, 本次单向清扫完毕, 本次单向清扫完毕; 本次单向清扫完毕; 若吸尘器不能转弯; 若吸尘器不能转弯, 若吸尘器不能转弯, 说明下次单向清扫, 说明下次单向清扫起始点处有障碍物, 起始点处有障碍物, 后退, 后退,后退,避开障碍物后再转弯, 避开障碍物后再转弯, 前进至通过障碍物边线后, 前进至通过障碍物边线后, 前进至通过障碍物边线后, 本次单向清扫, 本次单向清扫完毕。避障功能是在行走功能基础上实现的, 完毕。避障功能是在行走功能基础上实现的, 分为内圈避障程序设计和外圈程序设计。清扫完毕的判断方案: 完毕的判断方案: 用外圈行走结束后清扫区域: 用外圈行走结束后清扫区域的精确长、宽值与内圈行走轨迹宽度 30 cm的精确长、宽值与内圈行走轨迹宽度 30 cm相除, 商即为长、宽方向上各自所需的单向清扫, 商即为长、宽方向上各自所需的单向清扫次数, 次数, 有余数则说明还有一块宽度小于, 有余数则说明还有一块宽度小于30 cm 的矩形区域需要清扫。在执行内圈避障时cm 的矩形区域需要清扫。在执行内圈避障时, 的矩形区域需要清扫。在执行内圈避障时, 只要长或宽任意方向上的单向清扫次数达到所需的次数, 需的次数, 即认为清扫完毕, 即认为清扫完毕, 即认为清扫完毕, 剩余矩形区域的, 剩余矩形区域的清扫在终止模块中完成。 清扫在终止模块中完成。
车体姿态调整功能模块程序设计,为保证车体运行时不偏离轨道, 行时不偏离轨道, 采用陀螺仪传感器监视车体运动状, 采用陀螺仪传感器监视车体运动状况。当车体偏移量达到一定值时, 况。当车体偏移量达到一定值时, 通过控制行进方式, 通过控制行进方式调整车体姿态。当车体偏转角度大于 10%调整车体姿态。当车体偏转角度大于 10%时 10%时, 开始调, 开始调
整车体姿态。首先判断车体偏转的方向并记录车体偏转角度。为使车体能最大限度地回到原位置, 位置, 采用一个动力轮不动, 采用一个动力轮不动, 采用一个动力轮不动, 另一动力轮倒转的方式实现车体姿态调整。, 另一动力轮倒转的方式实现车体姿态调整。使用该方案调整车体位置后, 体位置后, 车体并不一定能恰好回到原位置, 车体并不一定能恰好回到原位置, 车体并不一定能恰好回到原位置, 但误差已经很小, 但误差已经很小, 但误差已经很小, 可以满足系统设计要求。, 可以满足系统设计要求。车体姿态调整程序流程如图所示。 体姿态调整程序流程如图所示。 主控程序是吸尘器工作的主体逻辑。在主控程序中需要完成DSP主控程序是吸尘器工作的主体逻辑。在主控程序中需要完成DSP的初始化设置DSP的初始化设置, 的初始化设置, 考虑各, 考虑各功能模块间的逻辑关系, 功能模块间的逻辑关系, 实现对各子程序的调用, 实现对各子程序的调用, 实现对各子程序的调用, 并要充分考虑到各级中断信号对程序运, 并要充分考虑到各级中断信号对程序运行的影响, 行的影响, 做出正确的处理、协调。, 做出正确的处理、协调。 做出正确的处理、协调。 主控程序流程如图所示。用户操作键盘时接近开关可能会工作, 用户操作键盘时接近开关可能会工作, 这有可能导致程序运行, 这有可能导致程序运行出错, 出错, 故, 故DSP需在程序最开始首先屏蔽所有中断。键盘的检测由单片机实现DSP需在程序最开始首先屏蔽所有中断。键盘的检测由单片机实现, 需在程序最开始首先屏蔽所有中断。键盘的检测由单片机实现, 用户若想通过, 用户若想通过键盘设定吸尘器工作方式, 键盘设定吸尘器工作方式, 则必须在开机后, 则必须在开机后20 则必须在开机后20 s内开始操作, 内开始操作, 该, 该20 s的延时由DSP的延时由DSP提供DSP提供, 提供, 20 s后若无键按下, 后若无键按下, 则认为用户未设定吸尘器工作状态, 则认为用户未设定吸尘器工作状态, 则认为用户未设定吸尘器工作状态, 系统按自动方式开始工作, 系统按自动方式开始工作; 系统按自动方式开始工作; 20 s后若有键按下, 键按下, 则将等待用户输入完毕后, 则将等待用户输入完毕后,则将等待用户输入完毕后,按照用户设定要求工作。 按照用户设定要求工作。 系统初始化程序设计,系统的初始化程序是系统各功能实现的前提。给状态寄存器赋值, 给状态寄存器赋值, 保证子程序调用或进入中断时实现CPU 保证子程序调用或进入中断时实现CPU 各种状态的保存CPU 各种状态的保存; 各种状态的保存; 数据存储区配置; 数据存储区配置; 数据存储区配置; 输出口的选择; 输出口的选择及功能设定; 及功能设定; 中断的相关寄存器处理; 中断的相关寄存器处理; 中断的相关寄存器处理; 累加器的溢出方式选择及系统的时钟频率的选定等; 累加器的溢出方式选择及系统的时钟频率的选定等功能都在初始化程序中实现。 功能都在初始化程序中实现。 系统中断处理,系统设计中共有4系统中断处理,系统设计中共有4路中断信号需要处理, 路中断信号需要处理, 其中, 其中8其中8路接近开关和4路接近开关和4路超声波传感器共用优先级为1传感器共用优先级为1级的外部中断X INT1;级的外部中断X INT1;两个事件管理模块X INT1;两个事件管理模块EVA两个事件管理模块EVA和EVA和EVB在产生EVB在产生PWM 在产生PWM 波形时PWM 波形时用到了优先级为2用到了优先级为2级的定时器1级的定时器1和定时器3和定时器3的周期中断; 的周期中断; 此外; 此外, 此外, 陀螺仪的测量值经, 陀螺仪的测量值经ADC 陀螺仪的测量值经ADC 转换时ADC 转换时用到了中断优先级为6用到了中断优先级为6级的ADC 级的ADC 中断。ADC 中断。 中断。 外部中断X 外部中断X INT1的处理,INT1的处理,由于8由于8路接近开关和超声波传感器共用XINT1路接近开关和超声波传感器共用XINT1中断XINT1中断, 中断, 故在响应该, 故在响应该中断时应首先判断是哪个外部设备产生的中断请求, 中断时应首先判断是哪个外部设备产生的中断请求, 然后进行相应的处理。, 然后进行相应的处理。若为接近开关中断, 单片机向双口, 单片机向双口RAM8040h单片机向双口RAM8040h单元写RAM8040h单元写0, 单元写0, 若为超声波中断则写0, 若为超声波中断则写1, DSP若为超声波中断则写1, DSP通过读1, DSP通过读8040h通过读8040h单元内容来8040h单元内容来判断是哪个外设产生的中断:判断是哪个外设产生的中断:①若为超声波传感器发出的中断, ①若为超声波传感器发出的中断, 在其中断服务程序中只需重, 在其中断服务程序中只需重新开中断即可( 新开中断即可( 这是因为进入中断服务程序时( 这是因为进入中断服务程序时, 这是因为进入中断服务程序时, 系统自动关闭中断, 系统自动关闭中断)系统自动关闭中断);②若为接近开关中断, ②若为接近开关中断, 需判断该接近开关是否工作。工作时, 工作时, 则在中断服务程序中还要执行停止程序, 则在中断服务程序中还要执行停止程序, 则在中断服务程序中还要执行停止程序, 否则只需开, 否则只需开中断即可。是第几个接近开关工作, 中断即可。是第几个接近开关工作, 单片机就在双口, 单片机就在双口RAM 8033h单片机就在双口RAM 8033h单元中写几RAM 8033h单元中写几, 单元中写几, 若同时有多个, 若同时有多个接近开关工作, 接近开关工作, 则单片机从, 则单片机从8033 则单片机从8033 单元的最低位起将其序号依次写入。8033 单元的最低位起将其序号依次写入。DSP 单元的最低位起将其序号依次写入。DSP 只需依照此规则DSP 只需依照此规则便可根据8033h便可根据8033h单元内容判断是哪个接近开关工作。8033h单元内容判断是哪个接近开关工作。 单元内容判断是哪个接近开关工作。 ADC中断处理,吸尘器在测距模块中车体旋转ADC中断处理,吸尘器在测距模块中车体旋转180中断处理,吸尘器在测距模块中车体旋转180。, 左、右转及姿态调整的过程中都会, 左、右转及姿态调整的过程中都会
响应ADC 响应ADC 中断ADC 中断, 中断, 故在执行上述功能的程序时分别向, 故在执行上述功能的程序时分别向012Eh故在执行上述功能的程序时分别向012Eh单元写012Eh单元写0单元写0、1、2、3, 功能实现后再3, 功能实现后再向012Eh单元写012Eh单元写4, 单元写4, 这样4, 这样, 这样, 响应中断时便可在中断服务程序中通过查询, 响应中断时便可在中断服务程序中通过查询012Eh响应中断时便可在中断服务程序中通过查询012Eh单元的内容来判012Eh单元的内容来判断车体的运动情况, 断车体的运动情况, 从而执行不同的服务程序。, 从而执行不同的服务程序。 从而执行不同的服务程序。
定时器周期中断处理,定时器周期中断的处理相对简单, 定时器周期中断的处理相对简单, 只需在中断服务程序中将计数, 只需在中断服务程序中将计数器1和计数器3和计数器3重新设置计数初值并开中断即可。 重新设置计数初值并开中断即可。
结束语:扫地机器人控制系统主控及主要功能模块程序的调试和仿真表明, 扫地机器人控制系统主控及主要功能模块程序的调试和仿真表明, 主控模块通, 主控模块通过对各子程序的调用, 过对各子程序的调用, 按一定时序完成了对吸尘器的控制, 按一定时序完成了对吸尘器的控制, 按一定时序完成了对吸尘器的控制, 各主要功能模块满足设计要求。, 各主要功能模块满足设计要求。如避障模块通过对采集到的超声波信号和接近开关信号的判断和处理, 如避障模块通过对采集到的超声波信号和接近开关信号的判断和处理, 很好地完成了对障, 很好地完成了对障碍物的自动感知和自主躲避; 碍物的自动感知和自主躲避; 步进电机及吸尘电机控制精度较高等。; 步进电机及吸尘电机控制精度较高等。 步进电机及吸尘电机控制精度较高等。
因篇幅问题不能全部显示,请点此查看更多更全内容