2. 软件使用和配置(Software use and configuration)

本节导航


2.1 软硬件关系(Hardware/software relationship)

CopterSim:本平台核心仿真软件,运行多旋翼运动动态模型,并连同其他软件构成软/硬件在环仿真。
RflySim3D/RflySimUE5:本平台核心三维显示软件,基于Unreal Engine 4( UE4 ,虚幻4,完整版支持UE5)引擎开发,具备高逼真虚拟现实显示效果。
HILRun/SILRun一键快速启动脚本,可以快速开启所有视觉/集群相关软件,并完成所需配置
Python38Env:包含OpenCV等库的一个Python环境
RflySimAPIs例程文件夹:包含了本课程的所有例程和源码,覆盖了单/多机控制、集群飞行、视觉控制等。
PPTs课件文件夹:包含了本课程对应的所有课件。
QGroundControl(QGC)地面站:包含配置飞控参数和控制飞机起飞、降落、航线等功能
Win10WSL编译器:用于编译固件和软件在环仿真。


2.1 软硬件关系(Hardware/software relationship)
• 平台除了软件,还包含了硬件在环仿真和真机实验的部分
• 底层飞控算法开发的流程为:底层飞控开发àMATLAB软件仿真à自动代码生成à飞控软件在环仿真à飞控硬件在环仿真à室外真机实验。
• 底层算法开发还需用到软件包括:
• 1)Pixhawk Support Package(PSP)工具箱:Mathworks公司官方为Pixhawk自驾仪推出一个工具箱,用于将Simulink中设计的控制算法生成C代码并编译上传到Pixhawk自驾仪硬件。


2.1 软硬件关系(Hardware/software relationship)
• 2)FlightGear飞行模拟器:一款非常受欢迎的开源飞行模拟器软件,可以通过UDP接收Simulink发送的飞行状态,方便地观测Simulink仿真时飞机的飞行状态。
• 3)PX4 Firmware固件源代码:PX4 是一款开源飞行控制软件系统,它运行在Pixhawk系列自驾仪硬件平台上,构成了Pixhawk PX4自驾仪软硬件平台,是目前世界范围内广泛应用的开源无人机自驾仪。
• 4)VS Code/Eclipse/VS:用于代码阅读、编辑与编译。


2.1 软硬件关系(Hardware/software relationship)
• 平台顶层开发通信构架如右图所示
• CopterSim是所有数据通信的中心,包含了模型和通信部分
• 飞控与CopterSim通过串口(硬件在环HITL)或网络TCP/UDP(软件在环SITL)进行连接,使用MAVLink进行数据传输,实现控制闭环,模拟室外飞行情形
• CopterSim发送飞机位姿、电机数据到三维引擎,实现可视化展示
• CopterSim转发MAVLink消息到Python视觉或QGC地面站,传输飞机实时状态,实现顶层规划控制
• CopterSim对MAVLink数据进行压缩后以UDP结构体形式发给集群控制软件,达到通信精简目的(大规模集群需求)
• 三维引擎发相机图像到视觉模块


2.2 一键安装脚本选项详解(One click installation script option details)

一键安装脚本的作用主要有以下几点:
① 首次安装时,将平台一键部署到系统中(使用默认配置,全选“是”即可) ,并完成相关配置。
② 后续使用中,再次运行安装脚本,可以修改编译命令、编译器、固件版本、还原软件等。(不需要还原的项目选择“否”,节省时间)
③ 下载新安装包后,直接运行安装脚本(选择“自动”,会需要更新的内容),再点击确认,开始升级。


2.2 一键安装脚本选项详解(One click installation script option details)
1) 工具包安装路径。本平台的所有依赖文件都会安装在本路径下,大约需要20G的空间。默认安装路径是“C:\PX4PSP”,如果C盘空间不够可以选择其他盘符下的路径。注意:路径名称必须正确,且只能用纯英文的路径,否则会导致编译失败。
2) PX4固件编译命令。主要对应底层控制器开发需求,并使用代码生成功能,需要根据飞控硬件来选择编译命令(注:顶层视觉和集群算法开发用户不需要配置,保持默认即可) 。默认的“px4_fmu-v5_default”对应目前最知名的Pixhawk 4自驾仪。后文会展示部分Pixhawk系列的自驾仪硬件产品,其中“px4_fmu-v3_default”可用于Pixhawk 1 (2M闪存版,电路版本2.4.6及以上),mRo 和Cube (Pixhawk 2)两款热门产品。当然,PX4还支持其他的一些硬件(例如,Intel Aero 、Crazy等),具体的编译命令如下页:

