想象一下,妈妈第一次让你独自去一个巨大的菜市场买番茄。你要先搞清楚自己站在哪个摊位前,认路走到蔬菜区,在熙熙攘攘的人群里找到番茄摊,从一堆红绿果子中挑出熟透的,再伸手轻轻抓起,放进袋子带回家。每一步看起来都很自然,但对一台农业机器人来说,这些都是充满挑战的任务。农业机器人就像这个第一次逛菜市场的“小学徒”:它得先回答“我在哪”,记住菜市场的布局,规划最短路线,避开挡路的推车和行人,认出哪颗番茄熟了,最后轻拿轻放地把果实摘下来。这篇文章就用“逛菜市场”的故事,带你一步步看懂农业机器人自主导航与采摘的关键技术,从一个完全不懂AI的小白,成长为能理解这套系统原理的入门者。

岗位关联

自主导航与采摘是智慧农业落地最核心的环节,理解这套技术,能帮你进入机器人、自动驾驶、农业AI结合的高价值岗位,也是面试中展示系统性思维的黄金话题。

目录
  1. 可视化演示
  2. 导航定位:先搞清楚自己在哪里
  3. 建图与感知:把菜市场画进脑子里
  4. 路径规划:怎么走最近最安全
  5. 避障决策:遇到人群和货堆怎么办
  6. 目标识别:从一片绿里认出红番茄
  7. 采摘执行:伸手摘菜的门道
  8. 系统集成:各部件拧成一股绳
  9. 应用与展望:从菜市场走向大农场
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示农田自主导航、果实感知定位与机械臂运动规划的采摘过程,可切换三种模式观察机器人如何精准完成采摘。

本节配有交互动效(进入视口后自动加载,约 3KB)。

农田自主导航 农田地形非结构化,室内SLAM方法直接迁移性能骤降 融合RTK差分与多传感器适应复杂环境 RTK + SLAM → 定位 自主导航是采摘作业的前提。

导航定位:先搞清楚自己在哪里

想象你第一次走进一座超大型菜市场,四周都是摊位,如果不知道自己站在哪个位置,后面的路全是乱走。农业机器人也一样,它工作的第一步是回答一个问题:“我现在在哪里?”这个能力叫导航定位。

机器人没有天生的方向感,它靠电子感官不断估算位置:轮子上的编码器可以数出车轮转了多少圈,类似你走路时自己数步数;惯性测量单元(IMU)能感受加速度和转动,类似耳朵里的平衡感;激光雷达则像手电筒,扫出周围环境的轮廓。可是这些传感器都有缺点:轮子会打滑,IMU会漂移,雷达可能被枝叶干扰。单独相信谁都不靠谱。

聪明的办法是把多个传感器的估计值融合起来。每个传感器给出一个位置猜测,再根据它的可信度分配权重,最终得到更稳的位置。这就像你在市场里问路,会综合好几个人的回答,并且更相信那位熟悉市场的摊主。

回到比喻:随着机器人在这片“菜市场”里待得越久,它对“自己在哪”的把握就越准,下一步认路也就越有信心。

xˉ=∑i=1nwixi∑i=1nwi\displaystyle \bar{x} = \frac{\sum_{i=1}^{n} w_i x_i}{\sum_{i=1}^{n} w_i}
多传感器各自估计位置,按可信度加权平均,得到更可靠的机器人位置。
  1. 加权累加把每个传感器估计出的位置值 $x_i$ 与它的权重 $w_i$ 相乘,然后全部加起来,得到一个带权的位置总和。
    ∑i=1nwixi\displaystyle \sum_{i=1}^{n} w_i x_i
  2. 归一化处理把所有传感器的权重加起来作为总权重,用总和除以总权重,让最终结果回到正常的位置坐标范围。
    ∑i=1nwi\displaystyle \sum_{i=1}^{n} w_i

建图与感知:把菜市场画进脑子里

光知道自己在哪还不够。第一次逛市场,你会一边走一边记住“左转是海鲜区,直走是调料区”,在脑子里画一张地图。农业机器人也做同样的事,专业名词叫SLAM,也就是同时定位与建图。

