参考了很多博客,PX4却始终无法编译成功。
主要是在 make px4_sitl_default困难重重,但各种各样的错误在网上没有可行的解决方案
记录一下,这次奇妙的安装之旅
1.先装一下ROS/Gazebo
wget https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim_ros_melodic.sh
bash ubuntu_sim_ros_melodic.sh
2.再克隆项目
git clone -b v1.12.3 https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot && git submodule update --init --recursive
mv PX4-Autopilot PX4_Firmware
git命令,指定了分支,这很重要(要不然用最新的,碰到的问题根本搜不到)
3.这个mv命令就很迷,实际上就是改了个名字。但是没这个我就成功不了,所以还是要用上
sudo bash ./PX4_Firmware/Tools/setup/ubuntu.sh
这一行用来配置PX4环境,配置完要重启电脑
4.Raspberry Pi
wget https://raw.githubusercontent.com/PX4/PX4-Autopilot/master/Tools/setup/ubuntu.sh
wget https://raw.githubusercontent.com/PX4/PX4-Autopilot/master/Tools/setup/requirements.txt
bash ubuntu.sh --no-nuttx --no-sim-tools
5.GCC
5.1电脑主机版
sudo apt-get install -y gcc-8-arm-linux-gnueabihf g++-8-arm-linux-gnueabihf
sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-8 100 --slave /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-8
sudo update-alternatives --config arm-linux-gnueabihf-gcc
5.2Jetson(ARM架构)
sudo apt-get install -y gcc-8-aarch64-linux-gnu g++-8-aarch64-linux-gnu
sudo update-alternatives --install /usr/bin/aarch64-linux-gnu-gcc aarch64-linux-gnu-gcc /usr/bin/aarch64-linux-gnu-gcc-8 100 --slave /usr/bin/aarch64-linux-gnu-g++ aarch64-linux-gnu-g++ /usr/bin/aarch64-linux-gnu-g++-8
sudo update-alternatives --config aarch64-linux-gnu-gcc
6.编译项目
cd PX4_Firmware
make px4_sitl_default gazebo
7.可能的问题
7.1可能的问题和解决指令:
Failed to import packaging: No module named 'packaging'//别的包的处理方法也一样
You may need to install it using:
pip3 install --user packaging
pip3 install --user packaging
sudo -H python3 -m pip install packaging
sudo pip install --ignore-installed packaging
packaging可以替换为: empy或toml
7.2可能的问题和解决指令:
如果是这个问题
AttributeError: module 'em' has no attribute 'Interpreter'
就执行下面的
sudo pip uninstall em
sudo -H pip install --ignore-installed empy
make px4_sitl_default gazebo
7.3其他问题:
如果make失败了
make clean
make distclean
make px4_sitl_default gazebo
PX4从放弃到精通(二):ubuntu18.04配置px4编译环境及mavros环境 - 知乎 参考这篇
官方手册这个位置可以更改教程的版本:
8. 日常启动和检验
启动
roslaunch px4 mavros_posix_sitl.launch
查看mavros连接情况
rostopic echo /mavros/state