注:第一次安装完成后,除了重新运行本安装脚本,另一种针对不同的Pixhawk硬件板子想更换不同的编译命令(例如换成px4_fmu-v3_default)的方法,只需要在MATLAB中输入命令:PX4CMD(‘px4_fmu-v3_default') 或者使用命令:PX4CMD px4_fmu-v3_default


2.2 一键安装脚本选项详解(One click installation script option details)


Pixhawk 4: px4_fmu-v5_default
Pixracer: px4_fmu-v4_default
Pixhawk 3 Pro: px4_fmu-v4pro_default
Pixhawk Mini: px4_fmu-v3_default
Pixhawk 2: px4_fmu-v3_default
mRo Pixhawk: px4_fmu-v3_default (supports 2MB Flash)
HKPilot32: px4_fmu-v2_default
Pixfalcon: px4_fmu-v2_default
Dropix: px4_fmu-v2_default
MindPX/MindRacer: airmind_mindpx-v2_default
mRo X-2.1: auav_x21_default
Crazyflie 2.0: bitcraze_crazyflie_default
Intel® Aero Ready to Fly Drone: intel_aerofc-v1_default

注:具体的编译命令请咨询硬件购买商,或者通过后文方法借助QGroundControl来识别。目前,Pixhawk 1 (1M版本)由于闪存空间过小,已经停止生产,推荐使用2M版本Pixhawk 1 (例如,硬件版本2.4.6,对应fmu-v3),或使用Pixhawk 4(对应fmu-v5)


2.2 一键安装脚本选项详解(One click installation script option details)
判断自己Pixhawk硬件对应的编译命令:
1) 打开QGroundControl地面站程序,进入到“功能选择” -“载具设置”(Vehicle Setup)-“Firmware”标签页,保留在此页面并断开Pixhawk;


2) 用USB线插上Pixhawk,可以看到右上图界面,会显示闪存大小等信息,选择“PX4 Pro ***”,直接点击“OK”;


3) 此时QGroundControl会自动从云端下载匹配的.px4固件,从下载链接可以判断编译命令。例如右图为px_4fmu-v5_default,对应的是Pixhawk 4。

注:本选项仅针对底层飞控算法开发且手上有Pixhawk飞控硬件的用户,顶层视觉和集群开发的用户可直接使用软件仿真,可选择默认编译命令.


2.2 一键安装脚本选项详解(One click installation script option details)
示例1:如果使用的是Pixhawk 4飞控硬件(对应固件为px4_fmu-v5),为获取最佳实验效果,推荐使用右上图所示软件安装配置,和右下图所示硬件连接配置。
• 使用集成LED灯的GPS模块(插在GPS Module口)来观察灯光效果,使用JST GH转接线(三根线)连接接收机(插在Pixhawk的DSM/SBUS RC口)
• 使用px4_fmu-v5_default编译命令
• 使用“6”:PX4 1.12.3版本固件
• 使用“1”:Win10WSL编译器


2.2 一键安装脚本选项详解(One click installation script option details)
示例2:如果使用的是Pixhawk 1 (2M flash) 的飞控硬件(对应固件为px4_fmu-v3),推荐使用右上图所示软件安装配置,和右下图所示硬件连接配置。
• 使用px4_fmu-v3_default编译命令
• 使用“6”:PX4 1.12.3版本固件
• 使用“1”:Win10WSL编译器
• Pixhawk 1上自带LED灯,不需要外接模块,只需按右图连接遥控器接收机。


2.2 一键安装脚本选项详解(One click installation script option details)

3) PX4固件版本。PX4源代码每年都会进行更新,目前最新的固件版本为1.12。随着固件版本的升级,功能会逐渐增加,支持的新产品也越多,但是对旧的一些自驾仪硬件的兼容就会变差。本实验课程推荐使用Pixhawk 4驾仪,对应的编译指令为“px4_fmu-v5_default”,选用的固件版本PX4-1.12.3。
4) PX4固件编译器。由于PX4源代码的编译依赖于Linux编译环境和相关组件,本平台提供了三套编译环境来实现Windows平台下对Linux编译环境的模拟,它们分别是:基于Windows Subsystem for Linux (WSL)的编译环境Win10WSL编译器、基于Msys2 的Msys2Toolchain编译环境和基于Cygwin的CygwinToolchain编译器。注意,如果需要编译≥PX4-1.8版本以上固件,请需要选择CygwinToolchain编译器;编译≤PX4-1.8版本的固件,可选择Msys2Toolchain编译器。基于Msys2或Cygwin的本地编译器,支持WIndows 7~11平台,而且部署方便,但是编译效率较低。对于Windows10 1809及以上的系统版本,推荐安装Win10WSL编译器,这种方式可以大大加快编译速度,而且兼容所有版本的PX4飞控固件。


