智能扫地机器人 陀螺仪导航系统
目录
一、 说明 4
二、 功能简介 4
三、 陀螺仪惯导系统 7
四、 惯导系统地图 8
五、 快速入门 10
1. 快速使用 10
2. 重要文件 11
3. 一个简单的例程 11
杭州艾豆智能科技有限公司推出的智能扫地机器人全屋陀螺仪导航系统开源平台,基于STM32,GD32等MCU实现基于陀螺仪导航的智能扫地机器人功能。
系统基于陀螺仪实现惯性导航,室内定位,实现智能扫地机器人全屋覆盖清洁算法。
本公司在扫地机行业浸淫多年,积累了丰富的机器人室内导航定位经验和智能扫地机器人开发,生产,制造的经验。目前公司有智能扫地机器人随机清扫版本,智能扫地机器人全屋陀螺仪导航清扫版本,基于激光扫描建图定位导航的智能扫地机器人系统,基于固定式定点激光扫描建图定位导航的智能扫地机器人系统。我们积累了丰富的智能机器人室内导航定位系统,产品广泛应用与智能扫地机器人,智能全自动消毒机器人。
杭州艾豆智能科技有限公司全屋陀螺仪导航系统包含完整的扫地机器人功能:
- 机器人航向角计算提取功能。
- 生成室内地图,机器人定位,导航功能。
- 工字清扫功能。
- 沿边清扫功能。
- 重点清扫
- 红外碰撞,碰撞块处理
- 悬崖传感器,跌落计算处理。
- 清扫策略,路径规划功能。
- 计算导航路径,导航算法。
- 计算未清扫点,导航到下一清扫点功能。
- 全屋覆盖清扫功能。
- 后轮驱动、滚刷、边刷电机驱动,调速功能。
- 后轮、滚刷,边刷电机堵转保护功能。
- 自动回充对接充电桩功能。
- APP功能。
- 遥控器功能
- 手动遥控功能
- 智能避障
- 预约功能
- 虚拟墙功能
机器人沿边生成地图展示:
机器人清扫生成地图展示:
陀螺仪地图导航技术,是一种利用惯性元件,通过微芯片处理器执行计算,融合高精度陀螺仪及加速度计码盘等数据,在运动中执行惯性导航,建立地图的技术。
本产品陀螺仪地图导航技术有如下特点:
- 本产品内置32位高性能嵌入式处理器,高精度陀螺仪、实现陀螺仪全屋导航功能。
- 智能导航算法、无需人工干预,一键开机,在清扫过程中自动扫描室、建立室内地图。
- 机器自身身实时存储地图。
系统采集碰撞,测距传感器,融合陀螺仪、加速度计等惯导数据,里程计,数据,实现惯导算法。生成地图数据。
艾豆智能陀螺仪惯导系统,融合测距,碰撞,陀螺仪等数据,实时生成可导航地图,生成地图案例:
陀螺仪惯导地图案例1 清扫面积约120平米
陀螺仪惯导地图案例2: 清扫面积约100平米
陀螺仪惯导生成地图案例3 清扫面积约85平米
从艾豆智能科技有限公司获取到代码后,使用Keil uVision V5.21.1.0打开“RE810\USER”目录下的irobot.uvprojx 文件,编译,生成hex或bin文件,烧录hex或bin文件。
本代码使用Source Insight编辑,建议使用者也采用SI编辑,如使用Keil编辑,可能会存在代码不对齐的情况。
接上蓝牙串口,PC端打开“艾豆智能扫地机器人调试软件.exe”,打开相应的串口。
如上图,选择串口号,打开串口。运行机器,或是选择“定位导航”,单击运行。机器开始运行,并且在软件的左侧可以看到机器运行的轨迹和地图。
- 重要文件
Main.c 主文件、系统初始化、任务调度,有限状态机变迁。
Navigation.c 工字型走法、清扫策略算法。
Route.c 路径导航算法。
Unclean.c 未清扫区域算法
Action.c 机器人运动算法。
Map.c 地图数据算法
Ringbuffer.c 环形缓存算法
Sensers.c 传感器采样算法
Charge.c 自动回充算法
Gyro.c 陀螺仪算法
- 一个简单的例程
为能快速入门,我们建议选择一个简单的功能运行,程序内置一个简易的随机运行程序,在上图软件中,“定位导航”的下拉列表中,选择“重点清扫”的下一个下拉列框,然后点击运行,机器进入一个测试版本的随机模式,并且在左侧能显示运动轨迹。
该程序比较简单明了,但包含了我们程序最核心的内容,该代码位于navigat.c中,如果不采用我公司的导航算法和未清扫点寻找算法,可以基于该代码开发自己公司的产品。
改代码包含了:
- 基于我公司库的基础运动模型
- 包含了坐标计算和地图设置的基本代码。
-
系统结构