ubuntu20 安装px4、mavros、QGroundControl

一、安装PX4

jjm2是我的主文件夹名,可以根据自己的主文件夹名修改

  1. 下载PX4

git clone https://github.com/PX4/PX4-Autopilot.git --recursive

由于网速原因,我用的是别人已经下载好的压缩包。

百度网盘:

链接:https://pan.baidu.com/s/1hyqNEThiQxpxPqNntaHhnQ

提取码:wstc

里面有PX4-Autopilot压缩包,libawt_xawt.so,libjawt.so和已经下载好的QGroundControl.AppImage

  1. 运行bash

由于网速原因可能导致一些python安装包没装上,可以自己先提前安装

pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pymavlink
pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple cerberus
echo "export PATH=/home/主目录/.local/bin/:$PATH" >> ~/.bashrc

接着运行bash

bash ./PX4-Autopilot/Tools/setup/ubuntu.sh

运行完之后,请重启ubuntu

sudo reboot now
  1. 对PX4进行一下简单的测试(在PX4-Autopilot路径下执行)

首先安装一下ant,否则没法运行,同时因20.04的缺少动态库libawt_xawt.so无法被Java8给调用,我的解决办法是去18.04把18.04的相同路径下的动态库libawt_xawt.so移动到20.04的/usr/lib/jvm/java-11-openjdk-amd64/lib/路径中

sudo apt-get install ant
sudo apt install xmlstarlet
sudo pip3 install pyquaternion
sudo cp /home/jjm2/libawt_xawt.so /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so
sudo cp /home/jjm2/libjawt.so /usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so
sudo apt-get install gcc-arm-none-eabi
make px4_sitl jmavsim
make px4_fmu-v3_default

注意:如果此处使用的是虚拟机的话需要注意扩大分配的内存最小需分配4G

make px4_sitl gazebo之前,可以安装一下gazebo的 模型

git clone https://github.com/osrf/gazebo_models

然后把下载好的gazebo_models放到.gazebo里,重命名成model

echo "export SVGA_VGPU10=0" >> ~/.bashrc

重启一下

make px4_sitl gazebo
source ~/Work/PX4-Autopilot/Tools/setup_gazebo.bash ~/Work/PX4-Autopilot/ ~/Work/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Work/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/Work/PX4-Autopilot/Tools/sitl_gazebo
#这是我自己的路径,可以根据实际情况修改

二、安装MAVROS

mkdir -p catkin_ws/src
cd catkin_ws
catkin init
wstool init src

如果提示没有wstool,可以按照提示上的步骤安装

sudo apt-get install python3-catkin-tools python3-rosinstall-generator -y
#sudo apt-get install ros-melodic-mavros ros-melodic-mavros-extras
rosinstall_generator --rosdistro noetic mavlink | tee /tmp/mavros.rosinstall
rosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall
wstool merge -t src /tmp/mavros.rosinstall
wstool update -t src -j4
rosdepc update
rosdepc install --from-paths src --ignore-src -y

用rosdepc的时候,你得确保你用的是鱼香ROS的提供的ROS安装方法,否则是没有rosdepc的

sudo ./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
catkin build
source devel/setup.bash

三、安装QGroundControl

sudo usermod -a -G dialout $USER
sudo apt-get remove modemmanager -y
sudo apt install gstreamer1.0-plugins-bad gstreamer1.0-libav gstreamer1.0-gl -y

然后下载QGroundControl.AppImage.

下载完成后,进入到QGroundControl.AppImage相应的目录,修改QGroundControl.AppImage权限:

chmod +x ./QGroundControl.AppImage

然后双击QGroundControl.AppImage或者在终端切换到QGroundControl.AppImage目录后,输入以下命令即可打开地面站:

./QGroundControl.AppImage

四、测试

可以提前安装一些python包

sudo apt-get install python3-mpltoolkits.basemap
pip3 install px4tools
cd PX4-Autopilot/
make px4_sitl_default jmavsim
roslaunch mavros px4.launch fcu_url:="udp://:[email protected]:14557" 
cd /home/jjm2/PX4-Autopilot/integrationtests/python_src/px4_it/mavros
python3 mission_test.py MC_mission_box.plan

猜你喜欢

转载自blog.csdn.net/qq_58060770/article/details/128752651
今日推荐