2.2 一键安装脚本选项详解(One click installation script option details)

5) 是否全新安装PSP工具箱。如果该选项设置为“是”,会将PSP工具箱安装在本地MATLAB软件中。如果PSP工具箱已经安装过,则会对PSP工具箱进行全新安装。如果选择“否”,脚本对PSP工具箱不做任何更改(不会卸载掉安装的PSP工具箱或其他动作)。
6) 是否全新安装其他依赖程序包。如果该选项设置为“是”,会将QGC地面站、CopterSim、3DDisplay等软件部署在设定的安装路径上,并安装Pixhawk硬件的相关驱动程序,以及在桌面生成这些软件的快捷方式。如果安装路径上已经部署过相关依赖软件,选择“是”则会删除旧的安装包并进行全新重新安装。如果该选项设置为“否”则不做任何修改。
7) 是否全新配置固件编译器编译环境。如果该选项设置为“是”,会将选定的编译器(Win10WSL、CygwinToolchain或Msys2Toolchain)部署在设定的安装路径上,如果环境已经存在,则会清空旧的编译环境,进行还原与全新部署。反之,如果该选项设置为“否”则不会进行任何更改。

注:你也可以直接在(6)中指定个别你想要重装的应用名字(逗号分隔),可用选项包括:CopterSim,drivers,FlightGear,QGroundControl,RflySim3D,RflySimAPIs,UE3DDisplay,RflyUE5


2.2 一键安装脚本选项详解(One click installation script option details)

8) 是否全新部署PX4固件代码。如果该选项设置为“是”,会将选定的PX4 Firmware源代码部署在设定的安装路径上,如果固件存在,会删除旧的固件文件夹,并进行全新部署。如果该选项设置为“否”则不会进行任何更改。
9) 是否全新编译固件。如果该选项设置为“是”,会对部署固件进行预编译,这样可以大大节省后续代码生成与编译的时间,同时可以检测环境安装是否正常。如果该选项设置为“否”则不会进行任何更改。
10) 是否屏蔽PX4自身控制器输出。如果该选项设置为“是”,会对Firmware中对电机的控制信号进行屏蔽,防止与生成代码发生冲突。如果选择“否”,则不会进行对固件输出进行屏蔽,可以用于测试PX4自带的控制算法,因此如果要生成官方固件,本选项请选择“否”。


2.3 CopterSim界面简介(Introduction to CopterSim)

• 模型配置区:可以配置定制多旋翼的构型、尺寸、重量等数据,实现不同机型的仿真。
• 仿真功能区:支持设置飞机的ID、通信接口、仿真模式、三维场景、分布式联机仿真、地图初始位置、飞控COM口选择、通信模式等配置;同时可以控制仿真的开始、暂停和重新启动。
• 状态显示区:左侧会显示模型和Pixhawk回传状态,右边是模型的仿真数据。


2.3 CopterSim界面简介

  • 本机ID:每个飞机的唯一ID
  • UDP收端口:Simulink/Python等外部程序需要发送数据到本端口并从端口+1返回数据
  • 仿真模式:硬件在环、软件在环等模式选择
  • 飞控选择:Pixhawk串口号
  • 三维场景显示:可以控制RflySim3D显示的地图
  • 联机:是否与局域网内其他电脑通信,组成分布式仿真系统
  • UDP Mode:外部程序通信时数据模式,可选Mavlink或自定义
  • UDP结构体

    注意1:如果使用硬件在环仿真,飞控连上电脑后需要等待10秒钟左右,等Pixhawk启动完毕后才能使用CopterSim开始硬件在环仿真
    注意2:无论软件在环还是硬件在环仿真,均需要等待CopterSim消息栏显示“GPS 3D Fixed”后,才能使用QGC/Simulink/Python控制飞机


