双清微电子
前言:PX4支持Pixhawk、pixracer、高通骁龙飞控板、树莓派、派诺特等硬件。PX4是构建在Nuttx实时操作系统上的。
第一步:安装Linux基础软件
第二步:下载源代码
第三步: 安装编译工具
第四步:安装python相关模块
第五步:编译Firmware
第六步:安装Qt 5.7.1(qmake)
第七步:编译qgroundcontrol
第八步:安装jmavsim仿真必需软件
第九步:SITL方式飞控仿真
第十步:HITL方式飞控仿真
声明:所有操作均在Ubuntu16.04中验证无误,硬件板子是Pixhawk v2版本。
第一步:安装Linux基础软件
权限设置: sudo usermod -a -G dialout $USER
删除管理代理:sudo apt remove modemmanager
sudo apt install vim ctags vtags -y //安装Linux下文本编译工具和源码浏览工具
使用ssh构造git远程服务器和本地电脑的通道
CTRL+ALT+T打开终端
ssh-keygen -t rsa -C “[email protected]”
Enter file in which to save the key(/home/cugiaosheng/.ssh/id_rsa): 直接回车
Enter passphrase (empty for no passphrase):直接回车
Enter passphrase again:直接回车
你将会看到以 RSAA 2048 和 SHA256未成的长方形图案。
cd ~/.ssh 你将会看到 id_rsa id_rsa.pub,
将id_rsa.pub中(ssh-rsa开头)拷贝到远程服务器的Settings(右上角下拉) -> SSh keys中 (code.aliyun.com ->最左栏Profile->ssh Keys)
第二步:下载源代码
PX4代码托管地点 https://github.com/PX4/Firmware
sudo apt install git git-core -y
git clone --recursive https://github.com/mavlink/qgroundcontrol.git
git clone --recursive https://github.com/PX4/Firmware.git
下载完成后, 运行git submodule init && git submodule update确保源代码完整 。
第三步: 安装编译工具
sudo apt install cmake gcc-arm-none-eabi -y
第四步:安装python相关模块
sudo apt install python-argparse python-empy python-jinja2 build-essential genromfs -y
sudo apt install python-pip -y
pip install pyserial
(
备注:如果是python 3.5,运行命令以下
sudo apt-get install python3-pip
pip3 install pyserial
)
双清微电子独家赞助
第五步:编译Firmware
sudo apt install ninja-build -y(忍者可加快再次编译速度)
cd Firmware
make px4fmu-v2_default
出现下面两行说明编译成功
[100%] Generating nuttx-px4fmu-v2-default.px4
[100%] Built target build/firmware_px4fmu-v2
编译完成。
下一步我们下载编译好的固件到飞控
插入飞控usb接口,执行命令sudo make px4fmu-v2_default upload就能完成下载。有时候插上飞控却没动作,可能是权限问题,需要设置udev权限。步骤如下:
sudo gedit /etc/udev/rules.d/10-px4.rules
加入以下内容
SUBSYSTEM==“usb”, ATTRS{idVendor}“26AC”, GROUP=“users”, MODE=“0666”
SUBSYSTEM"usb", ATTRS{idVendor}“0483”, GROUP=“users”, MODE=“0666”
SUBSYSTEM"usb", ATTRS{idVendor}“0403”, ATTRS{idProduct}“6001”, GROUP=“users”, MODE=“0666”
保存并关闭文件,
重新启动udev,sudo restart udev
重新插拔usb线,出现下面这句,意味着下载成功。
[100%] Built target upload
另外:如果出现下面错误
Board can accept larger flash images (2M bytes) than board config (1M bytes). Please use the correct board configuration to avoid lacking critical functionality.
意思是板子的flash不够大,不能接收镜像。你的板子很有可能是mRo Pixhawk, 执行以下命令解决问题:
make clean
make px4fmu-v3_default
make px4fmu-v3_default upload
第六步:安装Qt 5.7.1(qmake)
sudo chmod a+x qt-opensource-linux-x64-5.7.1.run //添加可执行权限
./qt-opensource-linux-x64-5.7.1.run -> 下一步 ->Skip -> 下一步
请指定将在其中安装Qt5.7.1的文件夹 设为/opt/Qt5.7.1
-> 下一步 -> I have read and agree to 选中 -> 安装
完成后,在/opt/Qt5.7.1/5.7/gcc_64/bin/中可以看到qmake。
添加qmake软连接到/usr/local/bin/
sudo ln -s /opt/Qt5.7.1/5.7/gcc_64/bin/qmake /usr/local/bin/qmake
./qmake --version可以看到qmake版本号
第七步:编译qgroundcontrol
安装编译qgroundcontrol所需支持模块
sudo apt install espeak libespeak-dev libudev-dev libsdl2-dev -y
安装视频流所需支持模块
sudo apt install gstreamer1.0* libgstreamer-plugins-base1.0-dev
cd qgroundcontrol
mkdir build
cd build
qmake …/qgroundcontrol.pro
(
如果没有单独设置环境, 采用下面命令~/Qt5.7.1/5.7/gcc_64/bin/qmake …/qgroundcontrol.pro
)
make
cd /home/cuigaosheng/src/qgroundcontrol/build/release
运行./QGroundcontrol
第八步:安装jmavsim仿真必需软件
//sudo add-apt-repository ppa:openjdk-r/ppa (可省略)
//sudo apt-get update (可省略)
sudo apt-get install ant protobuf-compiler libeigen3-dev libopencv-dev openjdk-8-jdk openjdk-8-jre clang-3.5 lldb-3.5 -y
第九步:SITL软件在环仿真]方式飞控仿真
通过jmavsim软件仿真飞控代码
1.关闭qgroundcontrol,确保串口可用。
2.打开终端,cd Firmware && make posix_sitl_default jmavsim 。
3.等待jmavsim右下角出现init mavlink, 打开qgroundcontrol。
第十步:HITL[硬件在环仿真]方式飞控仿真
通过jmavsim硬件仿真飞控代码
1.关闭qgroundcontrol,确保飞控串口可用。
2.打开终端,cd Firmware/Tools ,并运行命令 ./jmavsim_run.sh -q -d /dev/ttyACM0
3.等待jmavsim右下角出现init mavlink, 打开QGroundcontrol。
双清微电子独家赞助