当前位置:文档之家› 《计算机图形学》大作业项目汇报

《计算机图形学》大作业项目汇报

中国科学技术大学《计算机图形学》大作业项目汇报
扫地机器人
顾欣玮1葛子恒1冯睿蠡1
1中国科学技术大学2014级数学科学学院
【元件】
单片机×1
电机×2
超声波测距仪×1
红外信号接收器×1
遥控器×1
轮胎×2
万向轮×1
简易清洁装置(DIY)
【项目介绍】
我们通过超声波探测器,红外遥控接收装置和两个电机实现在不预先知道区域形状条件下的遍历多连通区域。

考虑到现实的可操作性,我们设计了共计2种算法来实现这一功能。

【项目制作与设计】
算法1:蒙特卡洛式扫地
区域形状任意,初始位置任意,在碰到障碍物或者墙壁后,随机偏转一个角度,继续前进,直至给定时间。

对于不是很复杂的区域尤其是单连通区域有很高的清扫效率。

算法2:按行遍历式扫地
区域形状在x方向上为凸的,初始位置在y方向上最低处,车的行进方向与x轴同向。

算法流程:
(a)
(1)检测左方是否有障碍物,无则左行直至遇到障碍物,有则进入(2)
(2)检测右方是否有障碍物,无则右行直至遇到障碍物
(b)遇到障碍物后,执行:
(1)右方遇到障碍物,且y方向上前方无障碍,则向y方向前进一小段距离,
左转回到(a)
(2)左方遇到障碍物,且y方向上前方无障碍,则向y方向前进一小段距离,右转回到(a)
(3)左或右方有障碍物,且y方向上前方有障碍物,则左转90°,把x,y轴对调,回到(a)继续执行,直至第二次遇到左或右方有障碍物,且y方向上前方有障碍物时停止。

对于在x方向上凸的多连通区域,基本可以遍历,实际操作中,要求区域尽量简单,否则多次转向累计的误差可能很大。

【项目分工】
我们小组由三人组成
顾欣玮负责小车的拼装与电路连接
冯睿蠡及葛子恒负责算法设计,以及对算法的实验修正
【感想与不足】
由于时间和经验的不足,以下诸方面没有制作完善:
●缺少相关的经验,没有充分考虑到实际情况,初始设计的许多算法在实
际运行中效果极为不理想
●小车有时会出现不走直线的现象,这时对整个算法的实现由巨大威胁
●没有去实现一些更为复杂的算法,主要时间花费在调试小车的各种bug
上,对adiuno的编程语言存在许多疑惑
【致谢】
中国科学技术大学创客实验室为本项目提供了大量支持。

相关主题