扫地机器人的模拟程序 (1)

本文介绍了作者为模拟扫地机器人程序设计的地图模块,包括在Excel中绘制地图、使用csv库读取地图文件以及将地图格子编号。通过地图模块,机器人可以识别可通行与不可通行区域,为后续的感知和寻路模块奠定基础。

前言

在朋友的推荐下,尝试写一个模拟的扫地机器人的程序,当做是练习(工程能力和算法)
写这篇文章一是记录和分享思路,也希望获得更多意见和建议,欢迎评论

效果

本来是打算最后再贴图的,文章没啥人气,加上感冒
偷个懒就先贴个图吧(不知道为什么没办法直接贴图片,只好贴链接了)
https://wx1.sinaimg.cn/mw1024...
https://wx4.sinaimg.cn/mw1024...

思路

想了下大概应该有下面几个模块

  1. 主模块,负责调用其他模块
  2. 地图模块,负责处理地图,比如导入外部的地图文件并转换成方便处理的格式
  3. 感知模块,负责感知当前所在位置的周围是否可通行
  4. 动作模块,负责“走动”,出于解耦的考虑,这里的动作只有最基本的走路动作,不包含寻路逻辑
  5. 寻路模块,负责调用感知模块和动作模块,做一些复杂动作,比如U形走法(听上去有点中二,先这么叫着)和最短路径走法(到最近的未清洁点)
  6. 显示模块,负责把机器人走过的路径显示出来,形式上最好是独立于程序的存在,比如gif文件

在准备写复杂模块前,首先把地图模块给写出来吧,这篇文章就专注于这个模块

地图模块

首先思考,外部的地图文件要便于创建(手工绘制),查看和被导入,于是便想到csv

1 . 在Excel中“画图”

画一个10*10的地图,其中一个格子代表一个区域,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值