一、项目背景
近年来,以四轴无人机为代表的一系列消费级航空器在各个领域发挥着日益显著的作用,其在包括农业生产,智能巡检,生活航拍,数据传输等丰富多元的使用场景中取得了难以替代的地位。为进一步扩展无人机实用范围,目前对无人机的研究正逐步深入。在无人机研究过程中其多目标寻路路径算法及寻路方式成为了热门问题。为方便相关研究,开发一个无人机多目标寻径仿真软件与实验平台的项目应运而生。
二、项目目标
本项目旨在开发一个系统性的室内无人机实验平台。最终实现实验者将室内一系列航点输入应用前端,经软件运算后反馈给实验者航行轨迹并操控无人机执行飞行任务,以验证不同算法 对路径寻找的优化程度。
三、项目进度
项目初期在数据沟通方式上尝试采用传统的服务器模式进行实现。但涉及到项目部署与服务器租借等一系列问题,无疑增加了工作量。于是经过综合考量最终确定采用Serverless框架中以云函数为主导的FaaS(Function as a service)模式。云服务部分基于PythonFlask框架编写。数据库选择使用较为熟悉的MySQL数据库。
经过进一步开发最终确定实验平台分为四大模块:外部硬件、前端应用层、云服务层、飞行控制层。最终架构图如下:
四、个人工作
本阶段个人工作主要内容为熟悉腾讯云云函数的使用、Python相关功能模块的学习、数据沟通模式的确定与相关问题解决。
1、 腾讯云云函数的使用(见实记四)
2、 Python相关功能模块的学习(见实记五)
3、 数据沟通
前后端分离与云函数的部署形式带来最主要的问题是跨域问题,即浏览器无法通过 ajax 进行跨域请求。传统的解决方案是提供一个服务器代理模块,将跨域的数据转为本地访问,再将获取到的数据进行转发。然而对于 FaaS 来说, 服务器本地的细节并不对开发者暴露,这就意味着难以通过设置代理来解决跨域问题。
经过讨论和资料搜集,最终采用租用自定义 API 网关并进行配置,该网关与代理类似,会对跨域数据进行处理并转发,实现数据透传。项目在云服务提供方租 用了云函数 SCF,并进行可跨域信息的配置,成功实现了 Post 请求的透传,解决了跨域问题。



