这是一篇碎碎念,零零碎碎的记录了个人学习过程,写的挺乱,仅供本人记录学习历程和参考。
上章主要完成的目标: 安装PX4 并 成功运行出3D无人机界面JMAVSim。
本章主要完成的目标:成功克隆ArduPilot源码、实现JMAVSim与PX4-AutoPilot代码的连接,并进行了简单交互
准备阶段
>安装Dronekit,文件已存在。
>python已经升级为python3.8.0:
>安装所需依赖,安装完成
>克隆ArduPilot源码成功!(终于解决网络问题了)
>确定Pixhawk已经刷入ArduPilot固件,版本为FMU V3 3.6.7:
>我在桃宝上购买的Pixhawk:
使用配套的USB插到电脑上,并选择不要链接至Windows系统,要链接到虚拟机ubuntu环境中(我用的不是双系统,而是虚拟机),连接成功后,飞控会亮灯:
同时虚拟机也检测到此设备:
记得一定要连接到你想使用的环境中,这里我选择连接到虚拟机:
尝试连接dronekit和仿真JMAVSim,获取飞行数据
测试代码(我使用的Vs code,新建一个py文件):
# Import DroneKit-Python
from dronekit import connect, Command, LocationGlobal
from pymavlink import mavutil
import time, sys, argparse, math
# Connect to the Vehicle
print("Connecting")
connection_string = '127.0.0.1:14540' //端口号
vehicle = connect(connection_string, wait_ready=True)
# Display basic vehicle state
print(" Type: %s" % vehicle._vehicle_type)
print(" Armed: %s" % vehicle.armed)
print(" System status: %s" % vehicle.system_status.state)
print(" GPS: %s" % vehicle.gps_0)
print(" Alt: %s" % vehicle.location.global_relative_frame.alt)
>然后再启动JMAVSim,等待它与Vs code上的测试代码连接成功:
>连接成功后,会显示出当前无人机的状态:
>在JMAVSim命令飞机起飞后 ,在Vs code的终端又读取到新的飞行数据:
也可以用键盘控制飞机飞行,然后多次运行程序,这样就可以接收每一时刻的飞行状态数据了
目前遇到的问题:
>地面站mission planner 无法启动,Version: 1.3.68:
原因是我的笔记本带不动,最好使用台式机启动。
所以我打算将地面站换为QGC。后面再更新。