机器人行驶时,里程计根据轮子转数估计自己走了多远,但时间一长会出现“漂移”——就像闭着眼睛直线走,你以为走的是直线,其实已经偏了。SLAM会利用激光雷达或相机的观测,把当前看到的场景和已有地图对比,一边修正位置,一边更新地图。粒子滤波是其中常用的方法:一大群带权重的“猜测粒子”分散在地图上,每个粒子代表一个可能的位置,观测结果支持谁的猜测,谁的权重就变大,不合适的粒子被淘汰,最后粒子的聚集处就是机器人的位置。地图本身通常用栅格地图表示,把空间切成小方格,每个格子标记可走、障碍或未知。

在数学上,SLAM是一个不断用新观测更新信念的过程。简化后的贝叶斯滤波表达式可以帮助我们理解它的核心思想:

逛过几圈后,地图越来越细致,机器人也从一个“第一次进市场的陌生人”变成“熟门熟路的老顾客”。

Bel(xt)=η p(zt∣xt)∫p(xt∣xt−1,ut)Bel(xt−1) dxt−1\displaystyle Bel(x_t) = \eta \, p(z_t \mid x_t) \int p(x_t \mid x_{t-1}, u_t) Bel(x_{t-1}) \, dx_{t-1}
机器人的位置信念由上一时刻的信念、运动预测和当前观测共同更新。
  1. 运动预测根据上一时刻位置 $x_{t-1}$ 和当前控制输入 $u_t$,猜测这一时刻可能在哪,算出预测分布。
    ∫p(xt∣xt−1,ut)Bel(xt−1) dxt−1\displaystyle \int p(x_t \mid x_{t-1}, u_t) Bel(x_{t-1}) \, dx_{t-1}
  2. 观测更新把当前传感器观测 $z_t$ 与位置 $x_t$ 做匹配,$p(z_t \mid x_t)$ 越大的位置越可信。
    p(zt∣xt)\displaystyle p(z_t \mid x_t)
  3. 归一化系数$\eta$ 是常数,让所有位置的概率加起来等于1,形成合法的概率分布。
    η\displaystyle \eta

路径规划:怎么走最近最安全

你已经知道自己在哪,也知道目标番茄在哪个摊位,下一步是怎么走过去。你打开手机地图选一条最近的路线,这就是全局路径规划。农业机器人在建好的栅格地图上,需要规划出一条从当前位置到目标果实的可行路线,常用的算法是A*。

A*算法把地图划分成一个个小格子,每个格子是一个候选节点。它给每个节点打一个分:$f(n)=g(n)+h(n)$。其中$g(n)$是从起点走到当前格子已经花的步数,$h(n)$是预估从当前格子到终点还要走的步数,通常用曼哈顿距离计算,也就是横向步数加纵向步数。A*每次优先扩展$f$值最小的格子,像是一个“有目标感的探索者”:既不会像无头苍蝇乱撞,也不会固执地只朝一个方向走,而是综合权衡已经付出的代价和剩余路程的估计。

A*算法能保证找到最短路径,前提是估价函数$h(n)$不高估真实距离。在大棚场景中,全局规划先找到一条从垄头到目标果树的粗路线,细节上的避让则由后续的局部避障完成。

有了这个聪明打分方式,机器人再也不会在市场里绕远路,而是像熟悉路况的本地人一样,直奔目标摊位。

f(n)=g(n)+h(n)\displaystyle f(n) = g(n) + h(n)
A*选择综合代价最小的节点扩展:已走的路加上预估剩下的路。
  1. 实际代价$g(n)$ 表示从起点到当前格子已经走过的路径长度,每走一格加一。
    g(n)\displaystyle g(n)
  2. 估计代价$h(n)$ 表示从当前格子到目标点的估算剩余距离,这里用曼哈顿距离,只允许横竖走。
    h(n)\displaystyle h(n)

避障决策:遇到人群和货堆怎么办

