Mission Planner 是用于固定翼、旋翼机和无人车的地面控制站。Mission Planner 可用作自动飞行器的配置工具或动态控制补充工具。以下是任务规划器可以做的几件事:
1.将固件 firmware(软件)加载到控制飞行器的自动驾驶仪板(如 Pixhawk 系列)上;
2.对飞行器进行设置、配置和调整,以获得最佳性能;
3.在谷歌或其他地图上通过简单的点击方式输入航点,即可计划、保存并将自主任务载入自动驾驶仪;
4.下载并分析自动驾驶仪创建的任务日志;
5.与 PC 飞行模拟器连接,创建一个完整的硬件在环无人机模拟器;
安装编译环境
Visual Studio 2022
win10或win11都可以
配置编译环境
- 转到 Visual Studio 安装程序中的“更多”。
- 选择“导入配置”。
- 使用文件:vs2022.vsconfig
{ "version": "1.0", "components": [ "Microsoft.VisualStudio.Component.CoreEditor", "Microsoft.VisualStudio.Workload.CoreEditor", "Microsoft.Net.Component.4.8.SDK", "Microsoft.Net.Component.4.7.2.TargetingPack", "Microsoft.Net.ComponentGroup.DevelopmentPrerequisites", "Microsoft.VisualStudio.Component.TypeScript.TSServer", "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions", "Microsoft.VisualStudio.Component.JavaScript.TypeScript", "Microsoft.VisualStudio.Component.JavaScript.Diagnostics", "Microsoft.VisualStudio.Component.Roslyn.Compiler", "Microsoft.Component.MSBuild", "Microsoft.VisualStudio.Component.Roslyn.LanguageServices", "Microsoft.VisualStudio.Component.TextTemplating", "Component.Microsoft.VisualStudio.RazorExtension", "Microsoft.VisualStudio.Component.IISExpress", "Microsoft.VisualStudio.Component.NuGet", "Microsoft.VisualStudio.Component.MSODBC.SQL", "Microsoft.VisualStudio.Component.SQL.LocalDB.Runtime", "Microsoft.VisualStudio.Component.Common.Azure.Tools", "Microsoft.VisualStudio.Component.SQL.CLR", "Microsoft.VisualStudio.Component.MSSQL.CMDLnUtils", "Microsoft.Component.ClickOnce", "Microsoft.VisualStudio.Component.ManagedDesktop.Core", "Microsoft.VisualStudio.Component.SQL.SSDT", "Microsoft.VisualStudio.Component.SQL.DataSources", "Component.Microsoft.Web.LibraryManager", "Component.Microsoft.WebTools.BrowserLink.WebLivePreview", "Microsoft.VisualStudio.ComponentGroup.Web", "Microsoft.NetCore.Component.Runtime.6.0", "Microsoft.NetCore.Component.SDK", "Microsoft.VisualStudio.Component.FSharp", "Microsoft.ComponentGroup.ClickOnce.Publish", "Microsoft.NetCore.Component.DevelopmentTools", "Microsoft.VisualStudio.Component.FSharp.WebTemplates", "Microsoft.VisualStudio.Component.DockerTools", "Microsoft.NetCore.Component.Web", "Microsoft.VisualStudio.Component.WebDeploy", "Microsoft.VisualStudio.Component.AppInsights.Tools", "Microsoft.VisualStudio.Component.Web", "Microsoft.Net.Component.4.8.TargetingPack", "Microsoft.Net.ComponentGroup.4.8.DeveloperTools", "Component.Microsoft.VisualStudio.Web.AzureFunctions", "Microsoft.VisualStudio.ComponentGroup.AzureFunctions", "Microsoft.VisualStudio.ComponentGroup.Web.CloudTools", "Microsoft.VisualStudio.Component.DiagnosticTools", "Microsoft.VisualStudio.Component.EntityFramework", "Microsoft.VisualStudio.Component.Debugger.JustInTime", "Component.Microsoft.VisualStudio.LiveShare.2022", "Microsoft.VisualStudio.Component.WslDebugging", "Microsoft.VisualStudio.Component.IntelliCode", "Microsoft.VisualStudio.Workload.NetWeb", "Microsoft.VisualStudio.Component.Windows10SDK.19041", "Component.OpenJDK", "Component.Android.SDK.MAUI", "Microsoft.VisualStudio.Component.MonoDebugger", "Microsoft.VisualStudio.Component.Merq", "Component.Xamarin.RemotedSimulator", "Microsoft.VisualStudio.ComponentGroup.WebToolsExtensions.TemplateEngine", "Component.Xamarin", "Microsoft.VisualStudio.Workload.NetCrossPlat", "Microsoft.VisualStudio.Component.ManagedDesktop.Prerequisites", "Microsoft.ComponentGroup.Blend", "Microsoft.VisualStudio.Component.DotNetModelBuilder", "Microsoft.VisualStudio.ComponentGroup.MSIX.Packaging", "Microsoft.VisualStudio.Workload.ManagedDesktop", "Microsoft.Component.NetFX.Native", "Microsoft.VisualStudio.ComponentGroup.UWP.NetCoreAndStandard", "Microsoft.VisualStudio.Component.Graphics", "Microsoft.VisualStudio.ComponentGroup.UWP.Xamarin", "Microsoft.VisualStudio.ComponentGroup.UWP.Support", "Microsoft.VisualStudio.Workload.Universal", "Microsoft.Component.CodeAnalysis.SDK", "Microsoft.Net.Component.4.6.TargetingPack", "Microsoft.VisualStudio.Component.VSSDK", "Microsoft.VisualStudio.ComponentGroup.VisualStudioExtension.Prerequisites", "Microsoft.VisualStudio.Workload.VisualStudioExtension", "Microsoft.NetCore.Component.Runtime.3.1", "Microsoft.Net.Component.4.6.1.TargetingPack" ] }
获取MissionPlanner源代码
若直接从github上下载源代码,编译是会报各种各样的错误,解决起来十分麻烦,可能是由于缺少相关dll,故我们使用git链接克隆下载源代码。
(1)需要先配置git .
1.从官网下载Git - Downloads (git-scm.com),一路next安装完毕后配置环境,找到git安装路径中bin的位置。
2.或者使用winget工具,打开powershell或命令提示符,输入
winget install --id Git.Git -e --source winget
此时无需配置环境,可以直接使用。
(2)检查git是否能正常使用。打开powershell或cmd输入git,若出现下图即安装成功。
(3)克隆Misson Planner源代码。
1.打开 git bash(使用winget下载路径一般在C:\Program Files\Git中)输入
git clone https://github.com/ArduPilot/MissionPlanner.git
报错:fatal: unable to access ‘https://github.com/tata20191003/autowrite.git/‘: Failed to connect
原因:因为git在拉取或者提交项目时,中间会有git的http和https代理,但是我们本地环境本身就有SSL协议了,所以取消git的https代理即可,不行再取消http的代理。
//取消http代理
git config --global --unset http.proxy
//取消https代理
git config --global --unset https.proxy
2.跳转到Mission Planner目录下,配置子模块。
cd MissionPlanner
git submodule update --init --recursive
受网络影响,消耗时间较长,耐心等待,这一步非常重要,如果不配置,编译很麻烦。如果出错(出现RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly before end of the underlying str),就多执行几遍,直到成功。
打开并编译MissionPlanner
生成的文件在git bash同级目录下的Missionplanner中,找到
,用vs2022打开,点击生成MissionPlanner。
生成的可执行文件一般位于
C:\Program Files\Git\MissionPlanner\bin\Debug\net461