2.4 RflySim3D软件配置与使用(RflySim3D software configuration and use)

1) RflySim3D/RflySimUE5快捷键
• F1:弹出帮助菜单提示;
• ESC:清除所有飞机
• S:显示/隐藏飞机ID;
• H:隐藏/显示所有屏幕文字;
• D:显示/隐藏当前飞机数据;
• M:切换地图(先关闭所有CopterSim);
• M+数字*:切换到第*号地图;
• B:在不同飞机间切换视角焦点;
• B+数字*:切换到第*号飞机
• C:切换当前飞机三维样式;
• C+数字*: 切换到第*号三维样式;
• CTRL + C:切换全部飞机三维样式
• P:开启物理碰撞引擎(会与场景物体和地面发生碰撞,本功能仅支持完整版)

注:可以同时打开CopterSim和RflySim3D,然后尝试下列快捷方式


2.4 RflySim3D软件配置与使用(RflySim3D software configuration and use)
1) RflySim3D/RflySimUE5快捷键
• V:飞机上的视角切换,0:跟随视角、1:前视摄像头、2:右视摄像头、…;
• V+数字*:切换到第*号视角
• N:切换到飞机上帝视角,0:跟随飞机视角(不随飞机姿态改变视角角度)、1:固定地面视角且始终看向当前飞机、2:固定地面向北看视角、3:固定地面向南、…;
• N+数字*:切换到第*号上帝视角
• 鼠标左键按下拖动:切换视角角度;鼠标右键按下拖动:切换视角所在纵向yz位置
• 鼠标滚轮:切换视角所在横向x位置
• CTRL+鼠标滚轮:缩放所有飞机尺寸(多机时便于观察);
• ALT+鼠标滚轮:缩放当前视角飞机尺寸
• T:开启或关闭飞机轨迹记录功能
• T+数字*:开启/更改轨迹粗细为*号
• 鼠标双击:显示击中点的位置、尺寸、物体等信息。注:双击后 立即按下N键,可以快速将视角切换到双击位置,便于物体创建
• O+数字*:在鼠标双击处生成样式ID为“*”的物体(障碍物)

注:可以同时打开CopterSim和RflySim3D,然后尝试下列快捷方式