手机导航规划的路线不会实时告诉你怎么躲开突然出现的运菜车。市场里经常有人蹲下挑菜、有推车横在过道,机器人必须“随机应变”,这部分能力叫局部避障与行为决策。

避障的核心问题是:下一步该用多大的速度、多大的转向角?动态窗口法(DWA)是解决这个问题的一种经典算法。它的思路很直观:机器人从当前速度出发,考虑到电机的加减速限制,短时间内只能达到一个有限的速度范围,这个范围叫“动态窗口”。算法在这个窗口里采样很多组速度,模拟每个速度下未来一小段时间的轨迹,再用评价函数打分选最好的。

评价函数通常包含三个方面:朝向目标的得分、与障碍物距离的得分、速度大小的得分。这三个项用权重系数调节:在人群密集处,把距离障碍物的权重调大;在空旷田地,把速度权重调大。行为决策层还会根据打分结果决定“绕行”“等待”还是“停车让行”,就像你逛市场时会先缓一缓,等人流过去再走。

一个熟练的买菜人会在人群中见缝插针,农业机器人通过DWA也能在复杂的果园和温室里灵活穿梭。

G(v,ω)=α⋅heading(v,ω)+β⋅dist(v,ω)+γ⋅velocity(v,ω)\displaystyle G(v,\omega) = \alpha \cdot heading(v,\omega) + \beta \cdot dist(v,\omega) + \gamma \cdot velocity(v,\omega)
DWA在可行速度范围内,综合朝向、安全距离和速度,选出最佳运动指令。
  1. 朝向得分$heading(v,\omega)$ 评价按照当前速度方向走,机器人朝向目标的程度,越正对目标分越高。
    α⋅heading(v,ω)\displaystyle \alpha \cdot heading(v,\omega)
  2. 安全得分$dist(v,\omega)$ 评价轨迹上距离最近障碍物的远近,离得越远分越高,防止碰撞。
    β⋅dist(v,ω)\displaystyle \beta \cdot dist(v,\omega)
  3. 速度得分$velocity(v,\omega)$ 评价速度大小,让机器人不要过分保守,在安全前提下尽量高效。
    γ⋅velocity(v,ω)\displaystyle \gamma \cdot velocity(v,\omega)

目标识别:从一片绿里认出红番茄

走到番茄摊前,你要从一堆红红绿绿的果子里挑出熟透的番茄。机器人的摄像头只能拍到图像,需要专门的视觉算法来理解画面。目标检测网络,比如YOLO,可以实时从图像中框出每一个番茄,并告诉你它是番茄还是叶子,以及可信度有多高。这就像你一眼扫过去,脱口而出:“摊上有12颗番茄,其中5颗全红。”

检测质量需要量化评估,最常用的指标是IoU(交并比)。它的计算方式是把检测框和真实标注框的重合区域面积,除以两个框合并后的总面积。IoU越接近1,说明检测框和真实果实的位置越吻合。成熟度判断也不能只看颜色,还要结合大小、表面光泽、近红外光谱等信息,因为不同品种的番茄成熟颜色并不完全相同。

挑菜高手不会只看一眼,还会翻一翻、摸一摸、看光泽。机器人同样通过多模态感知,把“挑熟果”这件事做得越来越细致。

IoU=∣A∩B∣∣A∪B∣\displaystyle IoU = \frac{|A \cap B|}{|A \cup B|}
IoU衡量预测框与真实框的重叠程度,是目标检测准确性的重要指标。
  1. 交集面积计算检测框和真实框重叠部分的面积,重叠越多说明预测越准。
    ∣A∩B∣\displaystyle |A \cap B|
  2. 并集面积计算两个框合起来覆盖的总面积,归一化后得到0到1之间的比值。
    ∣A∪B∣\displaystyle |A \cup B|

采摘执行:伸手摘菜的门道

你终于锁定了目标番茄,接下来要伸手去摘。人的手臂有肩、肘、腕,机械臂也有多个旋转关节。要让机械臂末端的手爪准确到达果实位置,需要解算每个关节该转多少度,这就是机械臂运动学。

