20、PushBot:搭建与编程指南

PushBot:搭建与编程指南

1. PushBot主体与电机组装

PushBot的组装接近尾声,以下是组装的步骤:
1. 从颈部/红外传感器组件和砖块开始,将两个小黑色连接器插入砖块顶部。
2. 安装人偶颚笼,其底部的长蓝色连接器与砖块底部连接。
3. 组装新零件形成加强梁,将其安装在合适位置,以固定颈部组件、人偶颚和砖块。
4. 安装用于加固结构的长轴和两个轴环,虽然没有它们机器人也能运行,但会使结构更坚固。
5. 构建带轮子和支架的大型电机,它们是镜像对称的。
6. 将大型电机安装到机器人上,并将支撑脚轮的梁与两个大型电机连接。
7. 收集触摸传感器、短蓝色轴销和黑色销,将它们安装在触摸传感器上,并在砖块上找到合适位置安装触摸传感器。
8. 完成布线,中号电机连接端口A,大型电机连接端口B和C,触摸传感器连接端口1,颜色传感器连接端口2,红外传感器连接端口4。

以下是组装步骤的表格总结:
|步骤|操作|
| ---- | ---- |
|1|插入黑色连接器到砖块顶部|
|2|安装人偶颚笼|
|3|组装并安装加强梁|
|4|安装长轴和轴环|
|5|构建大型电机|
|6|安装大型电机并连接脚轮梁|
|7|安装触摸传感器|
|8|完成布线|

mermaid流程图如下:

graph LR
    A[开始] --> B[插入黑色连接器]
    B --> C[安装人偶颚笼]
    C --> D[组装并安装加强梁]
    D --> E[安装长轴和轴环]
    E --> F[构建大型电机]
    F --> G[安装大型电机并连接脚轮梁]
    G --> H[安装触摸传感器]
    H --> I[完成布线]
    I --> J[结束]
2. PushBot编程

为确保PushBot的程序能正常运行,将编程分为三个部分:
1. 将机器人移动到第一个人偶前的正确位置
- 在LEGO MINDSTORMS EV3软件中,点击左上角的 + 标签,双击蓝色程序名称,输入PushBot。
- 使用触摸传感器作为启动按钮,放置在砖块顶部易触及的位置。
- 放置一个LOOP块,等待触摸传感器触发。
- 有两种方法将机器人移动到第一个人偶前:
- 方法一:使用MOVE STEERING块,设置正确的旋转次数或度数,使机器人移动5.5英尺。
- 方法二:使用红外传感器检测人偶,放置一个LOOP块,当红外传感器检测到距离小于30厘米的障碍物时触发。在LOOP块内放置MOVE STEERING块,让电机B和C旋转。
- 测试发现,将MOVE STEERING块的持续时间设置为无限时,机器人更接近目标。同时,将红外传感器的灵敏度提高到30厘米或更小。
- 当机器人到达目标后,需要旋转180度。先使用MOVE STEERING块让机器人后退约五英寸,然后使用LARGE MOTOR块分别让机器人左转和右转90度。

以下是移动到第一个人偶前的操作步骤列表:
1. 打开软件,创建PushBot程序。
2. 设置触摸传感器为启动按钮。
3. 放置等待触摸传感器触发的LOOP块。
4. 选择移动方法并设置相应的编程块。
5. 测试并调整参数。
6. 让机器人旋转180度。

表格总结如下:
|步骤|操作|
| ---- | ---- |
|1|创建程序|
|2|设置启动按钮|
|3|放置等待触发的LOOP块|
|4|选择移动方法并设置编程块|
|5|测试调整|
|6|旋转机器人|

mermaid流程图如下:

graph LR
    A[开始] --> B[创建程序]
    B --> C[设置启动按钮]
    C --> D[放置等待触发的LOOP块]
    D --> E{选择移动方法}
    E -->|方法一| F[设置旋转次数或度数]
    E -->|方法二| G[设置红外传感器检测]
    F --> H[测试调整]
    G --> H
    H --> I[旋转机器人]
    I --> J[结束]
3. 定位前三个人偶

