PushBot:规划与设计
在机器人设计的领域中,每一次新的挑战都意味着要构思全新的解决方案。这次我们面临的任务是设计一个能够将雕像推到指定位置的机器人,也就是 PushBot。
任务背景
在一个充满机关陷阱的环境里,有几个雕像需要被推到黑色黑曜石压力板上,最后还要把一个国王雕像推上斜坡放到石棺顶部的压力板上,以解除地板上的大型压力板陷阱,从而安全进入墓室。此前设计的 GrabberBot 是通过提升动作完成任务,而这次的 PushBot 则采用推动的方式,这样做是为了让雕像始终与地面接触,避免掉落,同时降低因雕像过重导致机器人翻倒的风险。
规划与设计流程
-
设计前期准备
- 拿出空白的设计日志页面和笔,在“机器人名称”框中写下 PushBot 或其他你为新机器人取的名字,然后开始撰写描述。在还未完全了解机器人可能遇到的问题时,描述应尽量通用,避免指定具体使用的组件。
- 例如,当前的机器人描述很笼统,没有说明如何检测雕像、怎样推动雕像以及如何判断雕像是否到达黑色压力板。但随着对描述语句的深入思考,能逐渐明确一些传感器的使用方式。
-
机器人描述分析
- “PushBot 将从基座出发,向第一个雕像(最左边的雕像)移动”:由于能看到第一个雕像的位置,可以利用这一点让机器人顺利起步。
- “机器人必须检测到雕像,且不能将其撞到或碰倒到后墙(压力板)”:为了让机器人在不接触雕像的情况下检测到它,需要使用红外传感器。
- “机器人必须将雕像推到黑色压力板上,且不能使雕像翻倒”:推动雕像时,从雕像底部推动能降低翻倒风险,但仍有可能向机器人方向倾倒,所以机器人需要缓慢推动,还可以考虑设计一个笼子或其他结构来防止雕像前后倾倒。
-
任务列表制定
- 移动到第一个雕像 :已知基座边缘到第一个雕像的距离,可编程让机器人先移动特定距离,再开始检测雕像。
- 检测并推动雕像到压力板 :红外传感器可用于检测雕像,而在雕像被检测到后,要停止推动使其不超出压力板,可考虑使用触摸传感器、颜色传感器或红外遥控器,但目前暂不做决定,待开始构建时再确定。
- 反向移动到第二个雕像 :根据已知的雕像间距离,通过编程让机器人做出正确转弯,到达剩余雕像前。
以下是 PushBot 的任务列表:
| 任务序号 | 任务内容 |
| ---- | ---- |
| 1 | 从基座移动到第一个雕像,不触碰它 |
| 2 | 检测到雕像并将其推到压力板上 |
| 3 | 反向移动到第二个雕像 |
| 4 | 检测到雕像并将其推到压力板上 |
| 5 | 反向移动到第三个雕像 |
| 6 | 检测到雕像并将其推到压力板上 |
| 7 | 移动到斜坡底部的雕像 |
| 8 | 将斜坡底部的雕像推上斜坡放到压力板上 |
限制与约束
在设计 PushBot 时,需要考虑以下限制和约束:
1.
尺寸限制
:机器人宽度必须小于 2 英尺,以适应斜坡。虽然对高度没有明确限制,但为降低机器人在斜坡上翻倒的风险,应尽量降低其高度。
2.
测量误差
:测量数据并非 100%精确,雕像间距离约为 2 英尺,要确保机器人有足够的空间转弯和移动,避免碰撞其他雕像。
3.
重量限制
:成年蜘蛛猴的最大重量约为 10 磅,此前设计的机器人都未超过该重量,这次也要保证 PushBot 的重量在此范围内,否则会触发地板压力板陷阱。
这些限制和约束会对机器人的最终设计产生影响,在后续的设计过程中需要充分考虑。
设计思路启发(Mindstorm)
- 位置编程 :通过编程设定机器人的移动距离,使其能准确到达每个雕像前,且在到达最大距离前停止,然后后退一定距离,为安全转弯和导航到下一个雕像留出空间。
- 颜色检测 :由于机器人是将雕像推到黑色黑曜石压力板上,可以使用颜色传感器检测颜色变化,就像在 SnapShotBot 中使用的方法一样。需要将颜色传感器放置在笼子机构上或附近,以便快速检测到黑色压力板。
- 避免碰撞 :将笼子机构放在机器人后部,直到需要时再旋转机器人去接近雕像。当红外传感器检测到雕像时,机器人停止(可能后退一点),旋转后缓慢接近。可以使用红外遥控器辅助机器人在雕像附近正确定位,当机器人到达合适位置时,按下遥控器按钮,机器人关闭笼子并继续推动雕像,直到颜色传感器检测到黑色压力板。
以下是 PushBot 设计的流程图:
graph LR
A[开始] --> B[设计前期准备]
B --> C[撰写机器人描述]
C --> D[制定任务列表]
D --> E[考虑限制与约束]
E --> F[Mindstorm 设计思路启发]
F --> G[绘制草图]
G --> H[开始构建和测试]
H --> I[完成 PushBot 设计]
通过以上步骤,我们对 PushBot 的规划与设计有了清晰的思路,接下来将根据这些思路进行草图绘制,然后开始构建和测试,逐步完善 PushBot 的设计。
PushBot:规划与设计(续)
草图绘制
在完成前面的规划和设计思路梳理后,接下来要进行草图绘制,这有助于我们更直观地呈现 PushBot 的大致形状和各组件的布局。
由于 PushBot 可能会用到颜色传感器、红外传感器、触摸传感器,还会使用三个电机并构建笼子机构,这使得它的形状可能比较独特。通过绘制草图,用基本形状代表电机、控制模块(Brick)和传感器,能初步形成一个“目标形状”,虽然最终设计可能与草图不完全一致,但整体形状应该相近。
以下是一些关于组件布局的初步想法:
-
传感器
:颜色传感器要放置在笼子机构上或附近,以便及时检测黑色压力板的颜色变化;红外传感器用于检测雕像,其位置需保证能有效探测到前方雕像;触摸传感器可作为启动按钮,放置在便于操作的位置。
-
电机
:三个电机要合理分布,以提供机器人移动、推动雕像和笼子机构开合所需的动力。
-
笼子机构
:考虑到避免碰撞其他雕像,将其初始位置设置在机器人后部,并且要保证其能够灵活开合,包围住雕像。
构建与测试
完成草图绘制后,就可以开始实际的构建和测试工作了。这是将设计想法转化为实际机器人的关键阶段。
1.
构建步骤
-
准备材料
:收集所需的乐高积木、传感器、电机和控制模块等组件。
-
搭建框架
:根据草图,搭建机器人的基本框架,确保其结构稳定。
-
安装组件
:按照设计思路,依次安装传感器、电机和笼子机构等组件,并连接好线路。
-
调试程序
:根据任务列表和 Mindstorm 中的设计思路,编写并调试机器人的控制程序。
2.
测试要点
-
移动测试
:测试机器人从基座到雕像的移动是否准确,能否按照预设距离停止和转弯。
-
检测测试
:检查红外传感器和颜色传感器是否能正常工作,能否准确检测到雕像和黑色压力板。
-
推动测试
:测试机器人推动雕像时,是否能保持雕像稳定,不发生翻倒,并且能否准确将雕像推到压力板上。
-
整体测试
:进行多次整体测试,模拟实际场景,检查机器人在完成一系列任务时是否顺畅,是否能应对各种可能出现的情况。
优化与完善
在构建和测试过程中,可能会发现一些问题和不足之处,需要对 PushBot 进行优化和完善。
1.
性能优化
-
速度调整
:根据测试结果,调整机器人的移动速度和推动速度,确保既能高效完成任务,又能保证雕像的安全。
-
传感器精度
:对传感器的灵敏度进行微调,提高检测的准确性。
2.
结构改进
-
笼子机构
:如果发现笼子机构在开合或包围雕像时存在问题,对其结构进行改进,使其更加灵活和稳定。
-
整体布局
:根据实际情况,对机器人的整体布局进行调整,优化各组件的位置,提高机器人的平衡性和稳定性。
3.
程序优化
-
代码简化
:对控制程序进行优化,简化代码结构,提高程序的运行效率。
-
错误处理
:增加错误处理机制,使机器人在遇到异常情况时能够自动调整或发出警报。
以下是 PushBot 优化与完善的表格:
| 优化方面 | 具体措施 |
| ---- | ---- |
| 性能优化 | 调整移动和推动速度,微调传感器灵敏度 |
| 结构改进 | 改进笼子机构,调整整体布局 |
| 程序优化 | 简化代码,增加错误处理机制 |
总结
通过对 PushBot 的规划、设计、构建、测试和优化等一系列工作,我们逐步完成了一个能够完成特定任务的机器人设计。在整个过程中,充分考虑了任务需求、各种限制和约束,运用了合理的设计思路和方法,并且通过不断的测试和优化,提高了机器人的性能和稳定性。
设计机器人是一个充满挑战和创意的过程,每一个环节都需要精心思考和实践。希望通过本文的介绍,能为大家在机器人设计方面提供一些有益的参考和启发。
以下是 PushBot 设计的完整流程图:
graph LR
A[开始] --> B[设计前期准备]
B --> C[撰写机器人描述]
C --> D[制定任务列表]
D --> E[考虑限制与约束]
E --> F[Mindstorm 设计思路启发]
F --> G[绘制草图]
G --> H[开始构建和测试]
H --> I{测试是否通过}
I -- 是 --> J[完成 PushBot 设计]
I -- 否 --> K[优化与完善]
K --> H
通过这个流程图,我们可以清晰地看到 PushBot 设计的整个过程,从最初的规划到最终的完成,每个环节都紧密相连,相互影响。只有经过不断的迭代和优化,才能设计出一个满足需求的优秀机器人。
PushBot机器人的规划与设计全流程
超级会员免费看
25

被折叠的 条评论
为什么被折叠?