摄像头看到的果实位置通常是相机坐标系下的三维坐标,但机械臂的基座固定在机器人底盘上,两个坐标系的原点不同、朝向也不同,所以必须先做坐标系变换。变换公式分两步:先旋转对齐方向,再平移对齐原点。之后,逆运动学求解会算出各关节角度,让末端移动到目标点。抓取规划还会考虑手爪应该张开多大、从哪个方向接近果实,避免碰到枝干和旁边的果子。

最关键的是采摘力度。番茄很娇嫩,握得太紧会捏伤果皮,握得太松又抓不住。因此机械臂末端通常装有力传感器,用力控策略动态调节抓力,就像你轻轻捏一下番茄感受软硬度,再果断地提起来。

你伸手够高处的番茄时会踮脚、伸臂、调整角度和力度,农业机器人也在一遍遍做同样的精细动作,而且比人手更稳定。

Pbase=Rbasecam⋅Pcam+tbasecam\displaystyle P_{base} = R_{base}^{cam} \cdot P_{cam} + t_{base}^{cam}
果实位置从相机坐标系转换到机械臂基座坐标系,再指导手臂动作。
  1. 旋转对齐用旋转矩阵 $R_{base}^{cam}$ 把相机坐标系下的方向分量调整到基座坐标系的方向上。
    Rbasecam⋅Pcam\displaystyle R_{base}^{cam} \cdot P_{cam}
  2. 平移对准加上平移向量 $t_{base}^{cam}$,补齐两个坐标系原点之间的偏移。
    tbasecam\displaystyle t_{base}^{cam}

系统集成:各部件拧成一股绳

分开看,定位、建图、规划、识别、采摘都已经学会了,但实际执行时所有模块要同时配合,这就好比一个新手厨师做菜,一边看火候、一边切菜、一边翻菜谱,忙而不乱。系统集成就是把所有本事组合成一套可靠的生产流程。

软硬协同方面,底层用实时操作系统调度传感器、电机和机械臂,上层用ROS等框架管理各算法模块的通信。性能优化包括减少视觉推理延迟、缓存地图数据、调整相机曝光参数以适应光照变化。多机协作时,多台机器人共享一张地图和任务队列,可以避免重复采摘,提高整体效率。

整个采摘任务可以看作一条流水线:先导航到目标树,再执行采摘动作,然后把果实放到收集筐。系统集成优化的目标是减少整个周期的总时间,而不是只让某一段跑到极限。

老练的采购员不是走得最快的人,而是安排得当、篮子始终装得最满的人。系统集成的目标正是让机器人成为这样的“采购专家”。

Tcycle=Tnav+Tpick+Tplace\displaystyle T_{cycle} = T_{nav} + T_{pick} + T_{place}
采摘总周期是导航时间、采摘时间和放置时间之和,优化目标是降低总时间。
  1. 导航时间$T_{nav}$ 表示机器人从当前位置运动到目标果实施工点所花费的时间。
    Tnav\displaystyle T_{nav}
  2. 采摘执行$T_{pick}$ 表示机械臂完成识别、接近、抓取和脱离果实的时间。
    Tpick\displaystyle T_{pick}
  3. 果篮放置$T_{place}$ 表示把果实放进收集筐并复位的时间。
    Tplace\displaystyle T_{place}

应用与展望:从菜市场走向大农场

掌握了定位、建图、规划、避障、识别和采摘的机器人,已经可以独当一面。今天,农业机器人已经进入番茄大棚、草莓垄间和苹果果园,从事自动导航巡检、精准采摘和果实运输。它的行业价值在于应对农村劳动力短缺、降低人工成本、提高作业一致性。

从应用场景看,农业机器人可以24小时连续工作,不受天气和情绪影响。配合补光灯和红外传感器,夜间也能作业。未来趋势也很有趣:人机协作模式下,机器人负责重复的重体力劳动,人负责复杂决策;AI大模型可以被用来学习农艺知识,让机器人理解“剪枝”“疏果”这些更高级的指令;更柔软的末端抓手也在研发中,以便处理更娇嫩的果实。