在让PushBot推动最后一个人偶上斜坡并放到石棺之前,需要让它在第三个人偶前停下。为了实现将前三个人偶推到正确位置的操作,需要添加一个LOOP块来完成重复步骤。具体操作如下:
1. 添加并配置LOOP块 :添加一个LOOP块,先将其配置为执行一次内部的块,测试后将其改为执行三次,以对三个人偶执行相同操作。
2. 靠近人偶并停止 :使用另一个LOOP块,当红外遥控器触发红外传感器时停止。添加一个MOVE STEERING块,配置为让大型电机B和C旋转四分之一圈(0.25),使机器人缓慢靠近人偶。
3. 关闭笼子 :使用一个MEDIUM MOTOR块关闭笼子。最初配置为让电机A旋转 -65 度,但后来改为以 -30 的速度运行 0.25 秒。之后添加另一个MEDIUM MOTOR块关闭电机A以节省电池电量。
4. 推动人偶到指定位置 :使用一个LOOP块,当颜色传感器检测到黑色黑曜石岩石地板(测试时为黑色纸张)时停止。添加一个MOVE STEERING块,每次推动 2.75 英寸(半圈),并添加一个半秒的延迟,确保颜色传感器能检测到黑色纸张。
5. 调整位置 :如果人偶只到达黑色纸张边缘,添加一个MOVE STEERING块,让其前进一圈(5.5 英寸),将人偶推到纸张中心。
6. 打开笼子并后退 :使用MEDIUM MOTOR块打开笼子,再使用MOVE STEERING块让机器人后退约三英尺(约 6.5 圈)。
7. 调整方向到下个人偶前 :依次使用LARGE MOTOR块让机器人右转、MOVE STEERING块让机器人前进约两英尺、LARGE MOTOR块让机器人左转,使其面对下个人偶。

以下是定位前三个人偶的操作步骤列表:
1. 添加并配置执行三次的LOOP块。
2. 放置让机器人靠近人偶并停止的LOOP块和MOVE STEERING块。
3. 配置关闭笼子的MEDIUM MOTOR块和关闭电机的MEDIUM MOTOR块。
4. 放置推动人偶到指定位置的LOOP块和MOVE STEERING块。
5. 若有需要,添加调整人偶位置的MOVE STEERING块。
6. 打开笼子并让机器人后退。
7. 调整机器人方向到下个人偶前。

表格总结如下:
|步骤|操作|
| ---- | ---- |
|1|添加并配置LOOP块|
|2|设置靠近人偶的块|
|3|设置关闭笼子和电机的块|
|4|设置推动人偶的块|
|5|调整人偶位置(若需要)|
|6|打开笼子并后退|
|7|调整方向到下个人偶前|

mermaid流程图如下:

graph LR
    A[开始] --> B[添加并配置LOOP块]
    B --> C[设置靠近人偶的块]
    C --> D[设置关闭笼子和电机的块]
    D --> E[设置推动人偶的块]
    E --> F{是否需要调整位置}
    F -->|是| G[调整人偶位置]
    F -->|否| H[打开笼子并后退]
    G --> H
    H --> I[调整方向到下个人偶前]
    I --> J[结束]

在测试过程中,可能会遇到各种问题,例如机器人可能会越过第二个人偶、笼子关闭或打开不正常等。针对这些问题,可以通过调整电机旋转的持续时间、传感器的灵敏度等参数来解决。需要注意的是,不同的机器人设置可能会有所不同,因此测试是非常必要的。通过不断测试和调整,可以提高机器人在不同环境下的性能,同时也能提升自己对机器人工作原理的理解和技能。

经过一系列的测试和调整,PushBot成功将前三个人偶推到了正确位置。接下来,就可以让它推动第四个人偶上斜坡并放到石棺上,完成整个任务。通过这样的方式,我们可以看到机器人编程和调试的过程,以及如何通过不断测试和优化来实现预期的功能。

【评估多目标跟踪方法】9个高度敏捷目标在编队中的轨迹和测量研究(Matlab代码实现)内容概要:本文围绕“评估多目标跟踪方法”,重点研究9个高度敏捷目标在编队飞行中的轨迹生成测量过程,并提供完整的Matlab代码实现。文中详细模拟了目标的动态行为、运动约束及编队结构,通过仿真获取目标的状态信息观测数据,用于验证和比较不同多目标跟踪算法的性能。研究内容涵盖轨迹建模、噪声处理、传感器测量模拟以及数据可视化等关键技术环节,旨在为雷达、无人机编队、自动驾驶等领域的多目标跟踪系统提供可复现的测试基准。; 适合人群:具备一定Matlab编程基础,从事控制工程、自动化、航空航天、智能交通或人工智能等相关领域的研究生、科研人员及工程技术人员。; 使用场景及目标:①用于多目标跟踪算法(如卡尔曼滤波、粒子滤波、GM-CPHD等)的性能评估对比实验;②作为无人机编队、空中交通监控等应用场景下的轨迹仿真传感器数据分析的教学研究平台;③支持对高度机动目标在复杂编队下的可观测性跟踪精度进行深入分析。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注轨迹生成逻辑测量模型构建部分,可通过修改目标数量、运动参数或噪声水平来拓展实验场景,进一步提升对多目标跟踪系统设计评估的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值