果园自主跟随碎枝机器人

开发背景

农业扶贫项目—— 开发一款适用于猕猴桃果园的跟随碎枝机器人。

在猕猴桃的种植培育过程中,一项非常重要的环节便是剪枝,通常有冬剪和夏剪。以往果农剪完枝条后要将散落于地的枝条归拢后统一粉碎还田。这需要专门收集地面上的枝条并将其归拢到固定点(粉碎机旁边),待所有枝条粉碎后再将碎末撒在果园里用以还田。

我们要做的便是针对果园剪枝阶段,设计一款可以自主跟随作业的碎枝机器人,通过识别与定位技术主动跟随人物前进,并在距人适当位置停车并启动碎枝作业电机。此时果农将剪下的枝条顺手放进粉碎机入口完成碎枝还田。果农前进时当检测到距离超过死区范围,停止碎枝电机,并主动前进跟随果农。

由于本人对机械和电路了解不多,这篇文章只对软件设计实现部分做介绍,电路部分和机械部分不做介绍哈~ 

开发环境

ROS2 Humble、Ubuntu22.04 

履带式自走碎枝机器人

技术实现

1. 通过UWB 定位跟随模块实现定位定向

主要利用AOA模块基站利用uwb定位定向技术确定标签距离方向。

基站输出的结果波动较大,且易受干扰,当人遮挡主标签时,干扰非常明显,会有十几到几十度的误差,如果不做处理,单纯依赖基站的输出值进行方向控制,会出现明显的车辆来回摆动现象,也很难停车在理想位置。需要滤波处理,本人采用简单的移动均值滤波,该方式能有效剧烈波动带来的震荡,使数据趋于平缓,但其结果也有明显的滞后性。好在我们跟随应用在实际作业中行驶速度较慢(与人步行速度相当),在20HZ以上的控制指令计算频率下也可以快速摆到期望方向。

2. 运动控制

方向控制采用PID控制,适当调节Kp参数,可以较灵敏的响应方向变化,调节响应参数使朝向尽快收敛到目标朝向上。

速度采用线性控制,未避免出现急停、急走带来的晃动,采用线性关系调节速度变化

3. 避障功能

采用激光雷达、毫米波、超声波测距 检测周围障碍物信息

通过分析周边障碍物,调整车辆朝向

4. 行为控制

使用状态机切换来满足跟随与碎枝功能的切换与控制

也可使用行为树控制,但本身此功能逻辑相对简单,使用有限状态机可以快速直观的实现功能逻辑

5. 人体与手势识别功能

此功能在完善中,通过对前置RGB摄像头采集的图像进行分析处理,通过骨骼节点识别可以分辨前方是否有人,这可以作为跟随前进的辅助判断

同时通过手势识别算法,根据手势动作实现功能控制。比如对着碎纸机招手,便可以控制车辆往人方向靠近;伸开手掌便可停车等

硬件选型:

地平线旭日X3派

UWB跟随定位基站与标签(NLoop AOA模块)

思岚单线激光雷达(S2)

RGB摄像头

毫米波避障雷达(纳雷科技)

4路超声波测距雷达

最后放几张图片吧

果园自主跟随碎枝机器人_第1张图片果园自主跟随碎枝机器人_第2张图片

你可能感兴趣的:(机器人,自动驾驶)