要评估机器人是否真的提高了效率,可以用效率提升率来衡量:把人工采摘单果所需时间与机器人进行比较。假设人工摘一颗番茄需要10秒,机器人需要6秒,代入公式就能算出效率提升了40%。

从手忙脚乱到云淡风轻,农业机器人正在把“逛菜市场”的经验变成现代化农业的日常,未来每个农场都可能有一位不知疲倦的“采购专家”。

E=Tmanual−TrobotTmanual×100%\displaystyle E = \frac{T_{manual} - T_{robot}}{T_{manual}} \times 100\%
效率提升率表示机器人相比人工节约时间的百分比。
  1. 时间差用人工单果采摘时间减去机器人单果采摘时间,得到节约的时间量。
    Tmanual−Trobot\displaystyle T_{manual} - T_{robot}
  2. 效率比率将节约时间除以人工时间,再乘以100%,得到提升百分比。
    Tmanual−TrobotTmanual×100%\displaystyle \frac{T_{manual} - T_{robot}}{T_{manual}} \times 100\%

AI 应用场景

番茄温室的自主巡检与采摘

阶段:感知定位、目标识别、机械臂执行

解决的问题:温室面积大,人工巡检费时费力,容易漏采成熟番茄。机器人需要自主导航到每一垄,识别成熟果并精准采摘,还要避免损伤果实。

具体案例:某智慧农业基地部署了“小圃”机器人,它搭载激光雷达和RGB相机,每天早晨沿规划路径巡检。系统用YOLO检测番茄,再用坐标变换指导机械臂采摘,一上午可采收约200公斤番茄,漏采率低于5%,夜间补光后还能继续工作。

草莓棚的多机协同运输

阶段:动态调度、多机协作

解决的问题:草莓采摘后需要及时运往包装区,单台运输机器人路线长、容易堵车,导致鲜果积压。多机共享地图和任务队列,可以显著提升运输效率。

具体案例:草莓大棚中,一台采摘机器人和两台运输机器人协同工作。所有机器人共享一张栅格地图,运输车通过任务队列接收装载点,用A*算法规划不冲突路线,整体运输效率提升35%,碰撞风险降低80%。

果园夜间避障喷洒作业

阶段:建图导航、局部避障

解决的问题:白天果园游客较多,喷洒作业影响体验;夜间能见度低,人工驾驶农机容易撞到果树根部或喷灌头。

具体案例:果园机器人利用红外传感器和补光灯进行夜间SLAM建图,再通过DWA避障算法绕开树干和灌溉设备,完成均匀喷洒并记录每棵树的作业状态。整片果园的夜间作业时间从原来的6小时缩短到3小时。

Python 演示

python48 行
# 在简化栅格地图上用A*算法为农业机器人规划路径import heapq  class AStarPlanner:    def __init__(self, grid):        self.grid = grid        self.rows = len(grid)        self.cols = len(grid[0])     def heuristic(self, a, b):        return abs(a[0] - b[0]) + abs(a[1] - b[1])     def plan(self, start, goal):        open_heap = [(0, start)]        came_from = {}        g_score = {start: 0}        while open_heap:            _, current = heapq.heappop(open_heap)            if current == goal:                path = []                while current in came_from:                    path.append(current)                    current = came_from[current]                path.append(start)                return path[::-1]            for dr, dc in ((1, 0), (-1, 0), (0, 1), (0, -1)):                nxt = (current[0] + dr, current[1] + dc)                if 0 <= nxt[0] < self.rows and 0 <= nxt[1] < self.cols and self.grid[nxt[0]][nxt[1]] == 0:                    tentative = g_score[current] + 1                    if tentative < g_score.get(nxt, float('inf')):                        came_from[nxt] = current                        g_score[nxt] = tentative                        f = tentative + self.heuristic(nxt, goal)                        heapq.heappush(open_heap, (f, nxt))        return []  if __name__ == "__main__":    grid = [        [0, 0, 0, 1, 0, 0, 0],        [0, 1, 0, 1, 0, 1, 0],        [0, 1, 0, 0, 0, 1, 0],        [0, 0, 0, 1, 0, 0, 0],    ]    planner = AStarPlanner(grid)    route = planner.plan((0, 0), (3, 6))    print("路径点序列:", route)
目的:在0和1组成的栅格地图上,用A*算法找出一条从起点到终点避开障碍物的最短路径,模拟农业机器人导航。
  1. open_heap = [(0, start)]用优先队列保存待扩展的节点,保证每次先处理代价最小的路径。
  2. g_score = {start: 0}记录从起点到每个节点的实际步数,初始化起点代价为0。
  3. _, current = heapq.heappop(open_heap)弹出当前代价最小的节点,作为下一步扩展的中心。
  4. if current == goal:搜到终点后,就停止扩展并开始回溯路径。
  5. tentative = g_score[current] + 1从当前节点走到相邻节点,代价加1,这是A*中的$g(n)$。
  6. f = tentative + self.heuristic(nxt, goal)用$g+h$计算综合估价,其中启发函数用曼哈顿距离。
  7. return path[::-1]因为回溯时从终点反向记录,所以反转列表得到从起点到终点的路径。

