ubuntu20.04+ROS Noetic 安装PX4+Mavros
系统环境ubuntu 20.04
ROS Noetic
如果系统安装了Anaconda等虚拟环境管理器,要退出虚拟环境的激活,再进行下列安装,以下的安装过程我们默认退出了Anaconda的虚拟环境
conda deactivate
安装依赖
sudo apt install ninja-build exiftool ninja-build protobuf-compiler libeigen3-dev genromfs xmlstarlet libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev python3-pip gawk
pip3 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml
pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse kconfiglib jsonschema future
#若报错输入这两行命令
pip install --upgrade setuptools
python -m pip install --upgrade pip
PX4 安装
以下命令,会默认安装最新的PX4固件版本
git clone https://github.com/PX4/PX4-Autopilot.git --recursive
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh
中间堕落的话,执行下列命令
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade Pillow
如果安装过程中有错误的话,可以再用下列命令进行安装
bash ./PX4-Autopilot/Tools/setup/ubuntu.sh --fix-missing
老版本安装
git clone https://github.com/PX4/PX4-Autopilot.git
git status # 查看当前分支,位于origin/main
git branch -r | grep "release" # 查看所有远程分支,带release的
进行分支切换
cd PX4-Autopilot
git checkout origin/release/1.12# 切换到发行分支v1.12
git submodule update --init --recursive # 更新子模块
git status # 查看当前分支,位于release/1.12
测试
安装完成,测试一下。这一步,第一次编译,需要一会功夫。
make px4_sitl_default gazebo
终端输入 commander takeoff ,可以看到无人机腾飞
终端输入 commander land , 可以看到无人机降落
make px4_sitl jmavsim //jmavsim 仿真环境
出现以下界面表示乐成
https://i-blog.csdnimg.cn/direct/f2241ed5cb67406abc9ded94631b6cdb.png
若出现以下错误
https://i-blog.csdnimg.cn/direct/8f7ffb89502442aea7bcbe7f54343a30.png
办理方法
安装 ant 和 java
sudo apt update
sudo apt install ant
sudo apt install openjdk-11-jdk
重新启动
# 清除所有生成的文件(包括配置生成的文件,比如有的工程中配置生成的Makefile文件)
make distclean
make px4_sitl jmavsim //jmavsim 仿真环境
\;
环境变量添加
添加环境变量(添加到~/.bashrc文件中)
source ~/PX4-Autopilot/Tools/simulation/gazebo-classic/setup_gazebo.bash ~/PX4-Autopilot ~/PX4-Autopilot/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4-Autopilot/Tools/simulation/gazebo-classic/sitl_gazebo-classic
要根据自己 PX4-Autopilot 文件夹地点的目录来
source ~/.bashrc
版本查看
cd ~/PX4-Autopilot/ # 根据自己文件夹所在目录来
git describe --tags
此命令将显示当前Git标签,通常是PX4的版本号。
安装MAVROS(二进制安装非源码安装)
二进制安装只能通过ROS调用mavros,无法查看mavros源码。主要我试了频频,无法通过源码安装上。
sudo apt-get install ros-noetic-mavros ros-noetic-mavros-extras
cd /opt/ros/noetic/lib/mavros
sudo -E ./install_geographiclib_datasets.sh
第二种方法
若上述最后一条命令执行不下来,可以自行下载需要的三个文件夹,然后上传到/usr/share/GeographicLib中
https://i-blog.csdnimg.cn/direct/cf539dc77d0448979c655758edf1fd09.png
1.GeographicLib geoids egm96-5 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/geoids-distrib/egm96-5.tar.bz2/download
2.GeographicLib gravity egm 96官网下载链接
https://sourceforge.net/projects/geographiclib/files/gravity-distrib/egm96.zip/download
3.GeographicLib magnetic emm2015 官网下载链接:
https://sourceforge.net/projects/geographiclib/files/magnetic-distrib/emm2015.zip/download
测试
roslaunch mavros px4.launch fcu_url:="udp://:14540@127.0.0.1:14557"
来测试mavros是否安装乐成,如果没有报错,那阐明安装乐成。
OGC 地面站安装
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
sudo apt install libqt5gui5 -y
sudo apt install libfuse2 -y
重启电脑,下载QGroundControl.AppImage
下载完成后,安装并运行
chmod +x ./QGroundControl.AppImage
./QGroundControl.AppImage(or double click)
测试mavros与sitl通讯
接下来我们测试MAVROS与SITL通讯是否正常,先打开QGC地面站,然后输入
roslaunch px4 mavros_posix_sitl.launch
rostopic echo /mavros/state
如果出现了connected: True,则表明通讯乐成。
https://i-blog.csdnimg.cn/direct/d7347258ea4e43af94502b93275953c8.png
输入以下命令
commander takeoff # 起飞
commander land # 降落
无人机将会腾飞和降落,并且mavros显示信息会发生厘革。
参考
PX4官网PX4安装指南
PX4官网MAVROS安装指南
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]