2.4 RflySim3D软件配置与使用(RflySim3D software configuration and use)
2) RflySim3D/RflySimUE5快捷命令
按下键盘左上角ESC下方的“`”(一撇)按键,输入下列命令可实现场景配置
• RflyShowTextTime “string time”//显示字符串string,持续time秒钟

• RflyShowText “ string” //显示字符串string,持续5秒钟
• RflyChangeMapbyID “ID” //切换到第ID号地图
• RflyChangeMapbyName “name” //切换到名字为name的地图
• RflyChangeViewKeyCmd “key num” // 模拟键盘快捷键Key+num(例如,B 1)
• RflyCameraPosAngAdd “x y z roll pitch yaw”// 增量改变视角位置姿态,单位米和度
• RflyCameraPosAng “x y z roll pitch yaw” //设定当前视角位置姿态,单位米和度
• RflyCameraFovDegrees “degrees” //改变当前视角的视场角,单位度
• RflyChange3DModel “CopterID veTypes” //改变CopterID号飞机的样式到veTypes
• RflyChangeVehicleSize “CopterID size” //改变CopterID号飞机的尺寸到size


2.4 RflySim3D软件配置与使用(RflySim3D software configuration and use)
2) RflySim3D/RflySimUE5快捷命令
• RflyMoveVehiclePosAng “CopterID isFitGround x y z roll pitch yaw” // 增量移动CopterID号飞机的位置和姿态(单位米和度),如果isFitGround设为1则飞机会始终贴地
• RflySetVehiclePosAng “CopterID isFitGround x y z roll pitch yaw” // 设置CopterID号飞机的位置和姿态(单位米和度),如果isFitGround设为1则飞机会始终贴地
• RflyScanTerrainH “xL yL xR yR H Interval” // 扫描地形数据得到png和txt的高程地形文件,用于导入CopterSim;地图左下角坐标为 xL yL,右上角坐标为 xR yR,扫描高度为H,扫描间隔为Interval,单位都是米。
• RflySetActuatorPWMs “CopterID pwm1 ... pwm8” //设置CopterID号飞机的前8位执行器
• RflySetActuatorPWMsExt “CopterID pwm9 ... pwm24”//设置CopterID号飞机的9到24位执行器数值。
• 注:上述指令也可通过UDP发送给RflySim3D,见Python接口mav.sendUE4Cmd()
• 注:除了上述RflySim平台指令,还能输入UE自带指令,例如r.setres等


2.5 QGroundControl(QGC)地面站的使用(Use of QGroundControl (QGC) ground stations)

• QGC地面站是针对PX4飞控开发的一款优秀的跨平台开源地面站软件,它提供全功能的飞行控制与任务规划功能,用户可以阅读如下网址来学习软件使用
https://docs.qgroundcontrol.com/master/en/index.html


2.6 SITL/HITLRun一键运行脚本(SITL/HITLRun runs the script in one click)

• “RflySimAPIs\SITLRun.bat”是一个开启多机软件在环仿真的批处理文件(对应桌面RflyTools文件夹中SITLRun快捷方式),双击它,输入想要生成的飞机数量,即可生成多机软件在环仿真,等待RflySim3D显示3DFixed 4/4,然后可通过QGC控制飞机起飞。

• 运行完毕后,在CMD黑色命令窗口中按下任意键,即可自动关闭所有程序。注:该批处理文件本质上是通过脚本方式配置CopterSim软件选项,可以用编辑器打开该文件,查看并根据需求修改其中的启动参数。
• 注1:RflySim免费体验版无法最多只能创建4个飞机,超过数量CopterSim会报错。
• 注2:“RflySimAPIs\SITLRunPos.bat”是开启多机软件在环,并可配置飞机位置和偏航角度信息(PoxX、PosY和Yaw的列表字符串,用逗号分隔)。


2.6 SITL/HITLRun一键运行脚本(SITL/HITLRun runs the script in one click)
• 点击SITLRunUE5.bat可打开基于UE5的RflySimUE5软件并进入采石场(Quarry)场景。注:UE5引擎仅限高级完整版。
• RflySimUE5与RflySim3D的使用方法完全相同,区别在于需要修改bat脚本中字符串“%PSP_PATH%\RflySim3D” 为“%PSP_PATH%\RflySimUE5”以启
用UE5版本引擎。其他bat脚本修改相同。


2.6 SITL/HITLRun一键运行脚本(SITL/HITLRun runs the script in one click)
• 可以鼠标右键用VS Code之类编辑器打开一键运行脚本,修改其中的启动参数,其中最关键的是CopterSim的启动命令,与CopterSim界面一一对一个如下图:

• start /high CopterSim.exe 参数0 参数1 参数2 … 参数11

• 参数0表示是否自动开启仿真,如果设为0则需要再手动点“开始仿真” 按钮。上述参数中对应下拉框的输入,可以是选项数字序号,也可以是字符串名称。例如参数5对应三维场景,可以设置为“1”或者设置为“Grasslands”来选择草地地图。参数6对应的IS_BROADCAST可以直接设置IP地址。下图展示了两个调用示例。

注意:可以使用start /high coptersim.exe的命令来提高coptersim在Windows下的优先级,得到更高的实时性;其中/high可改成/normal或/realtime,分别对应正常和最高优先级


• 用文本编辑器打开“RflySimAPIs\SITLRun.ba”(对应桌面SITLRun快捷方式)(Open RflySimAPIs\\ sitlrun.ba with a text editor)

• SET /a START_INDEX=1 #对应“参数1”,飞机起始ID
• SET /a UDP_START_PORT=20100 #对应“参数2”,UDP起始接收端口号
• SET DLLModel\=0 #对应“参数3”,是否用DLL模型,及选项序号
• SET SimMode\=2 #对应“参数4”,仿真模式,SITL选2,HITL选0
• SET UE4_MAP=Grasslands #对应“参数5”,三维场景地图,这里是Grassland
• SET IS_BROADCAST=0 #对应“参数6”,是否局域网广播数据
• SET /a ORIGIN_POS_X=0 #对应“参数7”,初始X位置,整数,单位m
• SET /a ORIGIN_POS_Y=0 #对应“参数8”,初始Y位置,整数,单位m
• SET /a ORIGIN_YAW=0 #对应“参数9”,初始yaw角度,整数单位度
• SET /a VEHICLE_INTERVAL=2 #如果开启多机,两飞机的间隔m(整数),单位m
• SET UDPSIMMODE=0 #对应“参数11”,UDP数据模式,选项序号
SET PX4SitlFrame=iris #软件在环时设置机架样式,这里是四旋翼


2.6 SITL/HITLRun一键运行脚本(SITL/HITLRun runs the script in one click)
• “RflySimAPIs\HITLRun.bat” 是开启多机硬件在环仿真的批处理文件,插入多个Pixhawk,再双击该批处理文件,根据提示输入想要参与仿真的Pixhawk串口号(逗号分隔),即可开启多机的硬件在环仿真(以输入串口顺序进行飞机ID排序)。

• 注:RflySim免费体验版最多开启4个飞机,因此输入串口序号不能超过4个。 • “HITLRunPos.bat”是开启多机硬件在环,并可配置飞机位置和偏航角度信息。
• “HITLRunCom.bat”是开启多机硬件在环,并以飞控内部SYS_ID(需要通过QGC在线修改)为标号自动配置CopterSim的飞机序号(每个Pixhawk都需要设置,不得有重名的SYS_ID),这样再大规模集群仿真时,不用担心串口混乱。

注意:RflySimAPIs\readme.txt中有更详细的bat脚本使用和修改方法。


2.7 手动软件在环仿真(SITL)

步骤:(Manual software in loop Simulation (SITL) steps)
• 打开CopterSim软件,并在其“仿真模式”选项选择标签“PX4_SITL”,同时检查其他配置,确保模型参数、地图、初始位置和偏航满足需求,再打开RflySim3D配置视景
• 点击CopterSim界面的“开始仿真”按钮,CopterSim开始进入等待PX4SITL数据状态
• 点击桌面RflyTools文件夹内的编译器快捷方式(例如,Win10WSL),在其中输入命令“make px4_sitl none”即可建立与CopterSim的软件在环仿真闭环,等待CopterSim左下角消息框提示“GPS 3D Fixed”完成初始化
• 打开QGroundControl(QGC)地面站软件,即可控制飞机自动起飞


2.8 一键开启多机SITL仿真(Enable SITL simulation for multiple machines with one key)

注意:可以在地面站上控制飞机依次起飞,来观察仿真现象,具体操作请看视频



2.9 Win10WSL编译器的使用(Win10WSL compiler use)

• 直接在开始菜单搜索ubuntu,可以打开WSL子系统窗口,它可以看作Ubuntu的虚拟机,在其中可以测试Linux的一些命令,并且学习Linux系统编程方法。
• 注意:Windows的路径盘符“C:”,在WSL中需要映射成“/mnt/c/”。例如,C:\PX4PSP的路径,在WSL中为“/mnt/c/PX4PSP”
• 另外,直接双击桌面“RflyTools/Win10WSL”可打开Ubuntu并跳转到PX4PSP\Firmware路径,在其中可以输入make px4_fmu-v5_default来测试固件编译


2.10 PPTs课件文件夹(PPTs courseware folder)

• “PX4PSP\PPTs”是本高级版平台的课件文件夹,其中包含了后续课程内容的详细学习方法。此外,https://doc.rflysim.com/ 是本平台的在线使用文档。
•“PX4PSP\RflySimAPIs\FlightControlExpCourse\PPT_CN”是基础版课程的PPT课件,包含了底层算法开发的详细实验课程。


2.11 RflySimAPIs例程文件夹(RflySimAPIs routines folder)

• 如下图是 “PX4PSP\RflySimAPIs”文件夹,包含了本平台所有的源码和例程来展示各种API接口的使用方法。


2.12 Python38Env环境的使用—VS Code编辑器安装(Use of the Python38Env environment - VS Code editor installation)

• 本课程的Python编辑器推荐使用VS Code(非必须,但是方便阅读源码和运行),安装步骤如下:

  1. 访问 https://code.visualstudio.com/Download 下载最新的VS code安装包(也可使用RflySimAPIs\PythonVisionAPI文件夹下的VSCodeUserSetup-x64-***.exe安装)
    2.安装时,选默认配置即可。需要注意右下图设置,方便直接打开Python文件。


    注意:除了VS Code也可以用Pycharm、Anaconda等其他IDE,但是在Python环境中需要安装以下组件:pyserial pymavlink pyulog opencv-python等组件


2.12 Python38Env环境的使用—VS Code编辑器安装(Use of the Python38Env environment - VS Code editor installation)
• 打开VS Code,如下图到扩展库界面,依次搜索并
安装插件“Chinese (Simplified) Language Pack”和 “Python”插件。使得VS Code支持中文和Python。

• 自动识别文件编码(解决中文乱码问题)。菜单栏: 文件 à 首选项 à 设置 à 搜索“autoguessencoding”,勾选启用自动猜测文件编码功能


2.12 Python38Env环境的使用—VS Code编辑器安装(Use of the Python38Env environment - VS Code editor installation)
• 用VS code打开“RflySimAPIs\Python38Scripts\ ImgCVShow.py”文件(或任意一个.py后缀文件)。
如右图所示,点击右下角的黄字“选择解释器”选项,在弹出的项目中点击“输入解释器路径”。如右下图,在弹出资源浏览窗口中,选择安装目录(默认C:\PX4PSP)下的Python38文件夹内的python.exe文件,点击“选择解析器”。
• 如果上述设置失败,也可以在Python扩展插件的设置页面,设定默认解释器路径


2.12 Python38Env环境的使用— VS Code Python程序运行(Python38Env using - VS Code Python program run)
• 用VS Code打开“RflySimAPIs\Python38Scripts\ImgCVShow.py”文件。
• 点击VS Code右上侧的三角箭头即可运行,VS Code界面下方弹出“TERMINAL”终端窗口可查看脚本运行情况,同时弹出右下所示一张图片,说明环境安装正常。


2.12 Python38Env环境的使用— VS Code Python程序强制关闭(Use of Python38Env - The VS Code Python program forces the shutdown)
• 如左图所示,点击右下侧的Python按钮旁的下三角箭头

展开显示所有终端窗口,在当前终端窗口条目(如下图中是1:Python)按下鼠标右键。如右图所示,在弹出菜单中点击“终止终端”,即可终止Python程序的运行。


2.12 Python38Env环境的使用— Python38Env环境(Use of Python38Env - Python38Env)
• 安装目录(默认是C:\PX4PSP)下的Python38文件夹包含了一个最新的Python运行环境,此环境已经包含了OpenCV、Pymavlink、pip等一系列工具,可以直接用于基础的无人机顶层控制算法的开发
• 本Python环境与Windows上安装的其他环境完全独立,不会影响其他Python环境或受它们的配置影响。
• 双击桌面“Python38Env”快捷方式或者双击“RflySimAPIs\Python38Env.bat”脚本,可以弹出下图终端窗口(已注册Python目录),可以调用Python环境


2.12 Python38Env环境的使用— Python38Env的使用(Use of Python38Env - Use of Python38Env)
• 本Python环境的根目录为“RflySimAPIs\Python38Scripts”,将.py结尾的Python脚本文件***.py拷贝到本文件夹中,再执行命令“python ***.py”即可运行脚本
• 例如:输入命令“python ImgCVShow.py”可以和前文VS Code的例子一样,运行python脚本并打开一幅图像。


2.12 Python38Env环境的使用— Python38Env环境ulog日志读取(Using Python38Env - Reading ulog logs in the Python38Env environment)
• 本Python环境已安装pyulog,可以用于解析PX4控制器的.ulg格式log日志并生成excel文件,可用于日志数据分析。
• 由于“RflySimAPIs\Python38Scripts”文件夹中已经存放了一个“log.ulg”文件,可以直接双击“RflySimAPIs\Python38Env.bat”来打开Python环境,并输入“ulog2csv log.ulg”,就可以得到日志文件
• 这些文件可以用Excel、MATLAB或其他统计分析软件打开来进行飞行数据分析。


2.12 Python38Env环境的使用— Python38Env功能扩展(Use of Python38Env - Python38Env extended functionality)
• 本Python环境已安装OpenCV、pymavlink、numpy、pyulog等模块库,并支持安装其他更多组件。
• 其他组件的安装可以用pip install *** 命令来安装
• 目前的Python常用库包括Scipy, Pillow, Matplotlib, Panda等。以安装Scipy为例,只需要双击“RflySimAPIs\Python38Env.bat”文件,在命令行中输入“pip install scipy”即可自动下载并完成安装
• 用户可以自行测试安装其他组件/库

注意:如果在线安装太慢(网络差或安装包体积大),可以去https://pypi.org/搜索并离线下载***.whl格式的安装包文件,将***.whl文件拷贝到“RflySimAPIs\Python38Scripts”目录,然后使用命令“pip install ***.whl” 来安装


results matching ""

    No results matching ""