常见误区

误区很多人认为农业机器人在野外作业一定要靠GPS,大棚里没信号就完全不能导航。

正解其实农业机器人通常采用多传感器融合定位,比如轮式里程计、惯性测量单元、激光雷达和相机视觉里程计。SLAM技术专门解决室内和半遮挡环境下的定位问题,GPS只是众多信息源之一。就像你在封闭的大菜市场里认路,靠的是地标和记忆,而不是头顶的卫星。

为何常见:因为日常开车导航给人留下的印象太深,容易以为定位就等于卫星定位。

误区初学者常以为只要摄像头看到红色就是熟番茄,颜色越红越值得摘。

正解不同品种的成熟果实颜色差异很大,有的品种熟透后依然是绿色。成熟度判断需要综合颜色、大小、形状、表面光泽和近红外光谱等多个特征。就像买菜高手会捏一捏、闻一闻,而不是只看外表。

为何常见:因为视觉上颜色最直观,训练数据也容易偏向单一视觉特征,导致泛化能力差。

误区有人觉得机器人出发前用A*算出一条路径,后面照着走就行,不需要再规划。

正解农田和果园是动态环境,会有突然出现的行人、掉落的树枝、被风吹歪的作物。机器人需要全局规划提供大方向,同时用DWA等局部规划不断微调,才能安全到达目标。就像导航说了左转,但路口临时封路时,你还是得随机应变绕道走。

为何常见:因为实验室里的静态地图演示让人误以为环境永远不变。

误区刚接触机械臂的人会认为,抓住果实后握力越大越不容易掉,所以应该用最大力量抓取。

正解水果非常娇嫩,过大的握力会直接压伤果肉,造成经济损失。精确的采摘系统会使用力传感器和力控算法,让抓力刚好足以提起果实,同时不损伤表皮。这就像你拿一颗熟透的草莓,用力过猛就会捏烂。

为何常见:源于日常生活经验——拿重物时用力越紧越安全,忽略了农产品的易损特性。

误区很多人以为农业机器人定位不准、识别不准,都是因为传感器不够高端,换上几十万的激光雷达就万事大吉。

正解实际系统中,算法和传感器是协同工作的。低精度传感器通过多传感器融合、时序滤波和智能算法,也能达到很好的效果。盲目追求高配置反而会增加成本和功耗。就像路不是越宽越好,还得有好的交通规则和调度系统。

为何常见:商业宣传常强调硬件参数,让人忽略软件算法的核心价值。

面试题

Q1. 农业机器人在大棚里没有GPS时,最依赖哪些技术完成定位?

单选题 · easy

  • A.惯性测量单元与激光雷达融合← 正确答案
  • B.手机基站信号强度定位
  • C.北斗卫星差分定位系统
  • D.地磁强度直接查询定位

答案:A。大棚环境遮挡卫星信号,机器人主要依靠IMU、里程计和激光雷达,通过传感器融合估计位置,就像在封闭菜市场靠地标认路而不是靠卫星。

