FastApi+Vue3实现农田路径规划服务、区块管理、电子围栏功能

摘要:

通过TRAE SOLO是快速实现农田路径规划、区块管理、电子围栏功能原型。服务器采用FastApi框架、前端采用Vue3框架。通过Trae快速实现原型落地。为农用机器人大田作业提供基础的作业路径规划。

背景

我是一名机器人开发工程师,主要负责农用机器人作业任务的实现。需要在服务器端实现基于农田环境和阿克曼底盘、履带车底盘的作业路径规划。农田场景结构化相对固定,但面临区块不规则、绕障处理、作业类型多样、农机具适配等问题。这需要我们开发灵活的算法插件服务,满足不同场地(旱田、水田)、作业任务(播种、植保、收割、耙地等)的需求。基于此,我们需要开发地块管理、电子围栏、路径规划服务功能,满足实际作业任务需求。

实践过程

工作拆分:

  1. 确定技术栈和技术选型:数据库采用PostgreSql+PostGis插件;服务器FastApi框架采用开源工程ruoyi-fastapi 作为工程模板; 前端采用ruoyi-vue3开源工程;路径规划服务基础算法:Fields2Cover, Farmtrax, FPP; 电子围栏基于开源地理空间库Geos
  2. 确定数据存储格式,并生成sql语句,创建数据库,数据表
  3. 确定地块数据格式:geojson格式
  4. 确定输入参数格式:包括地块、路径模式、农机参数、作业参数等;输出数据格式包括:路径路径点属性信息(坐标、目标速度、类型等)、执行动作、时间、边界信息
  5. 明确实现的三个功能模块:区块管理服务、电子围栏服务、路径规划服务

实现细节:

  1. 首先基于上述需求通过 /plan 细化需求细节和实现细;
  2. 基于已有的工程进行迭代开发:切换到Solo Builder实现工程编码,变动预览,并生成单元测试案例,输出预览结果
  3. Solo coder 解决与现有工程集成问题并处理集成工程中遇到的错误

遇到的问题:

  1. 上下文污染问题:全项目分析后上下文容易分散,在跨模块功能开发时容易出现上下文混乱问题,特别是API接口经常出现参数错误或调用错误问题,如果还基于全量上下文继续修改,回导致错上加错,越改越错。解决方法: 将功能拆分为指定的Agent,创建md文件,限定作用域,并把依赖的输入输出说明记录到md文档中, Agent在处理分析前需要先根据已知的文档处理,不要一次性想着出一个完整功能,而是把功能细化到步骤执行级别
  2. 大模型选择问题:选择Auto经常回面临排队,特别是白天时间,有时感觉会降智。 把工作量大的问题放在晚上处理 :rofl: (好无奈之举),没有充钱只能另辟蹊径了

成果展示:

1 个赞

飞控?农保?