楼主: jaychsu
跳转到指定楼层
上一主题 下一主题
收起左侧

扫地机器人,Robot API、实现及总结

   
🔗
 楼主| jaychsu 2018-4-27 11:20:38 | 只看该作者
全局:
why1992 发表于 2018-4-27 10:49
可能是我想当然了,因为我不太了解具体背景是什么。我理解就是一般的这种扫地机器人肯定是有传感器,用于 ...

你的想法没错,你说的传感器在题目里面就是 move 的返回值,也就是说题目规范了机器人会先试着走,然后由给定的 move API 返回能不能走过去。可能你说的是变种题吧,又给了一个检测的 API 能看有没有障碍。

至于你说的,要把每一个 room 确定好才遍历,如果这件事在 Robot 里面做确实是不科学,因为这代表每次要执行 dfs 之前都需要扫描整个房间的状态。这也是为什么我把遍历全部格子这件事分到 Room 里面,这样 Robot 就不需要知道房间的信息了。
回复

使用道具 举报

全局:
move这个函数就有传感功能,返回FALSE,说明前方有障碍
回复

使用道具 举报

🔗
 楼主| jaychsu 2018-4-27 11:25:53 | 只看该作者
全局:
zhang_yi_jun75 发表于 2018-4-27 11:17
不需要知道房间大小,哪怕房间是非规则图形,只要是有一个个小格子组成,robot凭着探索路径的和记录每格状 ...

木有错,就是这个理!而关于测试,可以也试着还原题目给的 API??
回复

使用道具 举报

全局:
我如果写好了,怎么测试呢。纯碎兴趣啊
回复

使用道具 举报

全局:
难道自己做个程序,在一个坐标系统连接各个整数点弄个闭环当房间,然后再把闭环内的部分点设为障碍点。然后放置robot到里面任一个点,自己在一个程序里测试
回复

使用道具 举报

🔗
boy27910230 2018-4-27 11:36:04 | 只看该作者
全局:
加米!期待下一贴!
回复

使用道具 举报

🔗
why1992 2018-4-27 11:40:32 | 只看该作者
全局:
jaychsu 发表于 2018-4-27 11:20
你的想法没错,你说的传感器在题目里面就是 move 的返回值,也就是说题目规范了机器人会先试着走,然后由 ...

哦哦,我懂你的意思了,你这么想没问题。不过我感觉这种题是不是比较开放,只要能跟面试官说清楚就行?
回复

使用道具 举报

本楼:
全局:
多谢分享
回复

使用道具 举报

全局:
我刚写的机器人c#代码,另外自己加写了个界面测试程序。在github.com/yijun-zhang/cleanrobot 。思路是,robot不知道房间大小,形状,它以自己为中心,用move返回值标记各个块。直到未知状态块数量减为0标志打扫成功。此程序如果优化的话可以考虑所有探测过的点状态和robot位置的几何关系,免的robot走太多回头路。欢迎大家优化。

评分

参与人数 1大米 +5 收起 理由
jaychsu + 5 给你点个赞!

查看全部评分

回复

使用道具 举报

全局:
robot用来判断房间是否打扫完成,只能是根据自己探测的历程累积。它一开始并不知道房间大小和形状,障碍物位置。robot的下一步行动是建立在它历程中累积到的信息决定的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表