打开一个终端执行下面的命令,让当前用户从属dialout用户组,防止以后的权限问题。
sudo usermod -a -G dialout $USER
这一步不会有输出结果,Linux下面没有结果就是最好的结果,所以没有输出不用担心。
然后重启电脑!!!
然后重启电脑!!!
先卸载掉干扰串口和USB的一个Ubuntu自带的包,一般这个包用不上,以后如果要用可以再下载。
sudo apt-get remove modemmanager
接下来就是安装PX4所依赖软件包了
sudo apt-get update -y
sudo apt-get install git zip qtcreator cmake \
build-essential genromfs ninja-build exiftool -y
which xxd || sudo apt install xxd -y || sudo apt-get install vim-common --no-install-recommends -y
sudo apt-get install python-argparse \
python-empy python-toml python-numpy python-yaml \
python-dev python-pip -y
sudo -H pip install --upgrade pip
sudo -H pip install pandas jinja2 pyserial cerberus
sudo -H pip install pyulog
首先下载
wget https://www.eprosima.com/index.php/component/ars/repository/eprosima-fast-rtps/eprosima-fast-rtps-1-7-1/eprosima_fastrtps-1-7-1-linux-tar-gz -O eprosima_fastrtps-1-7-1-linux.tar.gz
tar -xzf eprosima_fastrtps-1-7-1-linux.tar.gz eProsima_FastRTPS-1.7.1-Linux/
tar -xzf eprosima_fastrtps-1-7-1-linux.tar.gz requiredcomponents
tar -xzf requiredcomponents/eProsima_FastCDR-1.0.8-Linux.tar.gz
下载完成过后开始编译安装,这个过程根据个人电脑配置耗时可能比较长,耐心等待编译完成就OK。
(cd eProsima_FastCDR-1.0.8-Linux && ./configure --libdir=/usr/lib && make -j2 && sudo make install)
(cd eProsima_FastRTPS-1.7.1-Linux && ./configure --libdir=/usr/lib && make -j2 && sudo make install)
rm -rf requiredcomponents eprosima_fastrtps-1-7-1-linux.tar.gz
首先安装jMAVSim依赖
sudo apt-get install ant openjdk-8-jdk openjdk-8-jre -y
接下安装gazebo依赖,由于我们在安装ros的时候会自动安装上gazebo所以就不需要进行单独的安装gazebo了。
如果没有安装ros,则先安装Ubuntu对应版本的ros。
sudo apt-get install protobuf-compiler libeigen3-dev libopencv-dev -y
对于今后只进行仿真实验,不涉及到硬件飞控的上传,操作这一个模块如果出错了可以跳过,甚至这一部分都可以跳过。
安装一些软件依赖包
sudo apt-get install python-serial openocd \
flex bison libncurses5-dev autoconf texinfo \
libftdi-dev libtool zlib1g-dev -y
接下来,卸载掉老版本的交叉编译器,现在的固件需要使用新版本的编译器才可以编译成功
sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi gcc-arm-embedded
sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa
这一步出错出现无法定位软件包可以跳过
安装新的交叉编译器
pushd .
cd ~
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
exportline="export PATH=$HOME/gcc-arm-none-eabi-7-2017-q4-major/bin:\$PATH"
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
popd
然后重启电脑!!!
接下来验证是否安装成功
arm-none-eabi-gcc --version
如果输出下面的的内容代码安装成功
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 7-2017-q4-major) 7.2.1 20170904 (release) [ARM/embedded-7-branch revision 255204]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
经过上面的步骤我们就安装好了所有的依赖项,我们下面的下载代码。
首先我们新建一个文件夹用存放源码。
mkdir ~/px4_src
cd ~/px4_src
下面开始下载代码
git clone https://github.com/PX4/Firmware.git
接下来补全代码的子模块,防止编译的时候出一下意外的问题。
cd Firmware
git submodule update --init --recursive
首先编译jmavsim仿真验证。
cd ~/px4_src/Firmware
make px4_sitl jmavsim
如果没有什么问题会显示出下面的界面
终端输入下面的命令,飞机会起飞
commander takeoff
现在可以Ctrl/Command + C关掉继续进行下面的操作
输入下面的命令然后进行gazebo仿真的编译
cd ~/px4_src/Firmware
make px4_sitl gazebo
如果没有问题,gazebo正常打开,出现了一个小飞机,关掉过后可以进行下面的操作。
仿真验证到此介绍,如果不进行实物飞控的代码编译和上传下面的步骤可以跳过。
cd ~/px4_src/Firmware
make px4_fmu-v5
其中后面的v5是版本号根据自己的飞控,进行相关的修改。
v5对应Pixhawk4硬件。
以上的步骤经过本人在新装的Ubuntu 16.04系统中验证可以配置成功,如果中途出现错误,请检查网络连接,后再试。