Q2. SLAM中“闭环检测”主要解决什么问题?

单选题 · mid

  • A.避免机械臂关节碰撞
  • B.识别果实的成熟程度
  • C.消除长时间行驶累计漂移← 正确答案
  • D.提高动力电池续航能力

答案:C。机器人长距离行驶后,里程计误差会不断累积,闭环检测通过识别“我又回到之前来过的地方”来校正地图和轨迹,就像逛市场绕一圈后看到熟悉摊位,立刻修正自己的方位判断。

Q3. A*算法的估价函数 f(n)=g(n)+h(n) 中,h(n) 表示什么?

单选题 · mid

  • A.从起点到节点n的实际代价
  • B.从节点n到目标点的估计代价← 正确答案
  • C.机器人此时的瞬时速度
  • D.节点n所在位置的海拔高度

答案:B。g(n)是起点到当前点已花费的代价,h(n)是当前点到目标的乐观估计代价。两者相加作为优先级排序依据,保证搜索既有方向又不盲目。

Q4. 动态窗口法(DWA)选择最优速度时会综合评估哪些因素?

单选题 · mid

  • A.朝向目标、安全距离、速度大小← 正确答案
  • B.电池电量、空气温度、土壤湿度
  • C.果实颜色、果实大小、果实甜度
  • D.地形坡度、风速大小、环境噪声

答案:A。DWA在动态窗口内采样速度,并用朝向、障碍物距离和速度三个指标打分,这是局部避障中平衡效率与安全的关键。

Q5. 目标检测中IoU的作用是什么?

单选题 · hard

  • A.衡量预测框与真实框重叠程度← 正确答案
  • B.计算果实内部的糖度值
  • C.估计机械臂关节扭矩
  • D.判断土壤的湿度含量

答案:A。IoU等于交集面积除以并集面积,用来量化检测框与真实标注框的接近程度,是评估目标检测模型准确率的核心指标。

Q6. 采摘机械臂从相机坐标转换到基座坐标,需要用到什么?

单选题 · mid

  • A.运动学模型插值拟合
  • B.坐标系变换旋转和平移← 正确答案
  • C.电池电压动态补偿
  • D.无线网络带宽分配

答案:B。相机和机械臂基座是两个不同坐标系,要先用旋转矩阵对齐方向,再用平移向量对齐原点,这样果实坐标才能被机械臂正确使用。

Q7. 下列哪些传感器常用于农业机器人环境感知?

多选题 · mid

  • A.激光雷达← 正确答案
  • B.RGB相机← 正确答案
  • C.惯性测量单元IMU← 正确答案
  • D.空调压缩机

答案:ABC。激光雷达提供距离轮廓,RGB相机提供图像语义,IMU提供姿态变化,三者互补;空调压缩机与感知无关。

Q8. 机器人采摘熟番茄时,为什么不能一直用最大握力?

单选题 · easy

  • A.会把果实捏伤压坏← 正确答案
  • B.会让电池快速耗尽
  • C.会让机械臂过热保护
  • D.会干扰导航定位信号

答案:A。番茄等果实柔软易损,过大的握力会直接损伤果肉,需要力控策略让握力刚好提起果实而不压坏。

Q9. 提高农业机器人全天候作业能力的措施包括哪些?

多选题 · hard

  • A.使用补光灯辅助视觉← 正确答案
  • B.融合红外传感器感知← 正确答案
  • C.升级路径规划算法← 正确答案
  • D.删除所有避障逻辑

答案:ABC。夜间光照不足时,补光灯和红外传感器能帮助视觉感知;更鲁棒的路径规划算法能适应不同地形。删除避障会带来严重安全隐患。

Q10. 多机协作采摘时,机器人之间主要共享什么信息?

单选题 · easy

  • A.地图与任务分配← 正确答案
  • B.果实口味偏好
  • C.操作员心情状态
  • D.土壤化肥配方

答案:A。多机器人需要共享统一地图和任务队列,分工覆盖不同区域,避免重复采摘,这与我们出门前和家人分工买菜类似。