机器人导航答辩记录半成品-60分模板-
学习报告侧重学习流程。
比如当需要独立或合作完成一个项目的时候,首先需要清晰明确项目的基本需求和应用场景。
将项目进行分解,并对每个时间点需要完成的任务进行细化。如下表所示:
第一阶段(*小时) | 第二阶段(*小时) | 第三阶段(*小时) | 第四阶段(*小时) | 第五阶段(*小时) | …… |
---|---|---|---|---|---|
项目总体规划 | 软件系统细节设计 | 硬件系统细节设计 | 调试和综合测试 | 总结和小组讨论 | 持续改进 |
可参考案例(blog.csdn.net/xiaokai1999/article/details/105358100/)
如下学习案例引用“Webots Autonomous Mobile Robot”。
第一阶段
确定目标
任务包括如下所述的七个阶段。
1. 线跟随部分 - 首先,机器人必须跟随黑色表面上的白线。这条线包含一条直线路径和一条向左或向右旋转 90 度的曲线路径。
2. 交替墙跟随 - 机器人跟随路线后,机器人将必须执行墙跟随动作。此墙后续部分包含两个弯曲的墙,它们将交替出现(当一堵墙结束时,另一堵墙将开始)
3. 环形迷宫区 - 机器人应在墙后部分进入环形迷宫区。在此部分中,将在半径部分中间的圆圈内放置一个框。
4. 颜色检测 - 机器人应识别盒子两侧(底部和正面)的颜色。
5. 坡道区域 - 退出圆形迷宫后,机器人应沿坡道向上移动,并使用基于检测到的盒子面颜色进行的计算,在坡道顶部的交界处选择正确的方向。然后机器人可以沿选定的方向移动以退出斜坡区域。
6. 柱子计数 - 如果机器人选择了错误的路径,它可以通过计算其途中的柱子数量来识别它是否在正确的路径上移动。因此,机器人能够识别它的决定并在它采取错误的方向时返回。
7. 同步闸门 - 在机器人进入终点方格之前,机器人应通过同步闸门,同步闸门以给定的时间间隔打开和关闭。
第二阶段
软件设计-巡线设计为例,也就是线跟随部分
代码语言:javascript复制void lineFollow(DistanceSensor* ir[],double &kp,double &kd,double &ki,double &baseSpeed){
int error = 0;
for (int i=0;i<8;i ){
if (ir[i]->getValue()<lineCutoff){
if (i<4){
error = 100;
}else{
error -= 100;
}
}
}
int P = error;
int D = error - lastError;
I = I error;
lastError = error;
if (error == 0){
I = 0;
}
double correction = ( kd*D kp*P ki*I )/80.0;
leftSpeed = baseSpeed - correction; leftSpeed = limit(leftSpeed);
rightSpeed = baseSpeed correction; rightSpeed = limit(rightSpeed);
return;
}
赛道颜色获取与PID控制结合。
第三阶段
硬件设计
结合软件设计各功能,选型硬件设备
第四阶段
由于时间限制,只做仿真实践。
机器人上坡测试,结合学习过程详细说明。
第五阶段
和小组成员讨论或做总结