智能扫地机器人软硬件开发笔记(1)-规格需求书

时间:2024-05-23 20:08:53

现在的城市生活节奏越来越快,加班更是家常便饭,人也变得也来越懒惰,打扫房屋就成了一件头疼的事。随着智能扫地机的问世及普及,节省了人们的清洁时间。半年前我萌生了自己设计开发一款扫地机器人的想法,虽然也做了一些准备工作,但奈何SLAM算法门槛还是较高。不过最终还是决定从稍简单的随机式扫地机入手,再开发路径规划式,最后有可能回去尝试挑战SLAM视觉路径规划等方案,所谓有志者事竟成,那就先立个志,定个规格需求书吧。

1.1 项目背景

扫地机项目初定为两个版本DT1000,和DT2000。DT1000是随机路径,DT2000是路径规划的扫地机版本。这两款扫地机主要针对的是家庭环境,面积60-90平的商品住宅公寓中使用。

1.2 需求概述

DT1000主要功能包括:

(1)清扫功能(扫、拖功能),包含两个边刷,两个边轮驱动,和一个的吸尘器。

(2)红外避障功能。红外传感器,探测到扫地机离障碍物距离小于20cm后开启避障。

(3)随机路径算法功能。可以避障后进行随机路径选择。

(4)电池电量检测功能。检测电池电量。

(5)报警指示功能。低电量报警,充电结束提示。以及防卡死报警。

(6)自动回充功能。当低电量时,自动进行回充。

(7)低功耗(待机)功能。当进入卡死状态后,或者不行走时,进入低功耗模式。

(8)无线控制功能。使用遥控器进行的控制。

DT2000除了上述DT1000功能之外,还包含自动避障和路径规划功能。

 

二、 硬件功能需求

2.1 硬件模块

(1)红外传感器模块。

(2)边刷电机,后轮电机,吸尘器电机。

(3)无线控制/定位模块。

(4)主控MCU模块。

(5)电池管路模块(充电、供电)。

(6)报警模块。

三、 软件功能需求

3.1扫地机状态机

扫地机状态机主要用来的控制状态,主要分为待机状态,清扫状态,避障状态。

待机状态:主要是扫地机没有有效接触到地面或者正在充电时处于的一种状态,主要是为了省电。

清扫状态:扫地机正常的工作状态,用来清扫和清洁地面。

避障状态:当扫地机的红外传感器探测到前方有障碍物,紧急进入到避障状态,当探测到前方没有障碍物之后退出避障状态,进入到清扫状态。

3.2红外传感器

红外传感器主要用来实现避障以及防摔功能。实际使用中会使用到3-4个红外传感器来探测多个角度的障碍物。

3.3后边轮电机驱动

主要是实现扫地机的行走功能,包括转角度,加速直行,减速直行等。

3.4吸尘器电机驱动

吸尘器电机使用Nedic的无刷电机,此电机用来做吸尘作用。

3.5电池电量检测(低电压报警,满电压提醒)。

电池电量检测使用A/D采样方法,每0.1s采样一次,每1s得出采样的结果,当电池电量低于20%,或者低于阈值后,即低电压报警。

3.6扫地机卡死报警

扫地机进入到某个区域后,在旋转过720度之后,任然还处于避障状态,此情况下进入到低功耗模式,并且进行卡死报警。

3.7低功耗模式(待机模式)

在此模式下,关闭掉所有的电机,关闭掉红外传感器模块。支持无线唤醒和按键唤醒,按键唤醒后扫地机将会继续工作。

3.8随机路线规划算法

当扫地机处于避障状态下,扫地机将会调整角度转向,能够实现圆形,S型等模型走向。

3.9指示灯

指示灯模块包含两个LED灯,2个红/绿共阳极发光二极管。

#1二极管用来指示扫地机运行状态,当扫地机处于清扫状态或者避障状态时#1二极管显示出绿色,当扫地机处于待机状态下,二极管显示为红色。若此时是因为在卡死报警状态下进入的待机状态,#1二极管没4Hz的频率闪烁,并伴随着蜂鸣器报警。

#2二极管用来指示电池电量,当电池电量高于20%时,#2二极管为绿色以1Hz的频率闪烁。当电量低于20%时,二极管为红色并且以2Hz的频率闪烁,电池电量低于10%时,#2二极管常红。当充电结束,电池电量达到80%以上时,#2二极管常绿。

3.10自动回充功能

当电池电量低于20%时,扫地机开始寻找充电底座充电。

3.11人机交互

LCD显示器显示红外传感器探测的距离,以及一些信息用来debug。

3.12无线控制

遥控器有导航键,用来无线控制扫地机的方向和力度。

3.13软件烧录与升级

开发软件升级以及烧录的上位机软件。

4.计划书

智能扫地机器人软硬件开发笔记(1)-规格需求书

以上就是的整个智能扫地机的所有的功能需求了,虽然它还不是很智能,但大体的功能应该可以满足需求了。作者也会持续不断的更新自己的研发进度,如果有兴趣或者有什么问题可以随时联系我,希望最终可以实现这个方案。

                                            智能扫地机器人软硬件开发笔记(1)-规格需求书